aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@debian.org>2019-03-03 08:11:36 +0000
committerOndřej Surý <ondrej@debian.org>2019-03-03 08:11:36 +0000
commitb990b5177804a582e9a2c906856256683079591e (patch)
tree4ebe87b575c3cba15d8703df3dcf6e72ac079b92
parentf6e0751e15d1d96700aabffd9c18ee5e7952ffca (diff)
parent9335f1c457f6ce3602d9dc8c254ab4410f0691a9 (diff)
downloadbird-b990b5177804a582e9a2c906856256683079591e.tar.gz
Update upstream source from tag 'upstream/2.0.4'
Update to upstream version '2.0.4' with Debian dir 17420a5193627732a9def139a8bc2432c95564dd
-rw-r--r--.gitignore1
-rw-r--r--ChangeLog241
-rw-r--r--INSTALL5
-rw-r--r--NEWS8
-rw-r--r--conf/Makefile2
-rwxr-xr-xconfigure15
-rw-r--r--doc/bird.sgml15
-rw-r--r--doc/old/banner.tex44
-rw-r--r--doc/old/status.tex90
-rwxr-xr-xdoc/sgml2html6
-rwxr-xr-xdoc/sgml2latex6
-rwxr-xr-xdoc/sgml2txt6
-rw-r--r--doc/slides/Makefile19
-rw-r--r--doc/slides/logo.eps454
-rw-r--r--doc/slides/obr1.eps2539
-rw-r--r--doc/slides/obr2.eps1134
-rw-r--r--doc/slides/obr5.eps3072
-rw-r--r--doc/slides/slides.tex190
-rw-r--r--doc/slt2001/Makefile10
-rw-r--r--doc/slt2001/slt.tex275
-rw-r--r--lib/birdlib.h7
-rw-r--r--misc/Makefile7
-rwxr-xr-xmisc/bird.init97
-rw-r--r--misc/bird.spec55
-rwxr-xr-xmisc/cisco2list20
-rw-r--r--misc/docker/centos-6-amd64/Dockerfile11
-rw-r--r--misc/docker/centos-7-amd64/Dockerfile11
-rw-r--r--misc/docker/debian-7-amd64/Dockerfile12
-rw-r--r--misc/docker/debian-7-i386/Dockerfile12
-rw-r--r--misc/docker/debian-8-amd64/Dockerfile12
-rw-r--r--misc/docker/debian-8-i386/Dockerfile12
-rw-r--r--misc/docker/debian-9-amd64/Dockerfile12
-rw-r--r--misc/docker/debian-9-i386/Dockerfile12
-rw-r--r--misc/docker/debian-testing-amd64/Dockerfile12
-rw-r--r--misc/docker/debian-testing-i386/Dockerfile12
-rw-r--r--misc/docker/fedora-25-amd64/Dockerfile10
-rw-r--r--misc/docker/fedora-26-amd64/Dockerfile10
-rw-r--r--misc/docker/opensuse-42.3-amd64/Dockerfile11
-rw-r--r--misc/docker/ubuntu-14.04-amd64/Dockerfile12
-rw-r--r--misc/docker/ubuntu-16.04-amd64/Dockerfile12
-rw-r--r--misc/ips.c94
-rwxr-xr-xmisc/stats9
-rw-r--r--nest/proto.c8
-rw-r--r--nest/protocol.h1
-rw-r--r--nest/rt-fib.c47
-rw-r--r--nest/rt-table.c98
-rw-r--r--proto/bgp/bgp.c5
-rw-r--r--proto/bgp/bgp.h8
-rw-r--r--proto/ospf/config.Y3
-rw-r--r--proto/ospf/dbdes.c35
-rw-r--r--proto/ospf/lsack.c7
-rw-r--r--proto/ospf/lsalib.c100
-rw-r--r--proto/ospf/lsalib.h9
-rw-r--r--proto/ospf/lsreq.c2
-rw-r--r--proto/ospf/lsupd.c9
-rw-r--r--proto/ospf/neighbor.c10
-rw-r--r--proto/ospf/ospf.c40
-rw-r--r--proto/ospf/ospf.h95
-rw-r--r--proto/ospf/rt.c18
-rw-r--r--proto/ospf/topology.c62
-rw-r--r--proto/ospf/topology.h2
-rw-r--r--proto/perf/config.Y1
-rw-r--r--proto/perf/perf.c3
-rw-r--r--sysdep/config.h2
64 files changed, 736 insertions, 8423 deletions
diff --git a/.gitignore b/.gitignore
index 3b734f49..4dd0a568 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
/autom4te.cache/
-/doc/*.html
/obj/
/Makefile
/bird
diff --git a/ChangeLog b/ChangeLog
index 12252d12..969b6bf5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,244 @@
+commit b9deced219cfda2afe8604b24351ae10ac56f98b
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 26 18:19:35 2019 +0100
+
+ NEWS and version update
+
+commit 7c36eb3e8bd7d06f65dc7319d42b6abe782c5b89
+Author: Maria Matejka <mq@ucw.cz>
+Date: Fri Feb 22 12:41:51 2019 +0100
+
+ Conf: Switch for faster (and slightly bigger) lexer
+
+commit 93af78d2d29ce11e20d46f60cfe1d3ef68052e5c
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Fri Feb 22 02:16:39 2019 +0100
+
+ Nest: Do not compare rte.flags during rte_update()
+
+ Route flags are mosty internal state of rtable, they are not significant
+ to whether a route has changed. With the old code, all routes received as
+ a part of enhanced route refresh are always re-announced to other peers
+ due to change in REF_STALE.
+
+commit ae294cc2d02ec02cbea11c275b64e7637ba0ea68
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 19 18:30:28 2019 +0100
+
+ HTML are no longer generated in srcdir
+
+commit 900fda4411a5346f808a575101b1260b5f73fa93
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 19 18:20:07 2019 +0100
+
+ Doc: Detect SP/OpenSP automatically
+
+commit 3a8ca7abbcf6452fa56d0c1c6ddcf7d5bd6876ed
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 19 16:26:09 2019 +0100
+
+ Nest: Prevent withdraws from propagation back to source protocol (for accepted mode)
+
+ Update for one of previous patches, handles the the issue for
+ first-accepted mode of route propagation.
+
+commit bf8d7bba9ef3c6d95661f97dc71fa7a6b2cf0b87
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sun Feb 17 01:54:01 2019 +0100
+
+ OSPF: Reset LSAs during area type change
+
+ When area is reconfigured to a different type, we need to flush LSAs as
+ they may not be valid (e.g. NSSA-LSA for non-NSSA area). Also, when we
+ have have just one OSPF area and that changes type, we could restart OSPF
+ as there is no state to keep anyway. That solves issue with different
+ handling of external routes exported to OSPF based of main area type.
+
+commit 4a3f5b36173299d44e26dc18db4e5d103875f8c4
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Wed Feb 13 15:40:22 2019 +0100
+
+ OSPF: Basic support for DN-bit handling (RFC 4576)
+
+ External LSAs originated by OSPF routers with VPN-PE behavior enabled are
+ marked by DN flag and they are ignored by other OSPF routers with VPN-PE
+ enabled.
+
+commit 1e958e52d3ef0c38e5fb5e673bcce95d1c28ac0e
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Feb 9 16:15:01 2019 +0100
+
+ OSPF: Do not originate Router-Information LSA
+
+ As we do not have much usage for it yet.
+
+commit cd16538fc91778e31f8241f62ee47056f099c051
+Merge: 6e8fb668 f9b97f1c
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Feb 9 15:53:16 2019 +0100
+
+ Merge remote-tracking branch 'origin/mq-opt'
+
+commit 6e8fb66859a17b295cd9246264221a75cdbe6c55
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 5 19:00:43 2019 +0100
+
+ Nest: Improve export counter handling
+
+ One of previous workarounds for phantom route avoidance breaks export
+ counters by expanding sending of spurious withdraws, which are send when
+ we are not sure whether we have advertised that routes in the past.
+ If not, then export counter is decreased, but it was not increased
+ before, so it overflows under zero.
+
+ The patch fixes that by sendung spurious withdraws, but not counting them
+ on export counter. That may lead to error in the other direction, but that
+ happens only as a race condition (i.e., in normal operation filters
+ return proper values about old route export state).
+
+commit 52fdd1cb76be1e278799001fa57f56888062dd86
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Tue Feb 5 15:59:26 2019 +0100
+
+ Nest: Report preferred counters also when 'import keep filtered' is enabled
+
+ Thanks to Michal Nowak for reporting the issue.
+
+commit a9b97cbcb74d918f3f606eb87a506712dccd2832
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sun Feb 3 20:22:40 2019 +0100
+
+ OSPF: Send direct acknowledgements as unicast
+
+ Direct acknowledgements should be send as unicast to a corresponding
+ neighbor. Only delayed acks should be send as multicast to all/designated
+ routers.
+
+commit 16605f2fdad730b8bb570e17192dc5f45cf15d3f
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sun Feb 3 17:31:27 2019 +0100
+
+ OSPF: Reject duplicate DBDES packets after dead interval
+
+ Master may free last DBDES packet immediately. Slave must wait dead
+ interval before freeing last DBDES packet and then reject duplicate
+ DBDES packets with SeqNumberMismatch.
+
+commit 9c94583a3ded3b2792bd08d88beb10100a82d7b4
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sun Feb 3 16:20:37 2019 +0100
+
+ OSPF: DD seqnum should be initialized only for first attempts
+
+ After SeqNumberMismatch/BadLSReq, we should continue with the old
+ seqnum++. The old code tries to do that by n->adj, but it was set
+ nowhere.
+
+commit 267da8138d7f429941f2d829b44cf9bdd94a14d6
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sun Feb 3 15:45:43 2019 +0100
+
+ OSPF: Reject DBDES packets with non-matching MTU
+
+ As it is specified in RFC 2328. The old code just provided warning.
+
+commit e1c275d87b26f35c29ec8bfab0a3265810463574
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Feb 2 13:28:16 2019 +0100
+
+ Nest: Reestablish preferred counters
+
+commit f9b97f1c6282be398d2c2bb896dbb453f638f720
+Author: Maria Matejka <mq@ucw.cz>
+Date: Fri Feb 1 14:09:01 2019 +0100
+
+ Perf: Added forgotten all-protocol options
+
+commit a8d0f2516c1ee0372edfc607832ae78632e404ca
+Author: Maria Matejka <mq@ucw.cz>
+Date: Tue Jan 29 15:19:06 2019 +0100
+
+ Nest: FIB rehash values tweaked for better performance
+
+commit e85e37d91d0c5fca6cb7a3ea80fac582074c389d
+Author: Maria Matejka <mq@ucw.cz>
+Date: Tue Jan 29 14:22:55 2019 +0100
+
+ Perf: Prune the table after every loop to have clean state.
+
+commit 7411b694c3ca9db4947f577f826b622ff23e570d
+Author: Maria Matejka <mq@ucw.cz>
+Date: Thu Jan 31 15:03:43 2019 +0100
+
+ Perf: Write also BIRD version to have all the needed data in the logfile
+
+commit c65a9a05f9005d8b7369d07a3f0e99b2f205955b
+Author: Maria Matejka <mq@ucw.cz>
+Date: Thu Jan 31 15:02:15 2019 +0100
+
+ Nest: Don't lookup net in table before filters are run.
+
+ Using dummy net instead. This should help with performance on rejected
+ routes.
+
+commit e84c81b76ff6af88041b55c4ed25c208f78d4826
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Wed Jan 30 17:25:21 2019 +0100
+
+ Nest: Prevent withdraws from propagation back to source protocol
+
+ The earlier fix loosen conditions for not running filters on old
+ route when deciding about route propagation to a protocol to avoid
+ issues with ghost routes in some race conditions.
+
+ Unfortunately, the fix also caused back-propagation of withdraws. For
+ regular updates, back-propagation is prevented in import_control hooks,
+ but these are not called on withdraws. For them, import_control hooks
+ are called on old routes instead, changing (old, NULL) notification
+ to (NULL, NULL), which is ignored. By not calling export processing
+ in some cases, the withdraw is not ignored and is back-propagated.
+
+ This patch fixes that by contract conditions so the earlier fix is not
+ applied to back-propagated updates.
+
+commit ee95f281f038684a4a2613a0c54af7389afe64da
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Jan 26 21:02:35 2019 +0100
+
+ Doc: Add documentation for OSPF retransmit delay option
+
+ Thanks to Igor Podlesny for notification.
+
+commit 1c730ee761b3c9b7ff12a0ad11c5b1768d1e4ada
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Jan 26 20:44:37 2019 +0100
+
+ Doc: Remove doc for already removed option
+
+commit b8a3608aa59a67364f05dbd0d0332371a200f226
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Sat Jan 26 19:48:16 2019 +0100
+
+ BGP: Cleanup channels when going down
+
+ When going up, uncleaned old channel state may trigger unexpected
+ conditions crashing bird.
+
+commit 5a50a98980a3554b66cedda6992ece4063a0e85a
+Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
+Date: Thu Jan 24 22:34:33 2019 +0100
+
+ OSPF: Opaque LSAs and Router Information LSA
+
+ Add support for OSPFv2 Opaque LSAs (RFC 5250) and for Router Information
+ LSA (RFC 7770). The second part is here mainly for testing opaque LSAs.
+
+commit 954888859969587a288501b6801ab0ddb1f94133
+Author: Jan Maria Matejka <mq@ucw.cz>
+Date: Fri Dec 14 16:10:19 2018 +0100
+
+ Nest: Don't make tmp_attr before preexport is called
+
commit 3e60932a289e55e212dec1cbaf3bca44b2bbaeb8
Author: Ondrej Zajicek (work) <santiago@crfreenet.org>
Date: Sat Jan 5 00:38:37 2019 +0100
diff --git a/INSTALL b/INSTALL
index 7bb8ded9..7a179284 100644
--- a/INSTALL
+++ b/INSTALL
@@ -41,8 +41,3 @@ For compiling BIRD documentation you also need:
- Linuxdoc-Tools
- LaTeX
-
-Note that build scripts for BIRD documentation expects 'nsgmls' from
-James Clark's SP suite, while modern distributions use 'onsgmls' from
-OpenSP suite. It is possible to build BIRD documentation with OpenSP
-tools, but it requires manually tweaking paths in doc/sgml2* scripts.
diff --git a/NEWS b/NEWS
index 5bfa4860..dbde0cf4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+Version 2.0.4 (2019-02-27)
+ o OSPF: Opaque LSAs (RFC 5250)
+ o OSPF: DN-bit handling (RFC 4576)
+ o Preferred route counters are back
+ o Important BGP bugfix
+ o Several bugfixes related to route propagation
+ o some minor bugfixes
+
Version 2.0.3 (2019-01-05)
o MRT table dumps (RFC 6396)
o BGP Long-lived graceful restart
diff --git a/conf/Makefile b/conf/Makefile
index 39628bff..984624b4 100644
--- a/conf/Makefile
+++ b/conf/Makefile
@@ -23,7 +23,7 @@ $(o)cf-parse.tab.c: $(o)cf-parse.y
$(BISON) $(BISON_DEBUG) $(BISONFLAGS) -dv -pcf_ -b $(@:.tab.c=) $<
$(o)cf-lex.c: $(s)cf-lex.l
- $(FLEX) $(FLEX_DEBUG) -s -B -8 -Pcf_ -o$@ $<
+ $(FLEX) $(FLEX_DEBUG) -f -s -B -8 -Pcf_ -o$@ $<
$(o)cf-lex.o: $(o)cf-parse.tab.h $(o)keywords.h
$(o)cf-lex.o: CFLAGS+=-Wno-sign-compare -Wno-unused-function
diff --git a/configure b/configure
index 1ba8bc7e..10981f46 100755
--- a/configure
+++ b/configure
@@ -654,6 +654,7 @@ CFLAGS
CC
CONTROL_SOCKET
CONFIG_FILE
+runstatedir
srcdir
exedir
objdir
@@ -679,7 +680,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -763,7 +763,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1016,15 +1015,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1162,7 +1152,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1315,7 +1305,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
diff --git a/doc/bird.sgml b/doc/bird.sgml
index b3ac38b0..e531da40 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -3491,6 +3491,11 @@ protocol ospf [v2|v3] &lt;name&gt; {
Specifies interval in seconds between retransmissions of unacknowledged
updates. Default value is 5.
+ <tag><label id="ospf-transmit-delay">transmit delay <M>num</M></tag>
+ Specifies estimated transmission delay of link state updates send over
+ the interface. The value is added to LSA age of LSAs propagated through
+ it. Default value is 1.
+
<tag><label id="ospf-priority">priority <M>num</M></tag>
On every multiple access network (e.g., the Ethernet) Designated Router
and Backup Designated router are elected. These routers have some special
@@ -3511,16 +3516,6 @@ protocol ospf [v2|v3] &lt;name&gt; {
<m/dead/ seconds, it will consider the neighbor down. If both directives
<cf/dead count/ and <cf/dead/ are used, <cf/dead/ has precedence.
- <tag><label id="ospf-secondary">secondary <M>switch</M></tag>
- On BSD systems, older versions of BIRD supported OSPFv2 only for the
- primary IP address of an interface, other IP ranges on the interface
- were handled as stub networks. Since v1.4.1, regular operation on
- secondary IP addresses is supported, but disabled by default for
- compatibility. This option allows to enable it. The option is a
- transitional measure, will be removed in the next major release as the
- behavior will be changed. On Linux systems, the option is irrelevant, as
- operation on non-primary addresses is already the regular behavior.
-
<tag><label id="ospf-rx-buffer">rx buffer <M>num</M></tag>
This option allows to specify the size of buffers used for packet
processing. The buffer size should be bigger than maximal size of any
diff --git a/doc/old/banner.tex b/doc/old/banner.tex
deleted file mode 100644
index e1170562..00000000
--- a/doc/old/banner.tex
+++ /dev/null
@@ -1,44 +0,0 @@
-\input mjmac
-
-\language=\czech
-\chyph
-\nopagenumbers
-
-\centerline{\Big Projekt BIRD}
-\bigskip
-\centerline{\Big\ss (Basic Internet Routing Daemon)}
-
-\vskip 1in
-
-\large\fixfont
-
-\parindent=0pt
-
-\halign{\quad \hfil # & \quad # \hfil \cr
-Vedoucí projektu: & RNDr. Libor Forst \cr
-\noalign{\medskip}
-Úèastníci: & Leo¹ Bitto \cr
- & Ondøej Filip \cr
- & Pavel Machek \cr
- & Martin Mare¹ \cr
- & {\I (tímto je projekt obsazen)} \cr
-\noalign{\medskip}
-Cíl projektu: & \vtop{\hsize=0.6\hsize
- Cílem projektu je vyvinout kompletní podporu dynamického routingu
-Internetovských protokolù (IP a IPv6) pro operaèní systémy kompatibilní
-s~UNIXem, zejména pak pro Linux. Základní rysy programu:
-\itemize\ibull
-\:Podpora pou¾ití obou verzí IP souèasnì na~té¾e síti.
-\:Komunikace s~okolními routery prostøednictvím protokolù RIPv2, OSPFv2 a BGP4.
-\:Filtrace routovacích tabulek.
-\:Mo¾nost re-exportu informací získaných jedním protokolem do~protokolù
- jiných.
-\:Vyu¾ití vymo¾eností Linuxového jádra (vícenásobné routovací tabulky,
- netlink apod.).
-\:Dynamická rekonfigurovatelnost za bìhu.
-\:TOS-based routing.
-\endlist
-}\cr
-}
-
-\bye
diff --git a/doc/old/status.tex b/doc/old/status.tex
deleted file mode 100644
index cd7ce897..00000000
--- a/doc/old/status.tex
+++ /dev/null
@@ -1,90 +0,0 @@
-\input mjmac
-
-\hsize=7truein
-\vsize=9.5truein
-\language=\czech
-\chyph
-
-\centerline{\Big Projekt BIRD}
-\bigskip
-\centerline{\Big\ss (Basic Internet Routing Daemon)}
-\bigskip
-\centerline{\large\it zpráva o~stavu projektu ke~dni 10. 11. 1999}
-
-\vskip 0.5in
-
-\leftline{\Large Obsazení}
-
-\noindent\halign{\quad \hfil # & \quad # \hfil \cr
-Vedoucí projektu: & RNDr. Libor Forst \cr
-\noalign{\medskip}
-Úèastníci: & Ondøej Filip \cr
- & Pavel Machek \cr
- & Martin Mare¹ \cr
-}
-
-\bigskip
-\leftline{\Large Specifikace}
-
- Cílem projektu je vyvinout program umo¾òující dynamický routing
-internetovských protokolù (IPv4 a IPv6) pro operaèní systémy kompatibilní
-s~UNIXem (zejména pak pro Linux). Tento program komunikuje s~ostatními
-routery v~síti (respektive její èásti, na ní¾ se dynamický routing vztahuje)
-prostøednictvím standardních protokolù (RIPv2, OSPFv2, BGP4), vymìòuje si
-s~nimi informace o~topologii sítì a jejích dynamických zmìnách a podle takto
-zji¹tìné topologie nastavuje routovací tabulky jádra OS.
-
- Program dále zaji¹»uje distribuci routovacích informací mezi jednotlivými
-(jinak na sobì nazávislými) protokoly, pøièem¾ tyto informace umo¾òuje
-filtrovat podle pravidel specifikovaných v~jednoduchém programovacím
-jazyku, èím¾ lze mimo jiné realizovat policy-based routing, který
-je jinak dostupný pouze v~drahých komerèních routerech.
-
- Projekt si rovnì¾ klade za cíl vyu¾ít nejnovìj¹ích vymo¾eností
-moderních UNIXových OS, jako jsou vícenásobné routovací tabulky, netlink
-apod.
-
- Router bude mo¾no za bìhu ovládat prostøednictvím øídících pøíkazù
-pøedávaných po lokálním socketu. To zahrnuje výpis stavových informací
-celého systému (routovacích tabulek, topologických map protokolu OSPF,
-atributových tabulek BGP a jiných údajù nezbytných pro správce sítì)
-a zejména zmìnu konfigurace bez nutnosti restartu protokolù zmìnami
-nedotèených.
-
-\medskip
-
-\leftline{\Large Stav projektu}
-
- Po ztrátì jednoho z~èlenù týmu pokraèuje vývoj ponìkud pomalej¹ím
-tempem ne¾ se pùvodnì oèekávalo, nicménì zadání projektu hodláme splnit
-v~celém rozsahu a projekt bìhem tohoto ¹kolního roku dokonèit. V~souèasné
-dobì chybí zejména dokumentace (její nynìj¹í podoba se omezuje výhradnì
-na~bohaté komentáøe ve~zdrojových textech) a podpora protokolu BGP.
-
-\medskip
-
-\noindent Stav jednotlivých èástí projektu:
-
-\medskip
-
-\halign{# \hfil & \qquad \hfil#\cr
-Building system & 100\% \cr
-Jádro routeru & 90\% \cr
-Správa datových struktur & 80\% \cr
-Podpora IPv4 & 100\% \cr
-Podpora IPv6 & 70\% \cr
-Interface na Linux 2.0 & 100\% \cr
-Interface na Linux 2.2 & 100\% \cr
-Interface na FreeBSD & 20\% \cr
-Protokol RIP & 90\% \cr
-Protokol OSPF pro IPv4 & 40\% \cr
-Protokol OSPF pro IPv6 & 10\% \cr
-Protokol BGP & 0\% \cr
-Interpreter filtrù & 70\% \cr
-Parser konfigurace & 70\% \cr
-Dálkové ovládání & 20\% \cr
-Dokumentace & 0\% \cr
-Online help & 0\% \cr
-}
-
-\bye
diff --git a/doc/sgml2html b/doc/sgml2html
index 170fcb46..ea8e8c92 100755
--- a/doc/sgml2html
+++ b/doc/sgml2html
@@ -28,12 +28,16 @@ use lib "/usr/perl5";
use lib "/usr/lib/perl5";
use lib "/usr/share/perl5";
$progs = {
- "NSGMLS" => "/usr/bin/onsgmls",
+ "NSGMLS" => "/usr/bin/nsgmls",
"SGMLSASP" => "/usr/bin/sgmlsasp",
"GROFF" => "/usr/bin/groff",
"GROFFMACRO" => "-ms",
"AWK" => "/usr/share/linuxdoc-tools/awkwhich"
};
+
+if (! -x $progs->{"NSGMLS"})
+ { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
+
$ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
(defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
diff --git a/doc/sgml2latex b/doc/sgml2latex
index ba10208d..79c6df03 100755
--- a/doc/sgml2latex
+++ b/doc/sgml2latex
@@ -28,12 +28,16 @@ use lib "/usr/perl5";
use lib "/usr/lib/perl5";
use lib "/usr/share/perl5";
$progs = {
- "NSGMLS" => "/usr/bin/onsgmls",
+ "NSGMLS" => "/usr/bin/nsgmls",
"SGMLSASP" => "/usr/bin/sgmlsasp",
"GROFF" => "/usr/bin/groff",
"GROFFMACRO" => "-ms",
"AWK" => "/usr/share/linuxdoc-tools/awkwhich"
};
+
+if (! -x $progs->{"NSGMLS"})
+ { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
+
$ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
(defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
diff --git a/doc/sgml2txt b/doc/sgml2txt
index b43bd81a..013479fe 100755
--- a/doc/sgml2txt
+++ b/doc/sgml2txt
@@ -28,12 +28,16 @@ use lib "/usr/perl5";
use lib "/usr/lib/perl5";
use lib "/usr/share/perl5";
$progs = {
- "NSGMLS" => "/usr/bin/onsgmls",
+ "NSGMLS" => "/usr/bin/nsgmls",
"SGMLSASP" => "/usr/bin/sgmlsasp",
"GROFF" => "/usr/bin/groff",
"GROFFMACRO" => "-ms",
"AWK" => "/usr/share/linuxdoc-tools/awkwhich"
};
+
+if (! -x $progs->{"NSGMLS"})
+ { $progs->{"NSGMLS"} = "/usr/bin/onsgmls"; }
+
$ENV{"SGML_CATALOG_FILES"} = "$DataDir/dtd/catalog" .
(defined $ENV{SGML_CATALOG_FILES} ? ":$ENV{SGML_CATALOG_FILES}" : "");
diff --git a/doc/slides/Makefile b/doc/slides/Makefile
deleted file mode 100644
index 52bb360c..00000000
--- a/doc/slides/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-all: slides.dvi
-
-slides.dvi: slides.tex
- csplain slides.tex
-
-slides.ps: slides.dvi
- dvips -o slides.ps -D600 -ta4 slides.dvi
-
-view: slides.dvi
- xdvi -expert -geometry 1100x700 -l -s 4 -paper a4 -margins 1in slides.dvi
-
-viewlarge: slides.dvi
- xdvi -expert -geometry 1024x700 -l -s 1 -paper a4 -margins 1in slides.dvi
-
-viewreal: slides.dvi
- xdvi -expert -geometry 1024x700 -l -s 6 -paper a4 -margins 1in slides.dvi
-
-clean:
- rm -f *~ *.log *.tfm *.*pk *.*gf *.ps *.dvi
diff --git a/doc/slides/logo.eps b/doc/slides/logo.eps
deleted file mode 100644
index 587a4145..00000000
--- a/doc/slides/logo.eps
+++ /dev/null
@@ -1,454 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 16 477 580 811
-%%Creator: CorelDRAW 8
-%%Title: C:\Dokumenty\bird\333333.eps
-%%CreationDate: Sun Jun 25 11:14:25 2000
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness false def
-/AutoSteps 0 def
-/CMYKMarks true def
-/UseLevel 1 def
-%Color profile: PROFILES.CCM - Obecný profil tiskárny CMYK
-%%BeginResource: procset wCorel8Dict 8.0 0
-/wCorel8Dict 300 dict def wCorel8Dict begin
-% Copyright (c)1992-97 Corel Corporation
-% All rights reserved. v8.0 r0.7
-/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat}
-bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld
-/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{}
-bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF
-false def/$Scra 0 def/SetScr/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index
-0 eq{$dsf 3 1 roll 4 -1 roll pop}if exch $Scra add exch load SetScr}bd
-/SepMode_5 where{pop}{/SepMode_5 0 def}ifelse/CurrentInkName_5 where{pop}
-{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def}
-ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0
-def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false
-def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def
-/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd
-/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def
-/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
-/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
-exec}if systemdict/CorelLexDict known{1 systemdict/CorelLexDict get exec}if}bd
-/@EndSysCorelDict{systemdict/Corel30Dict known{end}if/EndCorelLexDict where
-{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
-@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
-bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
-/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp}bd
-/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch dup
-mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch dup
-mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
-/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
-/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
-/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
-exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
-4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
-/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
-/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
-systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
-/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
-GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
-cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
-ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
-/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
-/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
-/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
-4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
-gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
-ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
-astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
-SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
-ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
-/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
-setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
-0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
-/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
-ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
-get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
-255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
-getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
-index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
-$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
-roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
-}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE systemdict
-/image get def/image{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE}
-{dup type/dicttype eq{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent
-get 8 eq exch/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray
-eq and{CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get
-abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5
-(Black)eq{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE}
-ifelse}ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/@sft
-{$tllx $pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt
-{$phei add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{
-cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if
-$phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add
-$llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg
-0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1
-roll 3 index sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop
-}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid
-sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3
-copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup
-$pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}
-ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/$fm
-0 def/wfill{1 $fm eq{fill}{eofill}ifelse}bd/wclip{1 $fm eq{clip}{eoclip}ifelse
-}bd/@pf{@gs $ctm setmatrix $pm concat @stb wclip @sv Bburx Bbury $pm itransform
-/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd newpath $tllx
-$tlly m $tllx $tury l $turx $tury l $turx $tlly l $tllx $tlly m @cp pathbbox
-@rs/$tury xd/$turx xd/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei $tury
-$tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{wfill}if}{$t $c $m $y $k $n $o
-@scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1 false[8
-0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt $hei 0 gt
-and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd
-$wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add/$tly xd $psx
-0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@Pf{@sv SepMode_5 0 eq $Psc 0
-ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm
-setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch
-itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch
-itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec
-}{1 SetGry wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp
-@ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc_5
-{wfill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}
-bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if
-$T $C $M $Y $K $N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix}
-{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}
-bd/b{@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat
-readhexstring pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd
-/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true
-def}{@gs $t $c $m $y $k $n $o @scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd
-/$pyf xd/$pxf xd/$pn xd}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd
-}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3
-index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii 6 index 1 ne
-{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg
-false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd
-/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi
-string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub
-$ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts
-1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load
-$bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop}
-repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd
-/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div
-ceiling cvi string def $ngx $llx $lly Tl $urx $llx sub $ury $lly sub scale $wid
-$hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load false $ncl
-ColorImage $SDF{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/COMP 0 def
-/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx
-xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling
-cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
-ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
-dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
-$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
-ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
-/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP
-2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa
-$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury
-xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul
-$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq
-{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub
-$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1
-def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1
-eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def
-/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource
-currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{
-/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def
-MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict
-ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF
-{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid
-xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def
-/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def
-/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0]
-def end}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq
-{/$ink_5 -1 def}{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5
-(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{
-CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}
-ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l 72000 dup l 72000 -72000
-l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec
-cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def}
-bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}
-ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type
-/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq MaskedImage true eq and
-{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq UseLevel 3 eq or and{7 -2
-roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I}
-ifelse}ifelse}ifelse}bd systemdict/pdfmark known not{/pdfmark/cleartomark ld}
-if
-/z{exch findfont exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll
-/FontType 3 def/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{
-Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}
-put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup
-/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop
-setcachedevice begin Encoding exch get CharStrings exch get end exec}def end
-definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3
-1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup
-maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}
-ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch
-put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type
-eq{exch pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict
-dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3
-index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3
--1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop
-}bd/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true
-charpath $ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch m}
-forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq
-{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld
-@ftx}{$t $c $m $y $k $n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse $sdf
-{$dsf $dsa $dsp @ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF
-$SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1
-roll 0 exch put dup @gs true charpath $ctm setmatrix $ptm concat stroke @gr @np
-stringwidth pop 3 -1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp
-@ss}if setmatrix}bd/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup
-@gs @st @gr @ft}bd/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}
-def}bd/a{/t{@ta}def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm
-matrix def}bd/ddt{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat
-ddt $stm setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd
-end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel8Dict begin
-@BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 256 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
-@sv
-@sm
-@sv
-%%EndPageSetup
-@rax %Note: Object
-29.85335 518.65002 561.80353 728.45660 @E
- 0 O 0 @g
-0.00 0.00 0.00 0.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 5.66929 5.66929 0.00000 @w
-/$fm 0 def
-295.82872 728.45660 m
-442.32265 728.45660 561.80353 681.33146 561.80353 623.55345 c
-561.80353 565.77458 442.32265 518.65002 295.82872 518.65002 c
-149.33424 518.65002 29.85335 565.77458 29.85335 623.55345 c
-29.85335 681.33146 149.33424 728.45660 295.82872 728.45660 c
-@c
-B
-
-@rax 82.51002 578.66967 509.14658 668.43666 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 82.51001273 578.66964812] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Swis721BlkExBT 437905.00000 z
-%CHAR: 0 0 (B) @t
-157208 78896 m
-243986 78896 l
-263911 78896 276829 80720 282741 84443 c
-288652 88165 291645 94879 291645 104586 c
-291645 114512 288579 121446 282449 125168 c
-276318 128963 263473 130861 243986 130861 c
-157208 130861 L
-157208 78896 L
-@c
-157208 242234 m
-157208 197568 L
-239461 197568 l
-257269 197568 268801 199174 274129 202385 c
-279383 205596 282011 211362 282011 219828 c
-282011 228367 279602 234206 274712 237417 c
-269895 240629 258145 242234 239461 242234 c
-157208 242234 L
-@c
-289090 316240 m
-333246 316240 364556 310183 382875 297994 c
-401194 285806 410317 265589 410317 237345 c
-410317 221799 406741 208224 399661 196473 c
-392509 184796 381999 175308 368205 168083 C
-386451 162244 400172 152683 409441 139546 c
-418710 126336 423381 109914 423381 90208 c
-423381 60139 413528 37587 393896 22552 c
-374190 7517 344631 0 305147 0 c
-34667 0 L
-34667 316240 L
-289090 316240 l
-@c
-F
-%CHAR: 440970 0 (I) @t
-475637 0 m
-475637 316240 L
-598178 316240 L
-598178 0 L
-475637 0 L
-@c
-F
-%CHAR: 632334 0 (R) @t
-907703 316240 m
-935218 316240 957260 314927 973827 312299 c
-990321 309672 1003240 305585 1012509 299965 c
-1024332 293031 1033382 283616 1039586 271866 c
-1045789 260116 1048855 246541 1048855 231141 c
-1048855 212457 1044257 196035 1034988 181877 c
-1025719 167645 1012946 157427 996671 151150 C
-1010611 145311 1020464 138086 1026084 129474 c
-1031703 120862 1034988 105608 1036009 83786 c
-1036155 81377 1036301 78020 1036447 73787 c
-1038418 32405 1043965 9488 1053161 4890 C
-1053161 0 L
-916972 0 L
-912812 6715 910550 19633 910112 38901 c
-909820 50140 909309 58825 908579 64956 c
-907265 76560 903397 84662 896902 89333 c
-890479 94077 879604 96412 864351 96412 c
-791221 96412 L
-791221 0 L
-667001 0 L
-667001 316240 L
-907703 316240 l
-@c
-791221 179614 m
-862599 179614 l
-881283 179614 894493 181804 902083 186256 c
-909747 190635 913542 198079 913542 208443 c
-913542 218734 909966 225886 902740 229973 c
-895515 233987 881137 236031 859607 236031 c
-791221 236031 L
-791221 179614 L
-@c
-F
-%CHAR: 1066298 0 (D) @t
-1223506 238220 m
-1223506 84005 L
-1284448 84005 l
-1316196 84005 1338967 90062 1352688 102105 c
-1366482 114147 1373342 133853 1373342 161222 c
-1373342 188445 1366409 208078 1352469 220120 c
-1338602 232163 1315904 238220 1284448 238220 c
-1223506 238220 L
-@c
-1100965 316678 m
-1303643 316678 l
-1369255 316678 1419176 303176 1453552 276172 c
-1487928 249168 1505079 209756 1505079 158011 c
-1505079 106411 1488001 67145 1453771 40287 c
-1419541 13429 1369547 0 1303643 0 c
-1100965 0 L
-1100965 316678 L
-@c
-F
-T
-@rax %Note: Object
-202.57002 663.60898 462.94894 788.24381 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21543 0.21543 0.00000 @w
-/$fm 0 def
-260.91354 727.66403 m
-284.90258 722.60872 308.89162 717.55398 332.88066 712.49783 C
-372.47783 785.04321 371.74762 810.24123 462.94894 768.46677 C
-412.01121 767.74422 394.34910 800.57197 337.90961 694.42894 c
-336.72728 692.20375 216.16299 742.15219 202.57002 663.60898 C
-200.58690 726.36633 231.68494 734.82888 260.91354 727.66403 C
-@c
-B
-
-@rax %Note: Object
-17.18787 478.84422 579.89707 569.31194 @E
- 0 O 0 @g
-0.00 0.00 0.00 0.00 k
-/$fm 0 def
-17.18787 569.31194 m
-579.89707 569.31194 L
-579.89707 478.84422 L
-17.18787 478.84422 L
-17.18787 569.31194 L
-@c
-F
-
-@rax %Note: Object
-86.84816 567.50202 504.80901 567.50315 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 5.66929 5.66929 0.00000 @w
-/$fm 0 def
-86.84816 567.50258 m
-504.80901 567.50258 L
-S
-
-@rax %Note: Object
-86.84816 554.44139 504.80901 554.44252 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 5.66929 5.66929 0.00000 @w
-/$fm 0 def
-86.84816 554.44195 m
-504.80901 554.44195 L
-S
-
-@rax %Note: Object
-86.84816 541.70674 504.80901 541.70787 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 5.66929 5.66929 0.00000 @w
-/$fm 0 def
-86.84816 541.70731 m
-504.80901 541.70731 L
-S
-
-%%PageTrailer
-@rs
-@rs
-%%Trailer
-@EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel8Dict
-%%EOF
diff --git a/doc/slides/obr1.eps b/doc/slides/obr1.eps
deleted file mode 100644
index eb467cda..00000000
--- a/doc/slides/obr1.eps
+++ /dev/null
@@ -1,2539 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 16 42 558 453
-%%Creator: CorelDRAW
-%%Title:
-%%CreationDate: Mon Jun 26 13:55:02 2000
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness true def
-/AutoSteps 0 def
-/CMYKMarks true def
-/UseLevel2 false def
-%Color profile: Disabled
-%%BeginResource: procset wCorel6Dict 6.0 0
-% Copyright (c)1992-96 Corel Corporation
-% All rights reserved. v6.0 r1.1
-/wCorel6Dict 300 dict def wCorel6Dict begin/bd{bind def}bind def/ld{load def}
-bd/xd{exch def}bd/_ null def/rp{{pop}repeat}bd/@cp/closepath ld/@gs/gsave ld
-/@gr/grestore ld/@np/newpath ld/Tl/translate ld/$sv 0 def/@sv{/$sv save def}bd
-/@rs{$sv restore}bd/spg/showpage ld/showpage{}bd currentscreen/@dsp xd/$dsp
-/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF false def/$Scra 0 def/SetScr
-/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1 roll
-pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5 0
-def}ifelse/CurrentInkName_5 where{pop}{/CurrentInkName_5(Composite)def}ifelse
-/$ink_5 where{pop}{/$ink_5 -1 def}ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def
-/$t 1 def/$n _ def/$o 0 def/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1
-def/$N _ def/$O 0 def/$PF false def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def
-/s1t 0 def/s1n _ def/$bkg false def/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op
-false def matrix currentmatrix/$ctm xd/$ptm matrix def/$ttm matrix def/$stm
-matrix def/$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def/$fmp 50 def/$ffpnt
-true def/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
-/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
-exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known{end}if}bd AutoFlatness
-{/@ifl{dup currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
-@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
-bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
-/InRange{3 -1 roll @MN @MX}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
-/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
-/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
-/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
-exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
-4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
-/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
-/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
-systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
-/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
-GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
-cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
-ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
-/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
-/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
-/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
-4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
-gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
-ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
-astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
-SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
-ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
-/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
-setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
-0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
-/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
-ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
-get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
-255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
-getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
-index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
-$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
-roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
-}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd}ifelse/WaldoColor_5 true def/@sft{$tllx
-$pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt{$phei
-add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{cvx exec
-}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub
-$ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in
-false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei
-rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index
-sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop}ifelse @rs}bd
-/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}
-ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1
-roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul
-$tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1
-$tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/@pf{@gs $ctm
-setmatrix $pm concat @stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd
-Bbllx Bblly $pm itransform/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei
-$tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{eofill}if}{$t $c $m $y
-$k $n $o @scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1
-false[8 0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt
-$hei 0 gt and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub
-/$pwid xd $wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add
-/$tly xd $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@dlt_hsb{$fco
-nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/kdb xd nff $fco sub
-div/kdb2 xd sub neg 2 div dup $fco div/kds xd nff $fco sub div/kds2 xd sub neg
-dup 0 eq{pop $frb 2 eq{.99}{-.99}ifelse}if dup $frb 2 eq exch 0 lt and{1 add}
-if dup $frb 1 eq exch 0 gt and{1 sub}if 2 div dup $fco div/kdh xd nff $fco sub
-div/kdh2 xd}bd/@dlt_cmyk{$fmp 50 eq{sub neg nff dup 1 gt{1 sub}if div/$dk xd
-sub neg nff dup 1 gt{1 sub}if div/$dy xd sub neg nff dup 1 gt{1 sub}if div/$dm
-xd sub neg nff dup 1 gt{1 sub}if div/$dc xd sub neg nff dup 1 gt{1 sub}if div
-/$dt xd}{$fco nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/$dk xd
-nff $fco sub div/$dk2 xd sub neg 2 div dup $fco div/$dy xd nff $fco sub div
-/$dy2 xd sub neg 2 div dup $fco div/$dm xd nff $fco sub div/$dm2 xd sub neg 2
-div dup $fco div/$dc xd nff $fco sub div/$dc2 xd sub neg 2 div dup $fco div
-/$dt xd nff $fco sub div/$dt2 xd}ifelse}bd/@dlt{$fse $fss sub dup/nff xd $fmp
-mul $fmp add 100 div round cvi dup 0 le{pop 1}if/$fco xd/$fi 0 def $frb dup 1
-eq exch 2 eq or{$frt dup $frc $frm $fry $frk @tc_5 4 copy cmyk2rgb rgb2hsb 3
-copy/myb xd/mys xd/myh xd $tot $toc $tom $toy $tok @tc_5 cmyk2rgb rgb2hsb 3 1
-roll 4 1 roll 5 1 roll @dlt_hsb}{$frt dup $frc $frm $fry $frk @tc_5 5 copy $tot
-dup $toc $tom $toy $tok @tc_5 5 1 roll 6 1 roll 7 1 roll 8 1 roll 9 1 roll
-@dlt_cmyk}ifelse}bd/@ffnxt{/$fi $fi 1 add def $frb dup 1 eq exch 2 eq or{pop
-pop pop pop myh mys myb $fi $fco lt{kdb add 3 1 roll kds add 3 1 roll kdh add 3
-1 roll}{kdb2 add 3 1 roll kds2 add 3 1 roll kdh2 add 3 1 roll}ifelse 3 copy
-/myb xd/mys xd/myh xd hsb2rgb rgb2cmyk}{$fi $fco lt $fmp 50 eq or{$dk add 5 1
-roll $dy add 5 1 roll $dm add 5 1 roll $dc add 5 1 roll $dt add 5 1 roll}{$dk2
-add 5 1 roll $dy2 add 5 1 roll $dm2 add 5 1 roll $dc2 add 5 1 roll $dt2 add 5 1
-roll}ifelse}ifelse}bd/ffcol{5 copy $fsit 0 eq{setcmykcolor pop}{SepMode_5 0 ne
-{$frn findcmykcustomcolor exch setcustomcolor}{pop pop pop pop $frc $frm $fry
-$frk $frn findcmykcustomcolor exch setcustomcolor}ifelse}ifelse}bd/@ftl{1 index
-4 index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub
-/$hei xd pop Tl @dlt $fss 0 eq{ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l @cp
-$ffpnt{fill}{@np}ifelse}if $fss $wid mul $pdw add 0 Tl nff{ffcol n 0 0 m 0 $hei
-l $wid $hei l $wid 0 l @cp $ffpnt{fill}{@np}ifelse $wid 0 Tl @ffnxt}repeat 5 rp
-$tot dup $toc $tom $toy $tok @tc_5 ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l
-@cp $ffpnt{fill}{@np}ifelse 5 rp}bd/@ftrs{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl $fan rotate
-pop pop pop pop @dlt $fss 0 eq{ffcol $fty 3 eq{$hei dup neg dup m 2 mul @sqr}{
-0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse}if 1.0 $pad 2 mul sub
-dup scale $hei $fss $wid mul sub/$hei xd nff{ffcol $fty 3 eq{n $hei dup neg dup
-m 2 mul @sqr}{n 0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse/$hei
-$hei $wid sub def @ffnxt}repeat 5 rp}bd/@ftc{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl pop pop pop
-pop @dlt $fss 0 eq{ffcol $ffpnt{fill}{@np}ifelse}{n}ifelse/$dang 180 $fst 1 sub
-div def/$sang $dang -2 div 180 add def/$eang $dang 2 div 180 add def/$sang
-$sang $dang $fss mul add def/$eang $eang $dang $fss mul add def/$sang $eang
-$dang sub def nff{ffcol n 0 0 m 0 0 $hei $sang $fan add $eang $fan add arc
-$ffpnt{fill}{@np}ifelse 0 0 m 0 0 $hei $eang neg $fan add $sang neg $fan add
-arc $ffpnt{fill}{@np}ifelse/$sang $eang def/$eang $eang $dang add def @ffnxt}
-repeat 5 rp}bd/@fstAdjust{72 0 matrix defaultmatrix dtransform exch dup mul
-exch dup mul add sqrt currentscreen pop pop div dup mul 1 add cvi 2 256 InRange
-$fsc 1 sub dup 0 le{pop 1}if mul/opt$fst xd AutoSteps dup 1 eq exch 3 eq or{
-opt$fst dup dup $fst dup 3 1 roll div exch 3 -1 roll gt{/$adj xd/$fst xd}{pop
-pop}ifelse}if AutoSteps dup 2 eq exch 3 eq or{opt$fst dup dup $fst dup 3 1 roll
-div exch 3 -1 roll lt{/$adj xd/$fst xd}{pop pop}ifelse}if}bd/@ff{/old$fst $fst
-def/$adj 1 def/$fss 0 def $o 1 eq setoverprint AutoSteps 0 gt{@fstAdjust}if 1 1
-$fsc 1 sub{dup 1 sub $fsit 0 eq{$fsa exch 5 mul 5 getinterval aload pop pop
-/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def $fsa exch 5 mul 5
-getinterval aload pop $adj mul cvi $fss add/$fse xd/$tok xd/$toy xd/$tom xd
-/$toc xd/$ton _ def/$tot 1 def}{$fsa exch 7 mul 7 getinterval aload pop pop
-/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd $fsa exch 7 mul 7 getinterval
-aload pop $adj mul cvi $fss add/$fse xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd
-/$toc xd}ifelse $fsit 0 eq SepMode_5 0 eq or dup not CurrentInkName_5 $frn eq
-and or{@sv $ctm setmatrix eoclip Bbllx Bblly Bburx Bbury $fty 2 eq{@ftc}{1
-index 3 index m 2 copy l 3 index 1 index l 3 index 3 index l @cp $fty dup 1 eq
-exch 3 eq or{@ftrs}{pop pop pop pop $fan rotate pathbbox @ftl}ifelse}ifelse @rs
-/$fss $fse def}{1 0 0 0 0 _ $o @scc_5{fill}if}ifelse}for @np/$fst old$fst def}
-bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y
-$k $n $o @scc_5 pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup
-Bburx exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd
-Bbllx exch Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm
-aload pop $Psn load exec}{1 SetGry eofill}ifelse @rs @np}bd/F{matrix
-currentmatrix $sdf{$scf $sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3
-eq{@Pf}{$t $c $m $y $k $n $o @scc_5{eofill}{@np}ifelse}ifelse}ifelse}ifelse
-$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm
-setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc_5{matrix
-currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp
-@ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/_E{5 array astore
-exch cvlit xd}bd/@cc{currentfile $dat readhexstring pop}bd/@sm{/$ctm $ctm
-currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{
-/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true def}{@gs $t $c $m $y $k $n $o
-@scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd/@P
-{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd/@k{/$fil 2 def/$fmp xd
-/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst
-xd/$fsc xd/$fsa xd/$fsit 0 def}bd/@x{/$fil 2 def/$fmp xd/$roy xd/$rox xd/$pad
-xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst xd/$fsc xd/$fsa xd
-/$fsit 1 def}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index
-3 index l 3 index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii
-6 index 1 ne{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5
-/$frg xd}{/$frg false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np
-/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8
-div ceiling cvi string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl
-$urx $llx sub $ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid
-$hei abs $bts 1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/tcc load $bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa
-$dsp @ss}if}{$hei abs{tcc pop}repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs
-@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat
-$wid $bts mul $ncl mul 8 div ceiling cvi string def $ngx $llx $lly Tl $urx $llx
-sub $ury $lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/@cc load false $ncl ColorImage $SDF{$dsf $dsa $dsp @ss}if
-@gr $ctm setmatrix}bd L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd
-/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi
-string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
-ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
-dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
-$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
-ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
-/DataSource currentfile/ASCII85Decode filter def currentdict end image $SDF
-{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/z{exch findfont
-exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll/FontType 3 def
-/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{Encoding exch
-/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}put/Metrics 256
-dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup/$char exch/Encoding
-get 3 index get def dup/Metrics get $char get aload pop setcachedevice begin
-Encoding exch get CharStrings exch get end exec}def end definefont pop}bd
-/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put
-CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup maxlength 2
-add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall
-pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch put dup
-/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch
-pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict dup
-/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 index
-length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 -1
-roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop}bd
-/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true charpath
-$ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch m}forall}bd
-/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf
-ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{$t $c $m
-$y $k $n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp
-@ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T
-$C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup
-@gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3
--1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd
-/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd
-/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}
-def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm matrix def}bd/ddt
-{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat ddt $stm
-setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}
-bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def}{
-CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1
-def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq
-{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs
--72000 dup m -72000 72000 l 72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr}
-bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec cvx]cvx settransfer @whi}
-bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt}bd/@unscale{}bd/@smc{CMYKMarks{0 exch eq{1 1 1 1 1 _ 0 @scc_5
-pop}{1 0 0 0 0 _ 0 @scc_5 pop}ifelse}{SetGry}ifelse}bd/@gmc{CMYKMarks{GetCmyk
-pop pop pop 1 eq{0}{1}ifelse}{GetGry}ifelse}bd/@sqr{dup 0 rl dup 0 exch rl neg
-0 rl @cp}bd/corelsym{@gs @np Tl -90 rotate 7{45 rotate -.75 2 m 1.5 @sqr fill}
-repeat @gr}bd/@reg_cor{@gs @np Tl -6 -6 m 12 @sqr @gs 1 @gmc sub @smc fill @gr
-4{90 rotate 0 4 m 0 4 rl}repeat stroke 0 0 corelsym @gr}bd/@reg_std{@gs @np Tl
-.3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl
-}repeat stroke @gr}bd/@reg_inv{@gs @np Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc
-sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl}repeat stroke 0 0 m 0 0 5 90 180 arc
-@cp 0 0 5 270 360 arc @cp fill @gr}bd/@reg_sqr{@gs @np Tl .3 w -7 -7 m 14 @sqr
-fill @gs 1 @gmc sub @smc 0 0 5 0 360 arc @cp save fill restore 4{90 rotate 0 0
-m 0 8 rl}repeat stroke @gr 4{90 rotate 0 0 m 0 5 rl}repeat stroke @gr}bd
-/@reg_lng{@gs @np 0 eq{/$Xlen 16 def/$Ylen 8 def}{/$Xlen 8 def/$Ylen 16 def}
-ifelse Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 90 rotate 0 0 m
-0 $Xlen rl 90 rotate 0 0 m 0 $Ylen rl 90 rotate 0 0 m 0 $Xlen rl 90 rotate 0 0
-m 0 $Ylen rl stroke @gr}bd/@setdcol{0 $dcol eq{0 exch 1 exch sub 0 0 0 _ 0
-@scc_5 pop}{1 $dcol eq{0 exch 0 exch 1 exch sub 0 0 _ 0 @scc_5 pop}{2 $dcol eq
-{0 exch 0 exch 0 exch 1 exch sub 0 _ 0 @scc_5 pop}{SetGry}ifelse}ifelse}ifelse
-}bd/$corelmeter[1 .95 .75 .50 .25 .05 0]def/@colormeter{@gs @np 0 @setdcol 0.3
-w/Courier findfont 5 scalefont setfont/yy xd/xx xd 0 1 6{dup xx 20 sub yy m 20
-@sqr @gs $corelmeter exch get dup @setdcol fill @gr stroke xx 18 sub yy 2 add m
-exch dup 3 ge{1 SetGry}{0 @setdcol}ifelse 3 eq{pop}{100 mul 100 exch sub cvi 20
-string cvs show}ifelse/yy yy 20 add def}for @gr}bd/@calbar{@gs Tl @gs @np 0 0 m
-@gs 20 @sqr 1 1 0 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 0 1
-0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 0 1 0 _ 0 @scc_5 pop
-fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 1 1 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0
-0 m @gs 20 @sqr 1 0 1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1
-1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 1 1 0 _ 0 @scc_5
-pop fill @gr @gr @np -84 0 Tl @gs 0 0 m 20 @sqr clip 1 1 0 0 0 _ 0 @scc_5 pop
-@gain @gr 20 0 Tl @gs 0 0 m 20 @sqr clip 1 0 1 0 0 _ 0 @scc_5 pop @gain @gr 20
-0 Tl @gs 0 0 m 20 @sqr clip 1 0 0 1 0 _ 0 @scc_5 pop @gain @gr 20 0 Tl @gs 0 0
-m 20 @sqr clip 1 0 0 0 1 _ 0 @scc_5 pop @gain @gr @gr}bd/@gain{10 10 Tl @np 0 0
-m 0 10 360{0 0 15 4 -1 roll dup 5 add arc @cp}for fill}bd/@crop{@gs 10 div
-/$croplen xd .3 w 0 @smc Tl rotate 0 0 m 0 $croplen neg rl stroke @gr}bd
-/deflevel 0 def/@sax{/deflevel deflevel 1 add def}bd/@eax{/deflevel deflevel
-dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}ifelse}bd/eax{{exec}forall}
-bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type/arraytype eq{{}forall}if}bd
-/@BMP{/@cc xd 12 index 1 gt UseLevel2 true eq and{7 -2 roll pop pop @I_2}{11
-index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I}ifelse}ifelse}bd systemdict
-/pdfmark known not{/pdfmark/cleartomark ld}if/@BeginEPS{$ngx 0 SetGry 0 J 0 j 1
-w[]0 d 10 M false setoverprint @np/EPSDict 200 dict def EPSDict begin @sv
-SepMode_5 0 ne{/colorimage{@gs/sepdict 50 dict def sepdict begin[{1 exch sub}
-/exec cvx currenttransfer/exec cvx]cvx settransfer 3 eq/$rgb xd{$rgb{/daq0 xd
-/daq1 xd/daq2 xd/daq_rgb load}{/daq0 xd/daq1 xd/daq2 xd/daq3 xd/daq_cmyk load}
-ifelse}{/daq0 xd/daq_one load}ifelse 2 index 8 eq/8bit xd $ink_5 dup 0 lt exch
-3 gt or{}{image}ifelse end @gr}bd/2cmyk{3{255 exch sub 3 1 roll}repeat 3 copy
-@MN @MN 3{dup 5 -1 roll sub neg exch}repeat}bd/daq_rgb{/i 0 def/daq2 load exec
-/daq1 load exec/daq0 load exec dup dup length 0 exch getinterval/$data xd{8bit
-{1 index i get 3 index i get 2cmyk 4 $ink_5 neg roll pop pop pop}{pop 0}ifelse
-$data i 3 -1 roll put/i i 1 add def}forall pop pop $data}bd/daq_cmyk{/daq3 load
-exec/daq2 load exec/daq1 load exec/daq0 load exec 4 $ink_5 neg roll pop pop pop
-}bd/daq_one{/$in 0 def/$out 0 def/daq0 load exec dup dup length $rgb{3}{4}
-ifelse idiv 0 exch getinterval/$data xd $data{pop 8bit{$rgb{0 index $in 2 add
-get 1 index $in 1 add get 2 index $in get 2cmyk}{0 index $in get 1 index $in 1
-add get 2 index $in 2 add get 3 index $in 3 add get}ifelse 4 $ink_5 neg roll
-pop pop pop}{0}ifelse $data $out 3 -1 roll put/$in $in $rgb{3}{4}ifelse add def
-/$out $out 1 add def}forall pop $data}bd}if}bd/@EndEPS{@rs end}bd end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel6Dict begin
-@BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 128 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
-@sv
-@sm
-@sv
-%%EndPageSetup
-@rax %Note: Object
-83.97014 259.95969 114.68438 290.67392 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-99.32712 290.67392 m
-107.78542 290.67392 114.68438 283.77496 114.68438 275.31666 c
-114.68438 266.85836 107.78542 259.95969 99.32712 259.95969 c
-90.86882 259.95969 83.97014 266.85836 83.97014 275.31666 c
-83.97014 283.77496 90.86882 290.67392 99.32712 290.67392 c
-@c
-S
-
-@rax %Note: Object
-279.32825 232.53874 310.04277 263.25326 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-294.68551 263.25326 m
-303.14381 263.25326 310.04277 256.35430 310.04277 247.89600 c
-310.04277 239.43770 303.14381 232.53874 294.68551 232.53874 c
-286.22721 232.53874 279.32825 239.43770 279.32825 247.89600 c
-279.32825 256.35430 286.22721 263.25326 294.68551 263.25326 c
-@c
-S
-
-@rax %Note: Object
-230.18513 281.09282 260.89937 311.80706 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-245.54239 311.80706 m
-254.00069 311.80706 260.89937 304.90838 260.89937 296.45008 c
-260.89937 287.99178 254.00069 281.09282 245.54239 281.09282 c
-237.08409 281.09282 230.18513 287.99178 230.18513 296.45008 c
-230.18513 304.90838 237.08409 311.80706 245.54239 311.80706 c
-@c
-S
-
-@rax %Note: Object
-65.86441 334.92841 196.39956 420.47603 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-131.13213 420.47603 m
-167.07997 420.47603 196.39956 401.26110 196.39956 377.70208 c
-196.39956 354.14334 167.07997 334.92841 131.13213 334.92841 c
-95.18372 334.92841 65.86441 354.14334 65.86441 377.70208 c
-65.86441 401.26110 95.18372 420.47603 131.13213 420.47603 c
-@c
-S
-
-@rax %Note: Object
-18.25739 132.23424 148.79254 217.78186 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-83.52510 217.78186 m
-119.47323 217.78186 148.79254 198.56693 148.79254 175.00791 c
-148.79254 151.44917 119.47323 132.23424 83.52510 132.23424 c
-47.57698 132.23424 18.25739 151.44917 18.25739 175.00791 c
-18.25739 198.56693 47.57698 217.78186 83.52510 217.78186 c
-@c
-S
-
-@rax %Note: Object
-358.41742 313.34910 488.95257 398.89672 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-423.68513 398.89672 m
-459.63298 398.89672 488.95257 379.68180 488.95257 356.12277 c
-488.95257 332.56375 459.63298 313.34910 423.68513 313.34910 c
-387.73672 313.34910 358.41742 332.56375 358.41742 356.12277 c
-358.41742 379.68180 387.73672 398.89672 423.68513 398.89672 c
-@c
-S
-
-@rax %Note: Object
-42.92561 103.02831 63.38098 123.48369 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-46.98283 123.48369 m
-63.38098 119.42646 L
-59.32375 103.02831 L
-42.92561 107.08554 L
-46.98283 123.48369 L
-@c
-S
-
-@rax %Note: Object
-54.59528 121.55641 58.20066 136.12791 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-54.59528 121.55641 m
-58.20066 136.12791 L
-S
-
-@rax %Note: Object
-62.18079 416.13307 85.60488 439.55717 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-85.60488 425.49761 m
-71.54532 416.13307 L
-62.18079 430.19263 L
-76.24035 439.55717 L
-85.60488 425.49761 L
-@c
-S
-
-@rax %Note: Object
-79.04551 408.68646 87.36690 421.17987 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-79.04551 421.17987 m
-87.36690 408.68646 L
-S
-
-@rax %Note: Object
-111.04526 103.96715 132.91540 125.83729 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-111.04526 119.70907 m
-126.78718 125.83729 L
-132.91540 110.09537 L
-117.17348 103.96715 L
-111.04526 119.70907 L
-@c
-S
-
-@rax %Note: Object
-112.93285 122.51820 118.37849 136.50661 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-118.37849 122.51820 m
-112.93285 136.50661 L
-S
-
-@rax %Note: Object
-77.10151 100.53014 93.99402 117.42293 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-77.10151 117.42293 m
-93.99402 117.42293 L
-93.99402 100.53014 L
-77.10151 100.53014 L
-77.10151 117.42293 L
-@c
-S
-
-@rax %Note: Object
-84.95348 117.38041 84.95461 132.39128 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-84.95405 117.38041 m
-84.95405 132.39128 L
-S
-
-@rax %Note: Object
-100.99531 431.86224 121.27776 452.14441 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-121.27776 435.69156 m
-104.82463 431.86224 L
-100.99531 448.31509 L
-117.44844 452.14441 L
-121.27776 435.69156 L
-@c
-S
-
-@rax %Note: Object
-113.61997 419.33254 117.02268 433.95307 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-113.61997 433.95307 m
-117.02268 419.33254 L
-S
-
-@rax %Note: Object
-144.97342 431.85288 165.03959 451.91906 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-161.48863 431.85288 m
-144.97342 435.40384 L
-148.52438 451.91906 L
-165.03959 448.36809 L
-161.48863 431.85288 L
-@c
-S
-
-@rax %Note: Object
-150.66510 418.86964 153.82063 433.54517 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-153.82063 433.54517 m
-150.66510 418.86964 L
-S
-
-@rax %Note: Object
-180.05528 414.07427 203.45272 437.47172 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-194.16699 414.07427 m
-180.05528 423.36028 L
-189.34101 437.47172 L
-203.45272 428.18598 L
-194.16699 414.07427 L
-@c
-S
-
-@rax %Note: Object
-179.37921 405.88668 187.63058 418.42658 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-187.63058 418.42658 m
-179.37921 405.88668 L
-S
-
-@rax %Note: Object
-459.08447 400.93455 481.57483 423.42491 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-474.35811 400.93455 m
-459.08447 408.15156 L
-466.30148 423.42491 L
-481.57483 416.20791 L
-474.35811 400.93455 L
-@c
-S
-
-@rax %Note: Object
-460.86321 390.75562 467.27631 404.32791 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-467.27631 404.32791 m
-460.86321 390.75562 L
-S
-
-@rax %Note: Object
-407.76208 412.44350 426.30180 430.98293 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-426.30180 414.17972 m
-409.49830 412.44350 L
-407.76208 429.24671 L
-424.56557 430.98293 L
-426.30180 414.17972 L
-@c
-S
-
-@rax %Note: Object
-418.48639 398.48343 420.02901 413.41493 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-418.48639 413.41493 m
-420.02901 398.48343 L
-S
-
-@rax %Note: Object
-499.01301 362.19969 520.42876 383.61543 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-504.42718 362.19969 m
-499.01301 378.20098 L
-515.01430 383.61543 L
-520.42876 367.61386 L
-504.42718 362.19969 L
-@c
-S
-
-@rax %Note: Object
-487.73169 364.84044 501.95083 369.65169 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-501.95083 369.65169 m
-487.73169 364.84044 L
-S
-
-@rax %Note: Object
-184.11392 307.48762 233.84268 353.20224 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-184.11392 353.20224 m
-233.84268 307.48762 L
-S
-
-@rax %Note: Object
-255.22157 256.54649 281.77880 284.62989 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-255.22157 284.62989 m
-281.77880 256.54649 L
-S
-
-@rax %Note: Object
-259.40409 303.75553 363.04441 339.20787 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-259.40409 303.75553 m
-363.04441 339.20787 L
-S
-
-@rax %Note: Object
-304.48517 259.90696 373.26898 328.01244 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-304.48517 259.90696 m
-373.26898 328.01244 L
-S
-
-@rax %Note: Object
-97.20510 216.99099 97.66998 260.37326 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-97.66998 260.37326 m
-97.20510 216.99099 L
-S
-
-@rax %Note: Object
-99.52894 291.16063 111.61247 336.87553 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-99.52894 291.16063 m
-111.61247 336.87553 L
-S
-
-@rax 298.00573 52.50643 381.29613 176.63839 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 304.50528020 174.93193061] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 63499.00000 z
-%CHAR: 0 -57480 (1) @t
-23657 -57480 m
-18073 -57480 L
-18073 -21918 L
-16729 -23198 14961 -24486 12785 -25767 c
-10609 -27047 8640 -28007 6912 -28647 C
-6912 -23254 L
-10032 -21790 12761 -20006 15097 -17926 c
-17433 -15838 19089 -13806 20057 -11846 C
-23657 -11846 L
-23657 -57480 L
-@c
-F
-%CHAR: 133264 -57480 (c) @t
-158937 -45415 m
-164417 -46135 L
-163825 -49912 162281 -52880 159817 -55016 c
-157353 -57160 154313 -58232 150713 -58232 c
-146217 -58232 142592 -56760 139856 -53816 c
-137120 -50872 135744 -46639 135744 -41143 c
-135744 -37591 136336 -34479 137504 -31815 c
-138680 -29151 140480 -27143 142880 -25815 c
-145289 -24486 147913 -23814 150745 -23814 c
-154321 -23814 157249 -24718 159521 -26527 c
-161793 -28335 163249 -30903 163889 -34231 C
-158465 -35071 L
-157953 -32863 157033 -31191 155721 -30079 c
-154409 -28959 152817 -28399 150961 -28399 c
-148153 -28399 145865 -29407 144113 -31423 c
-142360 -33439 141480 -36631 141480 -40991 c
-141480 -45407 142328 -48632 144017 -50632 c
-145713 -52632 147929 -53640 150657 -53640 c
-152841 -53640 154673 -52968 156137 -51624 c
-157609 -50280 158545 -48208 158929 -45423 C
-158937 -45415 L
-@c
-F
-%CHAR: 0 -128552 (2) @t
-31970 -123192 m
-31962 -128552 L
-1920 -128552 L
-1880 -127216 2096 -125920 2568 -124680 c
-3336 -122632 4560 -120616 6240 -118632 c
-7920 -116647 10360 -114351 13545 -111751 c
-18481 -107703 21825 -104487 23553 -102127 c
-25289 -99759 26161 -97519 26161 -95414 c
-26161 -93206 25369 -91334 23793 -89814 c
-22209 -88294 20145 -87534 17609 -87534 c
-14921 -87534 12769 -88342 11161 -89950 c
-9544 -91566 8728 -93806 8712 -96654 C
-2976 -96062 L
-3360 -91790 4840 -88526 7400 -86286 c
-9960 -84046 13409 -82918 17729 -82918 c
-22089 -82918 25545 -84126 28081 -86542 c
-30625 -88958 31898 -91966 31898 -95534 c
-31898 -97351 31521 -99143 30785 -100895 c
-30041 -102655 28801 -104511 27081 -106447 c
-25353 -108391 22481 -111063 18473 -114447 c
-15129 -117255 12969 -119168 12025 -120168 c
-11081 -121168 10288 -122184 9672 -123192 C
-31970 -123192 L
-@c
-F
-%CHAR: 133264 -128552 (l) @t
-137328 -128552 m
-137320 -83102 L
-142904 -83102 L
-142904 -128552 L
-137328 -128552 L
-@c
-F
-%CHAR: 147368 -128552 (o) @t
-149480 -112087 m
-149480 -105991 151168 -101471 154560 -98543 c
-157392 -96110 160849 -94886 164913 -94886 c
-169441 -94886 173145 -96374 176009 -99335 c
-178881 -102295 180322 -106399 180322 -111623 c
-180322 -115863 179682 -119200 178417 -121624 c
-177145 -124056 175289 -125944 172865 -127288 c
-170441 -128632 167785 -129304 164913 -129304 c
-160305 -129304 156576 -127824 153736 -124872 c
-150896 -121912 149472 -117647 149472 -112095 C
-149480 -112087 L
-@c
-155208 -112087 m
-155208 -116303 156128 -119464 157969 -121560 c
-159809 -123656 162129 -124712 164913 -124712 c
-167681 -124712 169985 -123656 171825 -121552 c
-173665 -119440 174585 -116223 174585 -111903 c
-174585 -107839 173657 -104751 171809 -102655 c
-169961 -100559 167657 -99503 164913 -99503 c
-162129 -99503 159809 -100551 157969 -102631 c
-156128 -104719 155208 -107879 155208 -112095 C
-155208 -112087 L
-@c
-F
-%CHAR: 182680 -128552 (c) @t
-208353 -116487 m
-213833 -117207 L
-213241 -120984 211697 -123952 209233 -126088 c
-206769 -128232 203729 -129304 200129 -129304 c
-195633 -129304 192008 -127832 189272 -124888 c
-186536 -121944 185160 -117711 185160 -112215 c
-185160 -108663 185752 -105551 186920 -102887 c
-188096 -100223 189896 -98215 192296 -96887 c
-194705 -95558 197329 -94886 200161 -94886 c
-203737 -94886 206665 -95790 208937 -97599 c
-211209 -99407 212665 -101975 213305 -105303 C
-207881 -106143 L
-207369 -103935 206449 -102263 205137 -101151 c
-203825 -100031 202233 -99471 200377 -99471 c
-197569 -99471 195281 -100479 193529 -102495 c
-191776 -104511 190896 -107703 190896 -112063 c
-190896 -116479 191744 -119704 193433 -121704 c
-195129 -123704 197345 -124712 200073 -124712 c
-202257 -124712 204089 -124040 205553 -122696 c
-207025 -121352 207961 -119280 208345 -116495 C
-208353 -116487 L
-@c
-F
-%CHAR: 214432 -128552 (a) @t
-240105 -124488 m
-238041 -126248 236041 -127496 234137 -128216 c
-232225 -128936 230169 -129304 227977 -129304 c
-224360 -129304 221576 -128416 219640 -126656 c
-217696 -124888 216720 -122624 216720 -119872 c
-216720 -118264 217088 -116783 217816 -115455 c
-218552 -114127 219520 -113047 220704 -112247 c
-221888 -111447 223232 -110831 224720 -110415 c
-225817 -110127 227473 -109847 229681 -109583 c
-234185 -109047 237505 -108399 239633 -107655 C
-239649 -106895 239665 -106407 239665 -106199 c
-239665 -103927 239137 -102327 238089 -101399 c
-236665 -100135 234537 -99503 231729 -99503 c
-229105 -99503 227169 -99967 225921 -100879 c
-224672 -101799 223736 -103431 223144 -105767 C
-217680 -105023 L
-218176 -102687 218992 -100799 220128 -99367 c
-221264 -97927 222920 -96815 225065 -96046 c
-227209 -95278 229705 -94886 232537 -94886 c
-235345 -94886 237633 -95222 239385 -95878 c
-241145 -96534 242441 -97375 243265 -98375 c
-244089 -99375 244673 -100647 245001 -102167 c
-245185 -103119 245281 -104839 245281 -107319 c
-245281 -114759 l
-245281 -119944 245401 -123232 245633 -124600 c
-245873 -125976 246346 -127296 247050 -128552 C
-241217 -128552 L
-240641 -127400 240257 -126040 240097 -124496 C
-240105 -124488 L
-@c
-239641 -112023 m
-237609 -112855 234569 -113559 230521 -114135 c
-228233 -114463 226601 -114839 225657 -115247 c
-224704 -115663 223960 -116271 223448 -117063 c
-222936 -117863 222672 -118752 222672 -119720 c
-222672 -121208 223240 -122448 224360 -123440 c
-225489 -124432 227145 -124928 229313 -124928 c
-231457 -124928 233377 -124456 235049 -123520 c
-236721 -122576 237953 -121288 238737 -119656 c
-239329 -118400 239633 -116535 239633 -114079 c
-239641 -112023 L
-@c
-F
-%CHAR: 249744 -128552 (l) @t
-253808 -128552 m
-253800 -83102 L
-259384 -83102 L
-259384 -128552 L
-253808 -128552 L
-@c
-F
-%CHAR: 0 -199624 (3) @t
-2664 -187623 m
-8240 -186887 L
-8880 -190048 9976 -192328 11513 -193720 c
-13049 -195112 14937 -195816 17145 -195816 c
-19769 -195816 21985 -194904 23793 -193088 c
-25601 -191272 26505 -189015 26505 -186327 c
-26505 -183767 25665 -181647 23993 -179983 c
-22321 -178319 20185 -177487 17609 -177487 c
-16553 -177487 15241 -177695 13673 -178111 C
-14289 -173215 L
-14657 -173247 14961 -173271 15185 -173271 c
-17561 -173271 19705 -172647 21601 -171415 c
-23505 -170175 24457 -168255 24457 -165678 c
-24457 -163630 23761 -161934 22385 -160590 c
-21001 -159246 19209 -158574 17017 -158574 c
-14849 -158574 13033 -159262 11593 -160622 c
-10152 -161982 9216 -164038 8800 -166758 C
-3224 -165766 L
-3896 -162030 5448 -159126 7864 -157078 c
-10280 -155022 13297 -153990 16897 -153990 c
-19377 -153990 21665 -154526 23745 -155582 c
-25833 -156646 27433 -158102 28537 -159942 c
-29641 -161782 30193 -163734 30193 -165798 c
-30193 -167766 29665 -169559 28617 -171167 c
-27561 -172775 25993 -174063 23929 -175007 C
-26617 -175631 28705 -176919 30193 -178871 c
-31681 -180823 32426 -183271 32426 -186199 c
-32426 -190168 30977 -193536 28089 -196288 c
-25193 -199048 21529 -200432 17113 -200432 c
-13129 -200432 9808 -199240 7176 -196872 c
-4544 -194496 3032 -191408 2664 -187631 c
-2664 -187623 L
-@c
-F
-%CHAR: 133264 -199624 (b) @t
-142600 -199624 m
-137416 -199624 L
-137416 -154174 L
-142992 -154174 L
-142992 -170391 L
-145345 -167438 148361 -165958 152017 -165958 c
-154041 -165958 155961 -166366 157769 -167182 c
-159577 -167999 161065 -169151 162233 -170623 c
-163401 -172095 164321 -173887 164977 -175967 c
-165634 -178055 165970 -180295 165970 -182671 c
-165970 -188311 164569 -192680 161785 -195752 c
-159001 -198832 155641 -200376 151737 -200376 c
-147857 -200376 144801 -198752 142592 -195504 C
-142600 -199624 L
-@c
-142536 -182911 m
-142536 -186863 143072 -189720 144145 -191472 c
-145897 -194344 148281 -195784 151273 -195784 c
-153705 -195784 155817 -194720 157593 -192608 c
-159369 -190488 160265 -187327 160265 -183135 c
-160265 -178839 159409 -175663 157713 -173615 c
-156009 -171567 153937 -170543 151521 -170543 c
-149089 -170543 146977 -171607 145201 -173719 c
-143424 -175839 142528 -178911 142528 -182919 C
-142536 -182911 L
-@c
-F
-%CHAR: 0 -270696 (A) @t
--104 -270696 m
-17361 -225246 L
-23841 -225246 L
-42442 -270696 L
-35594 -270696 L
-30289 -256935 L
-11281 -256935 L
-6288 -270696 L
--104 -270696 L
-@c
-13025 -252031 m
-28425 -252031 L
-23681 -239447 l
-22241 -235622 21161 -232478 20457 -230022 C
-19881 -232934 19065 -235830 18009 -238702 c
-13025 -252031 L
-@c
-F
-%CHAR: 136800 -270696 (3) @t
-139464 -258695 m
-145040 -257959 L
-145680 -261120 146776 -263400 148313 -264792 c
-149849 -266184 151737 -266888 153945 -266888 c
-156569 -266888 158785 -265976 160593 -264160 c
-162401 -262344 163305 -260087 163305 -257399 c
-163305 -254839 162465 -252719 160793 -251055 c
-159121 -249391 156985 -248559 154409 -248559 c
-153353 -248559 152041 -248767 150473 -249183 C
-151089 -244287 L
-151457 -244319 151761 -244343 151985 -244343 c
-154361 -244343 156505 -243719 158401 -242487 c
-160305 -241247 161257 -239327 161257 -236750 c
-161257 -234702 160561 -233006 159185 -231662 c
-157801 -230318 156009 -229646 153817 -229646 c
-151649 -229646 149833 -230334 148393 -231694 c
-146952 -233054 146016 -235110 145600 -237830 C
-140024 -236838 L
-140696 -233102 142248 -230198 144664 -228150 c
-147080 -226094 150097 -225062 153697 -225062 c
-156177 -225062 158465 -225598 160545 -226654 c
-162633 -227718 164233 -229174 165337 -231014 c
-166441 -232854 166993 -234806 166993 -236870 c
-166993 -238838 166465 -240631 165417 -242239 c
-164361 -243847 162793 -245135 160729 -246079 C
-163417 -246703 165505 -247991 166993 -249943 c
-168481 -251895 169226 -254343 169226 -257271 c
-169226 -261240 167777 -264608 164889 -267360 c
-161993 -270120 158329 -271504 153913 -271504 c
-149929 -271504 146608 -270312 143976 -267944 c
-141344 -265568 139832 -262480 139464 -258703 c
-139464 -258695 L
-@c
-F
-%CHAR: 0 -341768 (B) @t
-4648 -341768 m
-4648 -296318 L
-21697 -296318 l
-25169 -296318 27953 -296782 30049 -297694 c
-32146 -298614 33802 -300038 34986 -301942 c
-36170 -303854 36770 -305862 36770 -307942 c
-36770 -309886 36242 -311719 35194 -313431 c
-34138 -315143 32538 -316535 30409 -317591 C
-33162 -318391 35282 -319775 36754 -321711 c
-38226 -323647 38970 -325951 38970 -328591 c
-38970 -330719 38522 -332712 37626 -334536 c
-36730 -336360 35610 -337776 34290 -338768 c
-32970 -339760 31305 -340512 29313 -341008 c
-27321 -341512 24873 -341768 21977 -341768 c
-4648 -341768 L
-@c
-10665 -315415 m
-20489 -315415 l
-23153 -315415 25073 -315239 26225 -314887 c
-27753 -314439 28913 -313679 29681 -312631 c
-30457 -311575 30849 -310247 30849 -308654 c
-30849 -307150 30481 -305822 29761 -304678 c
-29041 -303526 28001 -302734 26665 -302318 c
-25321 -301894 23009 -301678 19745 -301678 c
-10665 -301678 L
-10665 -315415 L
-@c
-10665 -336408 m
-21977 -336408 l
-23921 -336408 25289 -336336 26073 -336192 c
-27449 -335944 28609 -335528 29537 -334952 c
-30465 -334376 31241 -333528 31834 -332424 c
-32434 -331320 32738 -330039 32738 -328591 c
-32738 -326903 32298 -325431 31433 -324183 c
-30569 -322935 29361 -322047 27825 -321543 c
-26289 -321039 24065 -320783 21169 -320783 c
-10665 -320783 L
-10665 -336408 L
-@c
-F
-%CHAR: 140304 -341768 (a) @t
-165977 -337704 m
-163913 -339464 161913 -340712 160009 -341432 c
-158097 -342152 156041 -342520 153849 -342520 c
-150232 -342520 147448 -341632 145512 -339872 c
-143568 -338104 142592 -335840 142592 -333088 c
-142592 -331480 142960 -329999 143688 -328671 c
-144424 -327343 145392 -326263 146576 -325463 c
-147760 -324663 149104 -324047 150592 -323631 c
-151689 -323343 153345 -323063 155553 -322799 c
-160057 -322263 163377 -321615 165505 -320871 C
-165521 -320111 165537 -319623 165537 -319415 c
-165537 -317143 165009 -315543 163961 -314615 c
-162537 -313351 160409 -312719 157601 -312719 c
-154977 -312719 153041 -313183 151793 -314095 c
-150544 -315015 149608 -316647 149016 -318983 C
-143552 -318239 L
-144048 -315903 144864 -314015 146000 -312583 c
-147136 -311143 148792 -310031 150937 -309262 c
-153081 -308494 155577 -308102 158409 -308102 c
-161217 -308102 163505 -308438 165257 -309094 c
-167017 -309750 168313 -310591 169137 -311591 c
-169961 -312591 170545 -313863 170873 -315383 c
-171057 -316335 171153 -318055 171153 -320535 c
-171153 -327975 l
-171153 -333160 171273 -336448 171505 -337816 c
-171745 -339192 172218 -340512 172922 -341768 C
-167089 -341768 L
-166513 -340616 166129 -339256 165969 -337712 C
-165977 -337704 L
-@c
-165513 -325239 m
-163481 -326071 160441 -326775 156393 -327351 c
-154105 -327679 152473 -328055 151529 -328463 c
-150576 -328879 149832 -329487 149320 -330279 c
-148808 -331079 148544 -331968 148544 -332936 c
-148544 -334424 149112 -335664 150232 -336656 c
-151361 -337648 153017 -338144 155185 -338144 c
-157329 -338144 159249 -337672 160921 -336736 c
-162593 -335792 163825 -334504 164609 -332872 c
-165201 -331616 165505 -329751 165505 -327295 c
-165513 -325239 L
-@c
-F
-%CHAR: 0 -412840 (C) @t
-37330 -396903 m
-43338 -398423 L
-42082 -403368 39810 -407136 36538 -409728 c
-33266 -412320 29257 -413616 24521 -413616 c
-19625 -413616 15641 -412616 12577 -410624 c
-9504 -408632 7168 -405736 5568 -401959 c
-3968 -398183 3160 -394111 3160 -389775 c
-3160 -385047 4064 -380910 5872 -377390 c
-7680 -373870 10256 -371182 13593 -369358 c
-16929 -367534 20609 -366614 24617 -366614 c
-29161 -366614 32986 -367774 36082 -370086 c
-39186 -372398 41354 -375662 42570 -379854 C
-36642 -381247 L
-35594 -377942 34058 -375526 32058 -374022 c
-30057 -372518 27529 -371758 24489 -371758 c
-21001 -371758 18073 -372598 15729 -374270 c
-13385 -375942 11729 -378198 10785 -381014 c
-9840 -383831 9360 -386751 9360 -389743 c
-9360 -393607 9928 -396983 11049 -399863 c
-12169 -402744 13929 -404904 16305 -406328 c
-18681 -407752 21257 -408472 24025 -408472 c
-27393 -408472 30249 -407496 32586 -405560 c
-34922 -403616 36506 -400727 37330 -396903 C
-@c
-F
-%CHAR: 143808 -412840 (1) @t
-167465 -412840 m
-161881 -412840 L
-161881 -377278 L
-160537 -378558 158769 -379846 156593 -381127 c
-154417 -382407 152448 -383367 150720 -384007 C
-150720 -378614 L
-153840 -377150 156569 -375366 158905 -373286 c
-161241 -371198 162897 -369166 163865 -367206 C
-167465 -367206 L
-167465 -412840 L
-@c
-F
-T
-@rax 298.00573 52.50643 381.29613 176.63839 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 304.50528020 174.93193061] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/MTExtra 63499.00000 z
-%CHAR: 52952 -57480 (a) @t
-57712 -43511 m
-57712 -57736 L
-54536 -57736 L
-54536 -25726 L
-57712 -25726 L
-57712 -39951 L
-106539 -39951 L
-105314 -38727 103586 -36783 101362 -34143 c
-99138 -31503 97242 -29199 95682 -27255 C
-97906 -25030 L
-102130 -30071 107451 -35639 113843 -41735 C
-107451 -47832 102130 -53400 97906 -58432 C
-95682 -56216 L
-100802 -49824 104426 -45583 106539 -43511 C
-57712 -43511 L
-@c
-F
-%CHAR: 52952 -128552 (a) @t
-57712 -114583 m
-57712 -128808 L
-54536 -128808 L
-54536 -96798 L
-57712 -96798 L
-57712 -111023 L
-106539 -111023 L
-105314 -109799 103586 -107855 101362 -105215 c
-99138 -102575 97242 -100271 95682 -98327 C
-97906 -96102 L
-102130 -101143 107451 -106711 113843 -112807 C
-107451 -118904 102130 -124472 97906 -129504 C
-95682 -127288 L
-100802 -120896 104426 -116655 106539 -114583 C
-57712 -114583 L
-@c
-F
-%CHAR: 52952 -199624 (a) @t
-57712 -185655 m
-57712 -199880 L
-54536 -199880 L
-54536 -167870 L
-57712 -167870 L
-57712 -182095 L
-106539 -182095 L
-105314 -180871 103586 -178927 101362 -176287 c
-99138 -173647 97242 -171343 95682 -169399 C
-97906 -167174 L
-102130 -172215 107451 -177783 113843 -183879 C
-107451 -189976 102130 -195544 97906 -200576 C
-95682 -198360 L
-100802 -191968 104426 -187727 106539 -185655 C
-57712 -185655 L
-@c
-F
-%CHAR: 56488 -270696 (a) @t
-61248 -256727 m
-61248 -270952 L
-58072 -270952 L
-58072 -238942 L
-61248 -238942 L
-61248 -253167 L
-110075 -253167 L
-108850 -251943 107122 -249999 104898 -247359 c
-102674 -244719 100778 -242415 99218 -240471 C
-101442 -238246 L
-105666 -243287 110987 -248855 117379 -254951 C
-110987 -261048 105666 -266616 101442 -271648 C
-99218 -269432 L
-104338 -263040 107962 -258799 110075 -256727 C
-61248 -256727 L
-@c
-F
-%CHAR: 59992 -341768 (a) @t
-64752 -327799 m
-64752 -342024 L
-61576 -342024 L
-61576 -310014 L
-64752 -310014 L
-64752 -324239 L
-113579 -324239 L
-112354 -323015 110626 -321071 108402 -318431 c
-106178 -315791 104282 -313487 102722 -311543 C
-104946 -309318 L
-109170 -314359 114491 -319927 120883 -326023 C
-114491 -332120 109170 -337688 104946 -342720 C
-102722 -340504 L
-107842 -334112 111466 -329871 113579 -327799 C
-64752 -327799 L
-@c
-F
-%CHAR: 63496 -412840 (a) @t
-68256 -398871 m
-68256 -413096 L
-65080 -413096 L
-65080 -381086 L
-68256 -381086 L
-68256 -395311 L
-117083 -395311 L
-115858 -394087 114130 -392143 111906 -389503 c
-109682 -386863 107786 -384559 106226 -382615 C
-108450 -380390 L
-112674 -385431 117995 -390999 124387 -397095 C
-117995 -403192 112674 -408760 108450 -413792 C
-106226 -411576 L
-111346 -405184 114970 -400943 117083 -398871 C
-68256 -398871 L
-@c
-F
-T
-@rax 413.35115 55.92019 553.73272 208.51654 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 419.85069330 205.98632317] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_LucidaConsole 42333.00000 z
-%CHAR: 0 -33408 (P) @t
-4716 -33408 m
-4716 -6890 L
-13331 -6890 l
-16403 -6890 18599 -7166 19907 -7718 c
-22582 -8876 23920 -11114 23920 -14413 c
-23920 -17197 22840 -19381 20687 -20965 c
-18527 -22549 15551 -23341 11765 -23341 c
-8789 -23341 L
-8789 -33408 L
-4716 -33408 L
-@c
-8789 -20281 m
-11327 -20281 l
-16841 -20281 19601 -18349 19601 -14497 c
-19601 -12877 19079 -11708 18041 -11006 c
-16997 -10304 15263 -9950 12839 -9950 c
-8789 -9950 L
-8789 -20281 L
-@c
-F
-%CHAR: 25530 -33408 (o) @t
-38285 -33930 m
-34991 -33930 32400 -32880 30522 -30798 c
-28644 -28710 27702 -25837 27702 -22189 c
-27702 -18553 28650 -15685 30534 -13597 c
-32418 -11510 35009 -10466 38285 -10466 c
-41573 -10466 44165 -11510 46043 -13597 c
-47926 -15685 48868 -18553 48868 -22189 c
-48868 -25837 47926 -28710 46049 -30792 c
-44165 -32880 41573 -33924 38285 -33924 C
-38285 -33930 L
-@c
-38285 -30864 m
-40241 -30864 41771 -30096 42869 -28572 c
-43973 -27048 44525 -24913 44525 -22189 c
-44525 -19477 43973 -17347 42875 -15823 c
-41771 -14293 40241 -13525 38285 -13525 c
-36329 -13525 34799 -14293 33701 -15817 c
-32597 -17347 32046 -19477 32046 -22189 c
-32046 -24913 32597 -27048 33695 -28572 c
-34799 -30096 36329 -30864 38285 -30864 c
-@c
-F
-%CHAR: 51060 -33408 (k) @t
-55464 -33408 m
-55464 -770 L
-59537 -770 L
-59537 -21667 L
-68957 -10958 L
-73366 -10958 L
-64481 -21055 L
-75616 -33408 L
-70115 -33408 L
-59537 -21667 L
-59537 -33408 L
-55464 -33408 L
-@c
-F
-%CHAR: 76590 -33408 (u) @t
-98332 -10958 m
-98332 -33408 L
-94259 -33408 L
-94259 -29196 L
-92387 -32346 89825 -33924 86585 -33924 c
-82350 -33924 80226 -31386 80226 -26323 c
-80226 -10958 L
-84299 -10958 L
-84299 -25207 l
-84299 -26970 84569 -28224 85103 -28956 c
-85637 -29688 86555 -30060 87851 -30060 c
-89891 -30060 92027 -28584 94259 -25639 C
-94259 -10958 L
-98332 -10958 L
-@c
-F
-%CHAR: 102120 -33408 (d) @t
-120311 -33408 m
-120311 -29196 L
-118325 -32346 115865 -33924 112949 -33924 c
-110417 -33924 108414 -32940 106950 -30972 c
-105486 -29004 104748 -26317 104748 -22933 c
-104748 -19213 105618 -16201 107352 -13909 c
-109086 -11618 111359 -10466 114167 -10466 c
-116579 -10466 118631 -11486 120311 -13525 C
-120311 -770 L
-124384 -770 L
-124384 -33408 L
-120311 -33408 L
-@c
-120311 -16585 m
-118409 -14545 116543 -13525 114731 -13525 c
-112943 -13525 111551 -14311 110567 -15883 c
-109583 -17455 109092 -19669 109092 -22519 c
-109092 -27792 110669 -30432 113819 -30432 c
-116117 -30432 118283 -28998 120311 -26137 C
-120311 -16585 L
-@c
-F
-%CHAR: 153180 -33408 (c) @t
-175984 -32682 m
-173573 -33510 171167 -33924 168767 -33924 c
-164855 -33924 161837 -32904 159726 -30870 c
-157614 -28830 156552 -25933 156552 -22189 c
-156552 -18511 157596 -15631 159684 -13567 c
-161771 -11504 164675 -10466 168395 -10466 c
-170765 -10466 173159 -10826 175570 -11546 C
-175570 -14953 L
-172913 -14005 170639 -13525 168767 -13525 c
-166319 -13525 164387 -14299 162995 -15841 c
-161597 -17383 160895 -19501 160895 -22189 c
-160895 -24901 161645 -27024 163133 -28560 c
-164627 -30096 166697 -30864 169325 -30864 c
-171293 -30864 173519 -30402 175984 -29484 C
-175984 -32682 L
-@c
-F
-%CHAR: 204240 -33408 (n) @t
-208002 -33408 m
-208002 -10958 L
-212075 -10958 L
-212075 -15181 L
-213947 -12038 216497 -10466 219725 -10466 c
-223985 -10466 226114 -12997 226114 -18055 c
-226114 -33408 L
-222041 -33408 L
-222041 -19171 l
-222041 -17419 221765 -16171 221225 -15439 c
-220679 -14701 219761 -14329 218483 -14329 c
-216443 -14329 214307 -15799 212075 -18739 C
-212075 -33408 L
-208002 -33408 L
-@c
-F
-%CHAR: 229770 -33408 (e) @t
-252472 -32520 m
-249647 -33456 247049 -33924 244697 -33924 c
-240839 -33924 237869 -32928 235800 -30948 c
-233724 -28968 232686 -26125 232686 -22435 c
-232686 -18955 233682 -16081 235668 -13837 c
-237659 -11594 240197 -10466 243269 -10466 c
-246365 -10466 248657 -11396 250121 -13255 c
-251590 -15115 252328 -18013 252328 -21937 c
-252328 -23239 L
-237029 -23239 L
-237329 -28320 240071 -30864 245255 -30864 c
-247445 -30864 249857 -30342 252472 -29298 C
-252472 -32520 L
-@c
-237155 -20179 m
-247985 -20179 L
-247985 -19603 l
-247985 -15553 246293 -13525 242915 -13525 c
-241295 -13525 239969 -14113 238961 -15283 c
-237947 -16453 237341 -18091 237149 -20179 C
-237155 -20179 L
-@c
-F
-%CHAR: 255300 -33408 (f) @t
-264479 -33408 m
-264479 -14539 L
-258360 -14539 L
-258360 -11480 L
-264479 -11480 L
-264479 -9104 l
-264479 -5966 265211 -3704 266669 -2324 c
-268127 -944 270527 -254 273863 -254 c
-276065 -254 278158 -554 280126 -1148 C
-280126 -4370 L
-278116 -3668 276125 -3314 274169 -3314 c
-272093 -3314 270629 -3710 269801 -4502 c
-268973 -5294 268553 -6692 268553 -8672 c
-268553 -11480 L
-279280 -11480 L
-279280 -14539 L
-268553 -14539 L
-268553 -33408 L
-264479 -33408 L
-@c
-F
-%CHAR: 280830 -33408 (u) @t
-302572 -10958 m
-302572 -33408 L
-298499 -33408 L
-298499 -29196 L
-296627 -32346 294065 -33924 290825 -33924 c
-286590 -33924 284466 -31386 284466 -26323 c
-284466 -10958 L
-288539 -10958 L
-288539 -25207 l
-288539 -26970 288809 -28224 289343 -28956 c
-289877 -29688 290795 -30060 292091 -30060 c
-294131 -30060 296267 -28584 298499 -25639 C
-298499 -10958 L
-302572 -10958 L
-@c
-F
-%CHAR: 306360 -33408 (n) @t
-310122 -33408 m
-310122 -10958 L
-314195 -10958 L
-314195 -15181 L
-316067 -12038 318617 -10466 321845 -10466 c
-326105 -10466 328234 -12997 328234 -18055 c
-328234 -33408 L
-324161 -33408 L
-324161 -19171 l
-324161 -17419 323885 -16171 323345 -15439 c
-322799 -14701 321881 -14329 320603 -14329 c
-318563 -14329 316427 -15799 314195 -18739 C
-314195 -33408 L
-310122 -33408 L
-@c
-F
-%CHAR: 331890 -33408 (g) @t
-336276 -40919 m
-336708 -37482 L
-339143 -38514 341417 -39030 343505 -39030 c
-347861 -39030 350039 -36954 350039 -32814 c
-350231 -28758 L
-348521 -31854 346043 -33408 342803 -33408 c
-340241 -33408 338202 -32430 336696 -30486 c
-335190 -28536 334434 -25903 334434 -22597 c
-334434 -19003 335310 -16075 337056 -13825 c
-338808 -11570 341081 -10442 343877 -10442 c
-346067 -10442 348227 -11474 350351 -13525 C
-350351 -10958 L
-354178 -10958 L
-354178 -28926 l
-354178 -31830 353986 -34026 353602 -35490 c
-353218 -36954 352487 -38256 351425 -39384 c
-349733 -41183 347075 -42089 343469 -42089 c
-341345 -42089 338946 -41693 336276 -40913 C
-336276 -40919 L
-@c
-350105 -25447 m
-350105 -16621 L
-348269 -14557 346373 -13519 344417 -13519 c
-342641 -13519 341255 -14293 340265 -15835 c
-339275 -17377 338778 -19543 338778 -22327 c
-338778 -24679 339215 -26526 340079 -27852 c
-340943 -29184 342161 -29850 343715 -29850 c
-346127 -29850 348257 -28380 350105 -25453 C
-350105 -25447 L
-@c
-F
-%CHAR: 357420 -33408 (u) @t
-379162 -10958 m
-379162 -33408 L
-375089 -33408 L
-375089 -29196 L
-373217 -32346 370655 -33924 367415 -33924 c
-363180 -33924 361056 -31386 361056 -26323 c
-361056 -10958 L
-365129 -10958 L
-365129 -25207 l
-365129 -26970 365399 -28224 365933 -28956 c
-366467 -29688 367385 -30060 368681 -30060 c
-370721 -30060 372857 -28584 375089 -25639 C
-375089 -10958 L
-379162 -10958 L
-@c
-F
-%CHAR: 382950 -33408 (j) @t
-386010 -41003 m
-386010 -37590 L
-388128 -38550 390233 -39036 392309 -39036 c
-394043 -39036 395237 -38598 395873 -37728 c
-396515 -36852 396839 -35226 396839 -32856 c
-396839 -14017 L
-387660 -14017 L
-387660 -10958 L
-400913 -10958 L
-400913 -32028 l
-400913 -35514 400223 -38064 398855 -39666 c
-397487 -41267 395297 -42071 392309 -42071 c
-390353 -42071 388254 -41711 386010 -40997 C
-386010 -41003 L
-@c
-396323 -5876 m
-396323 -770 L
-401429 -770 L
-401429 -5876 L
-396323 -5876 L
-@c
-F
-%CHAR: 408480 -33408 (e) @t
-431182 -32520 m
-428357 -33456 425759 -33924 423407 -33924 c
-419549 -33924 416579 -32928 414510 -30948 c
-412434 -28968 411396 -26125 411396 -22435 c
-411396 -18955 412392 -16081 414378 -13837 c
-416369 -11594 418907 -10466 421979 -10466 c
-425075 -10466 427367 -11396 428831 -13255 c
-430300 -15115 431038 -18013 431038 -21937 c
-431038 -23239 L
-415739 -23239 L
-416039 -28320 418781 -30864 423965 -30864 c
-426155 -30864 428567 -30342 431182 -29298 C
-431182 -32520 L
-@c
-415865 -20179 m
-426695 -20179 L
-426695 -19603 l
-426695 -15553 425003 -13525 421625 -13525 c
-420005 -13525 418679 -14113 417671 -15283 c
-416657 -16453 416051 -18091 415859 -20179 C
-415865 -20179 L
-@c
-F
-%CHAR: 434010 -33408 (:) @t
-443705 -17077 m
-443705 -10958 L
-449825 -10958 L
-449825 -17077 L
-443705 -17077 L
-@c
-443705 -33408 m
-443705 -27288 L
-449825 -27288 L
-449825 -33408 L
-443705 -33408 L
-@c
-F
-T
-@rax 413.35115 55.92019 553.73272 208.51654 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 419.85069330 205.98632317] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 63499.00000 z
-%CHAR: 0 -154990 (1) @t
-23657 -154990 m
-18073 -154990 L
-18073 -119428 L
-16729 -120708 14961 -121996 12785 -123277 c
-10609 -124557 8640 -125517 6912 -126157 C
-6912 -120764 L
-10032 -119300 12761 -117516 15097 -115436 c
-17433 -113348 19089 -111316 20057 -109356 C
-23657 -109356 L
-23657 -154990 L
-@c
-F
-%CHAR: 133264 -154990 (3) @t
-135928 -142989 m
-141504 -142253 L
-142144 -145414 143240 -147694 144777 -149086 c
-146313 -150478 148201 -151182 150409 -151182 c
-153033 -151182 155249 -150270 157057 -148454 c
-158865 -146638 159769 -144381 159769 -141693 c
-159769 -139133 158929 -137013 157257 -135349 c
-155585 -133685 153449 -132853 150873 -132853 c
-149817 -132853 148505 -133061 146937 -133477 C
-147553 -128581 L
-147921 -128613 148225 -128637 148449 -128637 c
-150825 -128637 152969 -128013 154865 -126781 c
-156769 -125541 157721 -123621 157721 -121044 c
-157721 -118996 157025 -117300 155649 -115956 c
-154265 -114612 152473 -113940 150281 -113940 c
-148113 -113940 146297 -114628 144857 -115988 c
-143416 -117348 142480 -119404 142064 -122124 C
-136488 -121132 L
-137160 -117396 138712 -114492 141128 -112444 c
-143544 -110388 146561 -109356 150161 -109356 c
-152641 -109356 154929 -109892 157009 -110948 c
-159097 -112012 160697 -113468 161801 -115308 c
-162905 -117148 163457 -119100 163457 -121164 c
-163457 -123132 162929 -124925 161881 -126533 c
-160825 -128141 159257 -129429 157193 -130373 C
-159881 -130997 161969 -132285 163457 -134237 c
-164945 -136189 165690 -138637 165690 -141565 c
-165690 -145534 164241 -148902 161353 -151654 c
-158457 -154414 154793 -155798 150377 -155798 c
-146393 -155798 143072 -154606 140440 -152238 c
-137808 -149862 136296 -146774 135928 -142997 c
-135928 -142989 L
-@c
-F
-%CHAR: 0 -226062 (2) @t
-31970 -220702 m
-31962 -226062 L
-1920 -226062 L
-1880 -224726 2096 -223430 2568 -222190 c
-3336 -220142 4560 -218126 6240 -216142 c
-7920 -214157 10360 -211861 13545 -209261 c
-18481 -205213 21825 -201997 23553 -199637 c
-25289 -197269 26161 -195029 26161 -192924 c
-26161 -190716 25369 -188844 23793 -187324 c
-22209 -185804 20145 -185044 17609 -185044 c
-14921 -185044 12769 -185852 11161 -187460 c
-9544 -189076 8728 -191316 8712 -194164 C
-2976 -193572 L
-3360 -189300 4840 -186036 7400 -183796 c
-9960 -181556 13409 -180428 17729 -180428 c
-22089 -180428 25545 -181636 28081 -184052 c
-30625 -186468 31898 -189476 31898 -193044 c
-31898 -194861 31521 -196653 30785 -198405 c
-30041 -200165 28801 -202021 27081 -203957 c
-25353 -205901 22481 -208573 18473 -211957 c
-15129 -214765 12969 -216678 12025 -217678 c
-11081 -218678 10288 -219694 9672 -220702 C
-31970 -220702 L
-@c
-F
-%CHAR: 133264 -226062 (l) @t
-137328 -226062 m
-137320 -180612 L
-142904 -180612 L
-142904 -226062 L
-137328 -226062 L
-@c
-F
-%CHAR: 147368 -226062 (o) @t
-149480 -209597 m
-149480 -203501 151168 -198981 154560 -196053 c
-157392 -193620 160849 -192396 164913 -192396 c
-169441 -192396 173145 -193884 176009 -196845 c
-178881 -199805 180322 -203909 180322 -209133 c
-180322 -213373 179682 -216710 178417 -219134 c
-177145 -221566 175289 -223454 172865 -224798 c
-170441 -226142 167785 -226814 164913 -226814 c
-160305 -226814 156576 -225334 153736 -222382 c
-150896 -219422 149472 -215157 149472 -209605 C
-149480 -209597 L
-@c
-155208 -209597 m
-155208 -213813 156128 -216974 157969 -219070 c
-159809 -221166 162129 -222222 164913 -222222 c
-167681 -222222 169985 -221166 171825 -219062 c
-173665 -216950 174585 -213733 174585 -209413 c
-174585 -205349 173657 -202261 171809 -200165 c
-169961 -198069 167657 -197013 164913 -197013 c
-162129 -197013 159809 -198061 157969 -200141 c
-156128 -202229 155208 -205389 155208 -209605 C
-155208 -209597 L
-@c
-F
-%CHAR: 182680 -226062 (c) @t
-208353 -213997 m
-213833 -214717 L
-213241 -218494 211697 -221462 209233 -223598 c
-206769 -225742 203729 -226814 200129 -226814 c
-195633 -226814 192008 -225342 189272 -222398 c
-186536 -219454 185160 -215221 185160 -209725 c
-185160 -206173 185752 -203061 186920 -200397 c
-188096 -197733 189896 -195725 192296 -194397 c
-194705 -193068 197329 -192396 200161 -192396 c
-203737 -192396 206665 -193300 208937 -195109 c
-211209 -196917 212665 -199485 213305 -202813 C
-207881 -203653 L
-207369 -201445 206449 -199773 205137 -198661 c
-203825 -197541 202233 -196981 200377 -196981 c
-197569 -196981 195281 -197989 193529 -200005 c
-191776 -202021 190896 -205213 190896 -209573 c
-190896 -213989 191744 -217214 193433 -219214 c
-195129 -221214 197345 -222222 200073 -222222 c
-202257 -222222 204089 -221550 205553 -220206 c
-207025 -218862 207961 -216790 208345 -214005 C
-208353 -213997 L
-@c
-F
-%CHAR: 214432 -226062 (a) @t
-240105 -221998 m
-238041 -223758 236041 -225006 234137 -225726 c
-232225 -226446 230169 -226814 227977 -226814 c
-224360 -226814 221576 -225926 219640 -224166 c
-217696 -222398 216720 -220134 216720 -217382 c
-216720 -215774 217088 -214293 217816 -212965 c
-218552 -211637 219520 -210557 220704 -209757 c
-221888 -208957 223232 -208341 224720 -207925 c
-225817 -207637 227473 -207357 229681 -207093 c
-234185 -206557 237505 -205909 239633 -205165 C
-239649 -204405 239665 -203917 239665 -203709 c
-239665 -201437 239137 -199837 238089 -198909 c
-236665 -197645 234537 -197013 231729 -197013 c
-229105 -197013 227169 -197477 225921 -198389 c
-224672 -199309 223736 -200941 223144 -203277 C
-217680 -202533 L
-218176 -200197 218992 -198309 220128 -196877 c
-221264 -195437 222920 -194325 225065 -193556 c
-227209 -192788 229705 -192396 232537 -192396 c
-235345 -192396 237633 -192732 239385 -193388 c
-241145 -194044 242441 -194885 243265 -195885 c
-244089 -196885 244673 -198157 245001 -199677 c
-245185 -200629 245281 -202349 245281 -204829 c
-245281 -212269 l
-245281 -217454 245401 -220742 245633 -222110 c
-245873 -223486 246346 -224806 247050 -226062 C
-241217 -226062 L
-240641 -224910 240257 -223550 240097 -222006 C
-240105 -221998 L
-@c
-239641 -209533 m
-237609 -210365 234569 -211069 230521 -211645 c
-228233 -211973 226601 -212349 225657 -212757 c
-224704 -213173 223960 -213781 223448 -214573 c
-222936 -215373 222672 -216262 222672 -217230 c
-222672 -218718 223240 -219958 224360 -220950 c
-225489 -221942 227145 -222438 229313 -222438 c
-231457 -222438 233377 -221966 235049 -221030 c
-236721 -220086 237953 -218798 238737 -217166 c
-239329 -215910 239633 -214045 239633 -211589 c
-239641 -209533 L
-@c
-F
-%CHAR: 249744 -226062 (l) @t
-253808 -226062 m
-253800 -180612 L
-259384 -180612 L
-259384 -226062 L
-253808 -226062 L
-@c
-F
-%CHAR: 0 -297134 (3) @t
-2664 -285133 m
-8240 -284397 L
-8880 -287558 9976 -289838 11513 -291230 c
-13049 -292622 14937 -293326 17145 -293326 c
-19769 -293326 21985 -292414 23793 -290598 c
-25601 -288782 26505 -286525 26505 -283837 c
-26505 -281277 25665 -279157 23993 -277493 c
-22321 -275829 20185 -274997 17609 -274997 c
-16553 -274997 15241 -275205 13673 -275621 C
-14289 -270725 L
-14657 -270757 14961 -270781 15185 -270781 c
-17561 -270781 19705 -270157 21601 -268925 c
-23505 -267685 24457 -265765 24457 -263188 c
-24457 -261140 23761 -259444 22385 -258100 c
-21001 -256756 19209 -256084 17017 -256084 c
-14849 -256084 13033 -256772 11593 -258132 c
-10152 -259492 9216 -261548 8800 -264268 C
-3224 -263276 L
-3896 -259540 5448 -256636 7864 -254588 c
-10280 -252532 13297 -251500 16897 -251500 c
-19377 -251500 21665 -252036 23745 -253092 c
-25833 -254156 27433 -255612 28537 -257452 c
-29641 -259292 30193 -261244 30193 -263308 c
-30193 -265276 29665 -267069 28617 -268677 c
-27561 -270285 25993 -271573 23929 -272517 C
-26617 -273141 28705 -274429 30193 -276381 c
-31681 -278333 32426 -280781 32426 -283709 c
-32426 -287678 30977 -291046 28089 -293798 c
-25193 -296558 21529 -297942 17113 -297942 c
-13129 -297942 9808 -296750 7176 -294382 c
-4544 -292006 3032 -288918 2664 -285141 c
-2664 -285133 L
-@c
-F
-%CHAR: 133264 -297134 (b) @t
-142600 -297134 m
-137416 -297134 L
-137416 -251684 L
-142992 -251684 L
-142992 -267901 L
-145345 -264948 148361 -263468 152017 -263468 c
-154041 -263468 155961 -263876 157769 -264692 c
-159577 -265509 161065 -266661 162233 -268133 c
-163401 -269605 164321 -271397 164977 -273477 c
-165634 -275565 165970 -277805 165970 -280181 c
-165970 -285821 164569 -290190 161785 -293262 c
-159001 -296342 155641 -297886 151737 -297886 c
-147857 -297886 144801 -296262 142592 -293014 C
-142600 -297134 L
-@c
-142536 -280421 m
-142536 -284373 143072 -287230 144145 -288982 c
-145897 -291854 148281 -293294 151273 -293294 c
-153705 -293294 155817 -292230 157593 -290118 c
-159369 -287998 160265 -284837 160265 -280645 c
-160265 -276349 159409 -273173 157713 -271125 c
-156009 -269077 153937 -268053 151521 -268053 c
-149089 -268053 146977 -269117 145201 -271229 c
-143424 -273349 142528 -276421 142528 -280429 C
-142536 -280421 L
-@c
-F
-%CHAR: 0 -368206 (A) @t
--104 -368206 m
-17361 -322756 L
-23841 -322756 L
-42442 -368206 L
-35594 -368206 L
-30289 -354445 L
-11281 -354445 L
-6288 -368206 L
--104 -368206 L
-@c
-13025 -349541 m
-28425 -349541 L
-23681 -336957 l
-22241 -333132 21161 -329988 20457 -327532 C
-19881 -330444 19065 -333340 18009 -336212 c
-13025 -349541 L
-@c
-F
-%CHAR: 136800 -368206 (3) @t
-139464 -356205 m
-145040 -355469 L
-145680 -358630 146776 -360910 148313 -362302 c
-149849 -363694 151737 -364398 153945 -364398 c
-156569 -364398 158785 -363486 160593 -361670 c
-162401 -359854 163305 -357597 163305 -354909 c
-163305 -352349 162465 -350229 160793 -348565 c
-159121 -346901 156985 -346069 154409 -346069 c
-153353 -346069 152041 -346277 150473 -346693 C
-151089 -341797 L
-151457 -341829 151761 -341853 151985 -341853 c
-154361 -341853 156505 -341229 158401 -339997 c
-160305 -338757 161257 -336837 161257 -334260 c
-161257 -332212 160561 -330516 159185 -329172 c
-157801 -327828 156009 -327156 153817 -327156 c
-151649 -327156 149833 -327844 148393 -329204 c
-146952 -330564 146016 -332620 145600 -335340 C
-140024 -334348 L
-140696 -330612 142248 -327708 144664 -325660 c
-147080 -323604 150097 -322572 153697 -322572 c
-156177 -322572 158465 -323108 160545 -324164 c
-162633 -325228 164233 -326684 165337 -328524 c
-166441 -330364 166993 -332316 166993 -334380 c
-166993 -336348 166465 -338141 165417 -339749 c
-164361 -341357 162793 -342645 160729 -343589 C
-163417 -344213 165505 -345501 166993 -347453 c
-168481 -349405 169226 -351853 169226 -354781 c
-169226 -358750 167777 -362118 164889 -364870 c
-161993 -367630 158329 -369014 153913 -369014 c
-149929 -369014 146608 -367822 143976 -365454 c
-141344 -363078 139832 -359990 139464 -356213 c
-139464 -356205 L
-@c
-F
-%CHAR: 0 -439278 (B) @t
-4648 -439278 m
-4648 -393828 L
-21697 -393828 l
-25169 -393828 27953 -394292 30049 -395204 c
-32146 -396124 33802 -397548 34986 -399452 c
-36170 -401364 36770 -403372 36770 -405452 c
-36770 -407396 36242 -409229 35194 -410941 c
-34138 -412653 32538 -414045 30409 -415101 C
-33162 -415901 35282 -417285 36754 -419221 c
-38226 -421157 38970 -423461 38970 -426101 c
-38970 -428229 38522 -430222 37626 -432046 c
-36730 -433870 35610 -435286 34290 -436278 c
-32970 -437270 31305 -438022 29313 -438518 c
-27321 -439022 24873 -439278 21977 -439278 c
-4648 -439278 L
-@c
-10665 -412925 m
-20489 -412925 l
-23153 -412925 25073 -412749 26225 -412397 c
-27753 -411949 28913 -411189 29681 -410141 c
-30457 -409085 30849 -407757 30849 -406164 c
-30849 -404660 30481 -403332 29761 -402188 c
-29041 -401036 28001 -400244 26665 -399828 c
-25321 -399404 23009 -399188 19745 -399188 c
-10665 -399188 L
-10665 -412925 L
-@c
-10665 -433918 m
-21977 -433918 l
-23921 -433918 25289 -433846 26073 -433702 c
-27449 -433454 28609 -433038 29537 -432462 c
-30465 -431886 31241 -431038 31834 -429934 c
-32434 -428830 32738 -427549 32738 -426101 c
-32738 -424413 32298 -422941 31433 -421693 c
-30569 -420445 29361 -419557 27825 -419053 c
-26289 -418549 24065 -418293 21169 -418293 c
-10665 -418293 L
-10665 -433918 L
-@c
-F
-%CHAR: 140304 -439278 (a) @t
-165977 -435214 m
-163913 -436974 161913 -438222 160009 -438942 c
-158097 -439662 156041 -440030 153849 -440030 c
-150232 -440030 147448 -439142 145512 -437382 c
-143568 -435614 142592 -433350 142592 -430598 c
-142592 -428990 142960 -427509 143688 -426181 c
-144424 -424853 145392 -423773 146576 -422973 c
-147760 -422173 149104 -421557 150592 -421141 c
-151689 -420853 153345 -420573 155553 -420309 c
-160057 -419773 163377 -419125 165505 -418381 C
-165521 -417621 165537 -417133 165537 -416925 c
-165537 -414653 165009 -413053 163961 -412125 c
-162537 -410861 160409 -410229 157601 -410229 c
-154977 -410229 153041 -410693 151793 -411605 c
-150544 -412525 149608 -414157 149016 -416493 C
-143552 -415749 L
-144048 -413413 144864 -411525 146000 -410093 c
-147136 -408653 148792 -407541 150937 -406772 c
-153081 -406004 155577 -405612 158409 -405612 c
-161217 -405612 163505 -405948 165257 -406604 c
-167017 -407260 168313 -408101 169137 -409101 c
-169961 -410101 170545 -411373 170873 -412893 c
-171057 -413845 171153 -415565 171153 -418045 c
-171153 -425485 l
-171153 -430670 171273 -433958 171505 -435326 c
-171745 -436702 172218 -438022 172922 -439278 C
-167089 -439278 L
-166513 -438126 166129 -436766 165969 -435222 C
-165977 -435214 L
-@c
-165513 -422749 m
-163481 -423581 160441 -424285 156393 -424861 c
-154105 -425189 152473 -425565 151529 -425973 c
-150576 -426389 149832 -426997 149320 -427789 c
-148808 -428589 148544 -429478 148544 -430446 c
-148544 -431934 149112 -433174 150232 -434166 c
-151361 -435158 153017 -435654 155185 -435654 c
-157329 -435654 159249 -435182 160921 -434246 c
-162593 -433302 163825 -432014 164609 -430382 c
-165201 -429126 165505 -427261 165505 -424805 c
-165513 -422749 L
-@c
-F
-%CHAR: 0 -510350 (C) @t
-37330 -494413 m
-43338 -495933 L
-42082 -500878 39810 -504646 36538 -507238 c
-33266 -509830 29257 -511126 24521 -511126 c
-19625 -511126 15641 -510126 12577 -508134 c
-9504 -506142 7168 -503246 5568 -499469 c
-3968 -495693 3160 -491621 3160 -487285 c
-3160 -482557 4064 -478420 5872 -474900 c
-7680 -471380 10256 -468692 13593 -466868 c
-16929 -465044 20609 -464124 24617 -464124 c
-29161 -464124 32986 -465284 36082 -467596 c
-39186 -469908 41354 -473172 42570 -477364 C
-36642 -478757 L
-35594 -475452 34058 -473036 32058 -471532 c
-30057 -470028 27529 -469268 24489 -469268 c
-21001 -469268 18073 -470108 15729 -471780 c
-13385 -473452 11729 -475708 10785 -478524 c
-9840 -481341 9360 -484261 9360 -487253 c
-9360 -491117 9928 -494493 11049 -497373 c
-12169 -500254 13929 -502414 16305 -503838 c
-18681 -505262 21257 -505982 24025 -505982 c
-27393 -505982 30249 -505006 32586 -503070 c
-34922 -501126 36506 -498237 37330 -494413 C
-@c
-F
-%CHAR: 143808 -510350 (3) @t
-146472 -498349 m
-152048 -497613 L
-152688 -500774 153784 -503054 155321 -504446 c
-156857 -505838 158745 -506542 160953 -506542 c
-163577 -506542 165793 -505630 167601 -503814 c
-169409 -501998 170313 -499741 170313 -497053 c
-170313 -494493 169473 -492373 167801 -490709 c
-166129 -489045 163993 -488213 161417 -488213 c
-160361 -488213 159049 -488421 157481 -488837 C
-158097 -483941 L
-158465 -483973 158769 -483997 158993 -483997 c
-161369 -483997 163513 -483373 165409 -482141 c
-167313 -480901 168265 -478981 168265 -476404 c
-168265 -474356 167569 -472660 166193 -471316 c
-164809 -469972 163017 -469300 160825 -469300 c
-158657 -469300 156841 -469988 155401 -471348 c
-153960 -472708 153024 -474764 152608 -477484 C
-147032 -476492 L
-147704 -472756 149256 -469852 151672 -467804 c
-154088 -465748 157105 -464716 160705 -464716 c
-163185 -464716 165473 -465252 167553 -466308 c
-169641 -467372 171241 -468828 172345 -470668 c
-173449 -472508 174001 -474460 174001 -476524 c
-174001 -478492 173473 -480285 172425 -481893 c
-171369 -483501 169801 -484789 167737 -485733 C
-170425 -486357 172513 -487645 174001 -489597 c
-175489 -491549 176234 -493997 176234 -496925 c
-176234 -500894 174785 -504262 171897 -507014 c
-169001 -509774 165337 -511158 160921 -511158 c
-156937 -511158 153616 -509966 150984 -507598 c
-148352 -505222 146840 -502134 146472 -498357 c
-146472 -498349 L
-@c
-F
-T
-@rax 413.35115 55.92019 553.73272 208.51654 @E
-[0.00028346 0.00000000 0.00000000 0.00028346 419.85069330 205.98632317] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/MTExtra 63499.00000 z
-%CHAR: 52952 -154990 (a) @t
-57712 -141021 m
-57712 -155246 L
-54536 -155246 L
-54536 -123236 L
-57712 -123236 L
-57712 -137461 L
-106539 -137461 L
-105314 -136237 103586 -134293 101362 -131653 c
-99138 -129013 97242 -126709 95682 -124765 C
-97906 -122540 L
-102130 -127581 107451 -133149 113843 -139245 C
-107451 -145342 102130 -150910 97906 -155942 C
-95682 -153726 L
-100802 -147334 104426 -143093 106539 -141021 C
-57712 -141021 L
-@c
-F
-%CHAR: 52952 -226062 (a) @t
-57712 -212093 m
-57712 -226318 L
-54536 -226318 L
-54536 -194308 L
-57712 -194308 L
-57712 -208533 L
-106539 -208533 L
-105314 -207309 103586 -205365 101362 -202725 c
-99138 -200085 97242 -197781 95682 -195837 C
-97906 -193612 L
-102130 -198653 107451 -204221 113843 -210317 C
-107451 -216414 102130 -221982 97906 -227014 C
-95682 -224798 L
-100802 -218406 104426 -214165 106539 -212093 C
-57712 -212093 L
-@c
-F
-%CHAR: 52952 -297134 (a) @t
-57712 -283165 m
-57712 -297390 L
-54536 -297390 L
-54536 -265380 L
-57712 -265380 L
-57712 -279605 L
-106539 -279605 L
-105314 -278381 103586 -276437 101362 -273797 c
-99138 -271157 97242 -268853 95682 -266909 C
-97906 -264684 L
-102130 -269725 107451 -275293 113843 -281389 C
-107451 -287486 102130 -293054 97906 -298086 C
-95682 -295870 L
-100802 -289478 104426 -285237 106539 -283165 C
-57712 -283165 L
-@c
-F
-%CHAR: 56488 -368206 (a) @t
-61248 -354237 m
-61248 -368462 L
-58072 -368462 L
-58072 -336452 L
-61248 -336452 L
-61248 -350677 L
-110075 -350677 L
-108850 -349453 107122 -347509 104898 -344869 c
-102674 -342229 100778 -339925 99218 -337981 C
-101442 -335756 L
-105666 -340797 110987 -346365 117379 -352461 C
-110987 -358558 105666 -364126 101442 -369158 C
-99218 -366942 L
-104338 -360550 107962 -356309 110075 -354237 C
-61248 -354237 L
-@c
-F
-%CHAR: 59992 -439278 (a) @t
-64752 -425309 m
-64752 -439534 L
-61576 -439534 L
-61576 -407524 L
-64752 -407524 L
-64752 -421749 L
-113579 -421749 L
-112354 -420525 110626 -418581 108402 -415941 c
-106178 -413301 104282 -410997 102722 -409053 C
-104946 -406828 L
-109170 -411869 114491 -417437 120883 -423533 C
-114491 -429630 109170 -435198 104946 -440230 C
-102722 -438014 L
-107842 -431622 111466 -427381 113579 -425309 C
-64752 -425309 L
-@c
-F
-%CHAR: 63496 -510350 (a) @t
-68256 -496381 m
-68256 -510606 L
-65080 -510606 L
-65080 -478596 L
-68256 -478596 L
-68256 -492821 L
-117083 -492821 L
-115858 -491597 114130 -489653 111906 -487013 c
-109682 -484373 107786 -482069 106226 -480125 C
-108450 -477900 L
-112674 -482941 117995 -488509 124387 -494605 C
-117995 -500702 112674 -506270 108450 -511302 C
-106226 -509086 L
-111346 -502694 114970 -498453 117083 -496381 C
-68256 -496381 L
-@c
-F
-T
-@rax %Note: Object
-289.47175 44.08809 557.67969 214.78422 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-289.47175 214.78422 m
-557.67969 214.78422 L
-557.67969 44.08809 L
-289.47175 44.08809 L
-289.47175 214.78422 L
-@c
-S
-
-@rax %Note: Object
-394.90328 44.73156 394.90441 215.42258 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-394.90384 215.42258 m
-394.90384 44.73156 L
-S
-
-@rax 289.96469 241.90838 299.24220 255.15298 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 289.96477394 241.90829453] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (2) @t
-42621 7150 m
-42621 0 L
-2555 0 L
-2508 1782 2790 3516 3423 5157 c
-4442 7888 6083 10584 8322 13221 c
-10573 15872 13819 18931 18064 22400 c
-24651 27792 29105 32082 31414 35235 c
-33723 38388 34884 41377 34884 44191 c
-34884 47133 33829 49630 31731 51646 c
-29621 53674 26866 54694 23479 54694 c
-19892 54694 17020 53615 14875 51470 c
-12729 49314 11639 46336 11616 42539 C
-3962 43324 L
-4477 49021 6458 53381 9869 56358 c
-13292 59347 17888 60847 23643 60847 c
-29457 60847 34063 59230 37450 56018 c
-40838 52795 42539 48786 42539 44027 c
-42539 41600 42033 39209 41049 36876 c
-40064 34532 38412 32059 36114 29480 c
-33817 26890 29984 23326 24639 18802 c
-20173 15063 17302 12518 16036 11182 c
-14770 9846 13714 8486 12893 7150 C
-42621 7150 L
-@c
-F
-T
-@rax 240.85474 290.96646 250.26605 304.44576 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 240.85469059 291.20120864] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (3) @t
-3552 16001 m
-10994 16985 L
-11838 12764 13304 9717 15344 7865 c
-17396 6013 19904 5075 22858 5075 c
-26351 5075 29316 6294 31719 8709 c
-34133 11135 35341 14149 35341 17735 c
-35341 21146 34227 23971 32000 26186 c
-29773 28402 26925 29515 23479 29515 c
-22072 29515 20314 29234 18228 28683 C
-19048 35212 L
-19541 35165 19951 35130 20255 35130 c
-23420 35130 26268 35962 28800 37615 c
-31332 39267 32610 41822 32610 45258 c
-32610 47989 31684 50263 29843 52045 c
-28003 53826 25612 54729 22694 54729 c
-19798 54729 17384 53815 15462 52009 c
-13538 50193 12284 47450 11733 43816 C
-4290 45141 L
-5204 50122 7279 53990 10490 56733 c
-13714 59476 17735 60847 22529 60847 c
-25835 60847 28882 60132 31660 58726 c
-34438 57307 36571 55362 38048 52912 c
-39525 50462 40264 47848 40264 45094 c
-40264 42480 39560 40088 38154 37943 c
-36747 35798 34661 34086 31906 32821 C
-35493 32000 38283 30277 40264 27675 c
-42244 25073 43242 21803 43242 17900 c
-43242 12600 41307 8111 37450 4442 c
-33594 762 28706 -1078 22811 -1078 c
-17501 -1078 13081 504 9564 3669 c
-6048 6833 4044 10948 3552 15989 c
-3552 16001 L
-@c
-F
-T
-@rax 94.27493 268.81852 101.14157 282.06283 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 94.27491729 268.81837052] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (1) @t
-31543 0 m
-24100 0 L
-24100 47415 L
-22307 45703 19951 43992 17044 42291 c
-14137 40580 11522 39291 9213 38435 C
-9213 45633 L
-13374 47591 17020 49970 20127 52748 c
-23244 55526 25448 58233 26737 60847 C
-31531 60847 L
-31543 0 L
-@c
-F
-T
-@rax 324.79313 264.82791 334.25717 274.81635 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 324.79316307 265.04574485] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (a) @t
-34227 5415 m
-31473 3071 28812 1418 26268 457 c
-23725 -504 20982 -996 18064 -996 c
-13245 -996 9529 188 6939 2532 c
-4349 4888 3048 7912 3048 11569 c
-3048 13714 3540 15684 4513 17454 c
-5497 19236 6787 20666 8357 21732 c
-9940 22811 11733 23631 13714 24182 c
-15169 24557 17384 24944 20338 25296 c
-26339 26011 30769 26878 33606 27863 C
-33629 28871 33641 29527 33641 29797 c
-33641 32821 32938 34966 31531 36208 c
-29632 37884 26808 38728 23057 38728 c
-19564 38728 16985 38107 15321 36888 c
-13655 35669 12413 33489 11616 30383 C
-4337 31367 L
-4993 34485 6083 37005 7595 38916 c
-9107 40826 11311 42303 14172 43336 c
-17032 44367 20361 44895 24135 44895 c
-27886 44895 30933 44449 33266 43570 c
-35610 42691 37333 41576 38435 40240 c
-39537 38904 40322 37216 40756 35177 c
-41002 33911 41131 31613 41131 28308 c
-41131 18392 l
-41131 11475 41295 7103 41600 5275 c
-41916 3446 42550 1676 43488 0 C
-35716 0 L
-34942 1535 34438 3352 34227 5415 C
-@c
-33606 22037 m
-30910 20935 26843 19986 21451 19212 c
-18392 18779 16223 18275 14958 17735 c
-13690 17185 12706 16364 12026 15309 c
-11346 14254 10994 13069 10994 11780 c
-10994 9799 11745 8134 13245 6822 c
-14747 5497 16950 4829 19834 4829 c
-22694 4829 25260 5462 27487 6705 c
-29714 7959 31367 9682 32410 11862 c
-33207 13538 33606 16024 33606 19306 c
-33606 22037 L
-@c
-F
-T
-@rax 270.42094 268.60054 279.91361 282.00784 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 270.42081867 268.81837052] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (b) @t
-12448 0 m
-5532 0 L
-5532 60601 L
-12975 60601 L
-12975 38974 L
-16118 42914 20127 44895 25003 44895 c
-27698 44895 30265 44344 32668 43265 c
-35083 42174 37075 40639 38623 38669 c
-40182 36700 41412 34321 42280 31543 c
-43160 28753 43605 25776 43605 22611 c
-43605 15086 41740 9271 38025 5169 c
-34309 1067 29843 -996 24639 -996 c
-19458 -996 15379 1172 12436 5497 C
-12448 0 L
-@c
-12366 22283 m
-12366 17020 13069 13210 14500 10866 c
-16845 7044 20021 5122 24018 5122 c
-27265 5122 30078 6540 32446 9354 c
-34813 12178 35997 16399 35997 21990 c
-35997 27710 34860 31953 32586 34673 c
-30312 37404 27558 38775 24346 38775 c
-21099 38775 18286 37357 15919 34544 c
-13550 31719 12354 27616 12354 22272 C
-12366 22283 L
-@c
-F
-T
-@rax 243.29140 233.52123 252.33420 243.50967 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 243.29134578 233.73902440] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (c) @t
-34227 16083 m
-41541 15122 L
-40744 10080 38693 6130 35411 3282 c
-32117 434 28062 -996 23268 -996 c
-17267 -996 12424 973 8779 4888 c
-5134 8814 3305 14454 3305 21779 c
-3305 26515 4091 30676 5661 34227 c
-7232 37779 9623 40451 12823 42221 c
-16036 44004 19541 44895 23315 44895 c
-28074 44895 31988 43687 35012 41272 c
-38037 38857 39994 35434 40838 31004 C
-33606 29879 L
-32926 32832 31695 35059 29949 36536 c
-28202 38025 26081 38775 23596 38775 c
-19857 38775 16809 37427 14465 34743 c
-12120 32059 10948 27804 10948 21990 c
-10948 16094 12085 11803 14336 9131 c
-16598 6458 19552 5122 23186 5122 c
-26104 5122 28554 6025 30500 7806 c
-32457 9588 33711 12354 34227 16071 c
-34227 16083 L
-@c
-F
-T
-@rax 77.74583 165.48973 90.32485 179.12920 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 77.74592832 165.71466363] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (C) @t
-49771 21252 m
-57788 19212 L
-56112 12635 53076 7607 48716 4149 c
-44356 692 38998 -1043 32692 -1043 c
-26163 -1043 20842 293 16763 2942 c
-12671 5603 9553 9459 7420 14500 c
-5286 19541 4208 24967 4208 30746 c
-4208 37052 5415 42574 7818 47262 c
-10233 51963 13667 55538 18122 57976 c
-22576 60414 27476 61633 32821 61633 c
-38880 61633 43992 60085 48118 57003 c
-52244 53920 55139 49571 56757 43980 C
-48856 42115 L
-47450 46524 45410 49747 42738 51752 c
-40064 53768 36700 54776 32657 54776 c
-28003 54776 24100 53650 20982 51423 c
-17853 49196 15649 46184 14383 42433 c
-13116 38669 12483 34778 12483 30793 c
-12483 25636 13233 21135 14735 17302 c
-16235 13456 18568 10584 21732 8685 c
-24897 6787 28343 5825 32035 5825 c
-36524 5825 40334 7126 43441 9705 c
-46559 12296 48669 16153 49771 21240 c
-49771 21252 L
-@c
-F
-T
-@rax 121.59014 368.92828 133.93672 382.11761 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 121.61878102 368.92822371] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (A) @t
--141 0 m
-23151 60601 L
-31789 60601 L
-56592 0 L
-47450 0 L
-40381 18345 L
-15040 18345 L
-8381 0 L
--141 0 L
-@c
-17360 24885 m
-37908 24885 L
-31578 41670 l
-29656 46758 28214 50955 27276 54236 C
-26503 50345 25413 46477 24018 42656 c
-17360 24885 L
-@c
-F
-T
-@rax 419.27187 344.77682 430.58183 357.96643 @E
-[0.00021766 0.00000000 0.00000000 0.00021766 419.27182886 344.77693330] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 84666.00000 z
-%CHAR: 0 0 (B) @t
-6201 0 m
-6201 60601 L
-28929 60601 l
-33559 60601 37286 59980 40076 58761 c
-42867 57542 45071 55643 46641 53100 c
-48224 50556 49021 47884 49021 45094 c
-49021 42515 48317 40064 46922 37779 c
-45516 35493 43383 33641 40545 32235 C
-44203 31168 47028 29328 48997 26749 c
-50966 24159 51963 21088 51963 17560 c
-51963 14723 51365 12085 50169 9647 c
-48974 7209 47473 5321 45715 4009 c
-43957 2684 41729 1676 39080 1008 c
-36431 340 33161 0 29304 0 c
-6201 0 L
-@c
-14219 35141 m
-27323 35130 l
-30875 35130 33430 35364 34966 35833 c
-37005 36442 38541 37450 39572 38857 c
-40603 40264 41131 42033 41131 44145 c
-41131 46161 40650 47931 39689 49454 c
-38728 50978 37333 52033 35552 52596 c
-33758 53158 30676 53451 26327 53451 c
-14219 53451 L
-14219 35141 L
-@c
-14219 7150 m
-29304 7150 l
-31895 7150 33723 7244 34766 7431 c
-36607 7759 38154 8322 39384 9084 c
-40627 9858 41647 10983 42445 12460 c
-43242 13936 43652 15637 43652 17560 c
-43652 19822 43066 21791 41916 23455 c
-40768 25120 39150 26292 37099 26960 c
-35048 27640 32082 27980 28226 27980 c
-14219 27980 L
-14219 7150 L
-@c
-F
-T
-@rax %Note: Object
-261.56608 194.14970 300.50872 234.18142 @E
-0 J 0 j [2 5 ] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-300.50872 234.18142 m
-276.19228 224.62866 261.56608 197.55694 287.02261 194.14970 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-290.53729 193.67943 m
-283.94476 197.61279 L
-284.67638 195.48085 284.40907 193.48271 283.14255 191.61836 C
-290.53729 193.67943 L
-f
-@J
-
-@rax %Note: Object
-114.16252 248.54570 280.20444 271.78214 @E
-0 J 0 j [2 5 ] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-114.16252 271.78214 m
-280.20444 248.54570 L
-S
-
-%%PageTrailer
-@rs
-@rs
-%%Trailer
-@EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel6Dict
-%%EOF
diff --git a/doc/slides/obr2.eps b/doc/slides/obr2.eps
deleted file mode 100644
index 62ae8517..00000000
--- a/doc/slides/obr2.eps
+++ /dev/null
@@ -1,1134 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 38 83 565 445
-%%Creator: CorelDRAW
-%%Title:
-%%CreationDate: Mon Jun 26 02:36:57 2000
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness true def
-/AutoSteps 0 def
-/CMYKMarks true def
-/UseLevel2 false def
-%Color profile: _DEFAULT.CCM - Generic CMYK
-%%BeginResource: procset wCorel6Dict 6.0 0
-% Copyright (c)1992-96 Corel Corporation
-% All rights reserved. v6.0 r1.1
-/wCorel6Dict 300 dict def wCorel6Dict begin/bd{bind def}bind def/ld{load def}
-bd/xd{exch def}bd/_ null def/rp{{pop}repeat}bd/@cp/closepath ld/@gs/gsave ld
-/@gr/grestore ld/@np/newpath ld/Tl/translate ld/$sv 0 def/@sv{/$sv save def}bd
-/@rs{$sv restore}bd/spg/showpage ld/showpage{}bd currentscreen/@dsp xd/$dsp
-/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF false def/$Scra 0 def/SetScr
-/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1 roll
-pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5 0
-def}ifelse/CurrentInkName_5 where{pop}{/CurrentInkName_5(Composite)def}ifelse
-/$ink_5 where{pop}{/$ink_5 -1 def}ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def
-/$t 1 def/$n _ def/$o 0 def/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1
-def/$N _ def/$O 0 def/$PF false def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def
-/s1t 0 def/s1n _ def/$bkg false def/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op
-false def matrix currentmatrix/$ctm xd/$ptm matrix def/$ttm matrix def/$stm
-matrix def/$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def/$fmp 50 def/$ffpnt
-true def/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
-/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
-exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known{end}if}bd AutoFlatness
-{/@ifl{dup currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
-@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
-bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
-/InRange{3 -1 roll @MN @MX}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
-/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
-/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
-/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
-exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
-4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
-/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
-/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
-systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
-/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
-GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
-cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
-ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
-/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
-/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
-/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
-4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
-gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
-ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
-astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
-SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
-ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
-/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
-setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
-0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
-/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
-ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
-get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
-255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
-getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
-index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
-$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
-roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
-}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd}ifelse/WaldoColor_5 true def/@sft{$tllx
-$pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt{$phei
-add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{cvx exec
-}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub
-$ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in
-false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei
-rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index
-sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop}ifelse @rs}bd
-/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}
-ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1
-roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul
-$tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1
-$tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/@pf{@gs $ctm
-setmatrix $pm concat @stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd
-Bbllx Bblly $pm itransform/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei
-$tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{eofill}if}{$t $c $m $y
-$k $n $o @scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1
-false[8 0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt
-$hei 0 gt and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub
-/$pwid xd $wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add
-/$tly xd $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@dlt_hsb{$fco
-nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/kdb xd nff $fco sub
-div/kdb2 xd sub neg 2 div dup $fco div/kds xd nff $fco sub div/kds2 xd sub neg
-dup 0 eq{pop $frb 2 eq{.99}{-.99}ifelse}if dup $frb 2 eq exch 0 lt and{1 add}
-if dup $frb 1 eq exch 0 gt and{1 sub}if 2 div dup $fco div/kdh xd nff $fco sub
-div/kdh2 xd}bd/@dlt_cmyk{$fmp 50 eq{sub neg nff dup 1 gt{1 sub}if div/$dk xd
-sub neg nff dup 1 gt{1 sub}if div/$dy xd sub neg nff dup 1 gt{1 sub}if div/$dm
-xd sub neg nff dup 1 gt{1 sub}if div/$dc xd sub neg nff dup 1 gt{1 sub}if div
-/$dt xd}{$fco nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/$dk xd
-nff $fco sub div/$dk2 xd sub neg 2 div dup $fco div/$dy xd nff $fco sub div
-/$dy2 xd sub neg 2 div dup $fco div/$dm xd nff $fco sub div/$dm2 xd sub neg 2
-div dup $fco div/$dc xd nff $fco sub div/$dc2 xd sub neg 2 div dup $fco div
-/$dt xd nff $fco sub div/$dt2 xd}ifelse}bd/@dlt{$fse $fss sub dup/nff xd $fmp
-mul $fmp add 100 div round cvi dup 0 le{pop 1}if/$fco xd/$fi 0 def $frb dup 1
-eq exch 2 eq or{$frt dup $frc $frm $fry $frk @tc_5 4 copy cmyk2rgb rgb2hsb 3
-copy/myb xd/mys xd/myh xd $tot $toc $tom $toy $tok @tc_5 cmyk2rgb rgb2hsb 3 1
-roll 4 1 roll 5 1 roll @dlt_hsb}{$frt dup $frc $frm $fry $frk @tc_5 5 copy $tot
-dup $toc $tom $toy $tok @tc_5 5 1 roll 6 1 roll 7 1 roll 8 1 roll 9 1 roll
-@dlt_cmyk}ifelse}bd/@ffnxt{/$fi $fi 1 add def $frb dup 1 eq exch 2 eq or{pop
-pop pop pop myh mys myb $fi $fco lt{kdb add 3 1 roll kds add 3 1 roll kdh add 3
-1 roll}{kdb2 add 3 1 roll kds2 add 3 1 roll kdh2 add 3 1 roll}ifelse 3 copy
-/myb xd/mys xd/myh xd hsb2rgb rgb2cmyk}{$fi $fco lt $fmp 50 eq or{$dk add 5 1
-roll $dy add 5 1 roll $dm add 5 1 roll $dc add 5 1 roll $dt add 5 1 roll}{$dk2
-add 5 1 roll $dy2 add 5 1 roll $dm2 add 5 1 roll $dc2 add 5 1 roll $dt2 add 5 1
-roll}ifelse}ifelse}bd/ffcol{5 copy $fsit 0 eq{setcmykcolor pop}{SepMode_5 0 ne
-{$frn findcmykcustomcolor exch setcustomcolor}{pop pop pop pop $frc $frm $fry
-$frk $frn findcmykcustomcolor exch setcustomcolor}ifelse}ifelse}bd/@ftl{1 index
-4 index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub
-/$hei xd pop Tl @dlt $fss 0 eq{ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l @cp
-$ffpnt{fill}{@np}ifelse}if $fss $wid mul $pdw add 0 Tl nff{ffcol n 0 0 m 0 $hei
-l $wid $hei l $wid 0 l @cp $ffpnt{fill}{@np}ifelse $wid 0 Tl @ffnxt}repeat 5 rp
-$tot dup $toc $tom $toy $tok @tc_5 ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l
-@cp $ffpnt{fill}{@np}ifelse 5 rp}bd/@ftrs{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl $fan rotate
-pop pop pop pop @dlt $fss 0 eq{ffcol $fty 3 eq{$hei dup neg dup m 2 mul @sqr}{
-0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse}if 1.0 $pad 2 mul sub
-dup scale $hei $fss $wid mul sub/$hei xd nff{ffcol $fty 3 eq{n $hei dup neg dup
-m 2 mul @sqr}{n 0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse/$hei
-$hei $wid sub def @ffnxt}repeat 5 rp}bd/@ftc{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl pop pop pop
-pop @dlt $fss 0 eq{ffcol $ffpnt{fill}{@np}ifelse}{n}ifelse/$dang 180 $fst 1 sub
-div def/$sang $dang -2 div 180 add def/$eang $dang 2 div 180 add def/$sang
-$sang $dang $fss mul add def/$eang $eang $dang $fss mul add def/$sang $eang
-$dang sub def nff{ffcol n 0 0 m 0 0 $hei $sang $fan add $eang $fan add arc
-$ffpnt{fill}{@np}ifelse 0 0 m 0 0 $hei $eang neg $fan add $sang neg $fan add
-arc $ffpnt{fill}{@np}ifelse/$sang $eang def/$eang $eang $dang add def @ffnxt}
-repeat 5 rp}bd/@fstAdjust{72 0 matrix defaultmatrix dtransform exch dup mul
-exch dup mul add sqrt currentscreen pop pop div dup mul 1 add cvi 2 256 InRange
-$fsc 1 sub dup 0 le{pop 1}if mul/opt$fst xd AutoSteps dup 1 eq exch 3 eq or{
-opt$fst dup dup $fst dup 3 1 roll div exch 3 -1 roll gt{/$adj xd/$fst xd}{pop
-pop}ifelse}if AutoSteps dup 2 eq exch 3 eq or{opt$fst dup dup $fst dup 3 1 roll
-div exch 3 -1 roll lt{/$adj xd/$fst xd}{pop pop}ifelse}if}bd/@ff{/old$fst $fst
-def/$adj 1 def/$fss 0 def $o 1 eq setoverprint AutoSteps 0 gt{@fstAdjust}if 1 1
-$fsc 1 sub{dup 1 sub $fsit 0 eq{$fsa exch 5 mul 5 getinterval aload pop pop
-/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def $fsa exch 5 mul 5
-getinterval aload pop $adj mul cvi $fss add/$fse xd/$tok xd/$toy xd/$tom xd
-/$toc xd/$ton _ def/$tot 1 def}{$fsa exch 7 mul 7 getinterval aload pop pop
-/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd $fsa exch 7 mul 7 getinterval
-aload pop $adj mul cvi $fss add/$fse xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd
-/$toc xd}ifelse $fsit 0 eq SepMode_5 0 eq or dup not CurrentInkName_5 $frn eq
-and or{@sv $ctm setmatrix eoclip Bbllx Bblly Bburx Bbury $fty 2 eq{@ftc}{1
-index 3 index m 2 copy l 3 index 1 index l 3 index 3 index l @cp $fty dup 1 eq
-exch 3 eq or{@ftrs}{pop pop pop pop $fan rotate pathbbox @ftl}ifelse}ifelse @rs
-/$fss $fse def}{1 0 0 0 0 _ $o @scc_5{fill}if}ifelse}for @np/$fst old$fst def}
-bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y
-$k $n $o @scc_5 pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup
-Bburx exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd
-Bbllx exch Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm
-aload pop $Psn load exec}{1 SetGry eofill}ifelse @rs @np}bd/F{matrix
-currentmatrix $sdf{$scf $sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3
-eq{@Pf}{$t $c $m $y $k $n $o @scc_5{eofill}{@np}ifelse}ifelse}ifelse}ifelse
-$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm
-setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc_5{matrix
-currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp
-@ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/_E{5 array astore
-exch cvlit xd}bd/@cc{currentfile $dat readhexstring pop}bd/@sm{/$ctm $ctm
-currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{
-/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true def}{@gs $t $c $m $y $k $n $o
-@scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd/@P
-{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd/@k{/$fil 2 def/$fmp xd
-/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst
-xd/$fsc xd/$fsa xd/$fsit 0 def}bd/@x{/$fil 2 def/$fmp xd/$roy xd/$rox xd/$pad
-xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst xd/$fsc xd/$fsa xd
-/$fsit 1 def}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index
-3 index l 3 index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii
-6 index 1 ne{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5
-/$frg xd}{/$frg false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np
-/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8
-div ceiling cvi string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl
-$urx $llx sub $ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid
-$hei abs $bts 1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/tcc load $bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa
-$dsp @ss}if}{$hei abs{tcc pop}repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs
-@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat
-$wid $bts mul $ncl mul 8 div ceiling cvi string def $ngx $llx $lly Tl $urx $llx
-sub $ury $lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/@cc load false $ncl ColorImage $SDF{$dsf $dsa $dsp @ss}if
-@gr $ctm setmatrix}bd L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd
-/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi
-string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
-ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
-dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
-$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
-ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
-/DataSource currentfile/ASCII85Decode filter def currentdict end image $SDF
-{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/z{exch findfont
-exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll/FontType 3 def
-/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{Encoding exch
-/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}put/Metrics 256
-dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup/$char exch/Encoding
-get 3 index get def dup/Metrics get $char get aload pop setcachedevice begin
-Encoding exch get CharStrings exch get end exec}def end definefont pop}bd
-/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put
-CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup maxlength 2
-add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall
-pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch put dup
-/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch
-pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict dup
-/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 index
-length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 -1
-roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop}bd
-/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true charpath
-$ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch m}forall}bd
-/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf
-ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{$t $c $m
-$y $k $n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp
-@ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T
-$C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup
-@gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3
--1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd
-/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd
-/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}
-def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm matrix def}bd/ddt
-{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat ddt $stm
-setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}
-bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def}{
-CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1
-def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq
-{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs
--72000 dup m -72000 72000 l 72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr}
-bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec cvx]cvx settransfer @whi}
-bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt}bd/@unscale{}bd/@smc{CMYKMarks{0 exch eq{1 1 1 1 1 _ 0 @scc_5
-pop}{1 0 0 0 0 _ 0 @scc_5 pop}ifelse}{SetGry}ifelse}bd/@gmc{CMYKMarks{GetCmyk
-pop pop pop 1 eq{0}{1}ifelse}{GetGry}ifelse}bd/@sqr{dup 0 rl dup 0 exch rl neg
-0 rl @cp}bd/corelsym{@gs @np Tl -90 rotate 7{45 rotate -.75 2 m 1.5 @sqr fill}
-repeat @gr}bd/@reg_cor{@gs @np Tl -6 -6 m 12 @sqr @gs 1 @gmc sub @smc fill @gr
-4{90 rotate 0 4 m 0 4 rl}repeat stroke 0 0 corelsym @gr}bd/@reg_std{@gs @np Tl
-.3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl
-}repeat stroke @gr}bd/@reg_inv{@gs @np Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc
-sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl}repeat stroke 0 0 m 0 0 5 90 180 arc
-@cp 0 0 5 270 360 arc @cp fill @gr}bd/@reg_sqr{@gs @np Tl .3 w -7 -7 m 14 @sqr
-fill @gs 1 @gmc sub @smc 0 0 5 0 360 arc @cp save fill restore 4{90 rotate 0 0
-m 0 8 rl}repeat stroke @gr 4{90 rotate 0 0 m 0 5 rl}repeat stroke @gr}bd
-/@reg_lng{@gs @np 0 eq{/$Xlen 16 def/$Ylen 8 def}{/$Xlen 8 def/$Ylen 16 def}
-ifelse Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 90 rotate 0 0 m
-0 $Xlen rl 90 rotate 0 0 m 0 $Ylen rl 90 rotate 0 0 m 0 $Xlen rl 90 rotate 0 0
-m 0 $Ylen rl stroke @gr}bd/@setdcol{0 $dcol eq{0 exch 1 exch sub 0 0 0 _ 0
-@scc_5 pop}{1 $dcol eq{0 exch 0 exch 1 exch sub 0 0 _ 0 @scc_5 pop}{2 $dcol eq
-{0 exch 0 exch 0 exch 1 exch sub 0 _ 0 @scc_5 pop}{SetGry}ifelse}ifelse}ifelse
-}bd/$corelmeter[1 .95 .75 .50 .25 .05 0]def/@colormeter{@gs @np 0 @setdcol 0.3
-w/Courier findfont 5 scalefont setfont/yy xd/xx xd 0 1 6{dup xx 20 sub yy m 20
-@sqr @gs $corelmeter exch get dup @setdcol fill @gr stroke xx 18 sub yy 2 add m
-exch dup 3 ge{1 SetGry}{0 @setdcol}ifelse 3 eq{pop}{100 mul 100 exch sub cvi 20
-string cvs show}ifelse/yy yy 20 add def}for @gr}bd/@calbar{@gs Tl @gs @np 0 0 m
-@gs 20 @sqr 1 1 0 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 0 1
-0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 0 1 0 _ 0 @scc_5 pop
-fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 1 1 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0
-0 m @gs 20 @sqr 1 0 1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1
-1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 1 1 0 _ 0 @scc_5
-pop fill @gr @gr @np -84 0 Tl @gs 0 0 m 20 @sqr clip 1 1 0 0 0 _ 0 @scc_5 pop
-@gain @gr 20 0 Tl @gs 0 0 m 20 @sqr clip 1 0 1 0 0 _ 0 @scc_5 pop @gain @gr 20
-0 Tl @gs 0 0 m 20 @sqr clip 1 0 0 1 0 _ 0 @scc_5 pop @gain @gr 20 0 Tl @gs 0 0
-m 20 @sqr clip 1 0 0 0 1 _ 0 @scc_5 pop @gain @gr @gr}bd/@gain{10 10 Tl @np 0 0
-m 0 10 360{0 0 15 4 -1 roll dup 5 add arc @cp}for fill}bd/@crop{@gs 10 div
-/$croplen xd .3 w 0 @smc Tl rotate 0 0 m 0 $croplen neg rl stroke @gr}bd
-/deflevel 0 def/@sax{/deflevel deflevel 1 add def}bd/@eax{/deflevel deflevel
-dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}ifelse}bd/eax{{exec}forall}
-bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type/arraytype eq{{}forall}if}bd
-/@BMP{/@cc xd 12 index 1 gt UseLevel2 true eq and{7 -2 roll pop pop @I_2}{11
-index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I}ifelse}ifelse}bd systemdict
-/pdfmark known not{/pdfmark/cleartomark ld}if/@BeginEPS{$ngx 0 SetGry 0 J 0 j 1
-w[]0 d 10 M false setoverprint @np/EPSDict 200 dict def EPSDict begin @sv
-SepMode_5 0 ne{/colorimage{@gs/sepdict 50 dict def sepdict begin[{1 exch sub}
-/exec cvx currenttransfer/exec cvx]cvx settransfer 3 eq/$rgb xd{$rgb{/daq0 xd
-/daq1 xd/daq2 xd/daq_rgb load}{/daq0 xd/daq1 xd/daq2 xd/daq3 xd/daq_cmyk load}
-ifelse}{/daq0 xd/daq_one load}ifelse 2 index 8 eq/8bit xd $ink_5 dup 0 lt exch
-3 gt or{}{image}ifelse end @gr}bd/2cmyk{3{255 exch sub 3 1 roll}repeat 3 copy
-@MN @MN 3{dup 5 -1 roll sub neg exch}repeat}bd/daq_rgb{/i 0 def/daq2 load exec
-/daq1 load exec/daq0 load exec dup dup length 0 exch getinterval/$data xd{8bit
-{1 index i get 3 index i get 2cmyk 4 $ink_5 neg roll pop pop pop}{pop 0}ifelse
-$data i 3 -1 roll put/i i 1 add def}forall pop pop $data}bd/daq_cmyk{/daq3 load
-exec/daq2 load exec/daq1 load exec/daq0 load exec 4 $ink_5 neg roll pop pop pop
-}bd/daq_one{/$in 0 def/$out 0 def/daq0 load exec dup dup length $rgb{3}{4}
-ifelse idiv 0 exch getinterval/$data xd $data{pop 8bit{$rgb{0 index $in 2 add
-get 1 index $in 1 add get 2 index $in get 2cmyk}{0 index $in get 1 index $in 1
-add get 2 index $in 2 add get 3 index $in 3 add get}ifelse 4 $ink_5 neg roll
-pop pop pop}{0}ifelse $data $out 3 -1 roll put/$in $in $rgb{3}{4}ifelse add def
-/$out $out 1 add def}forall pop $data}bd}if}bd/@EndEPS{@rs end}bd end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel6Dict begin
-@BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 128 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
-@sv
-@sm
-@sv
-%%EndPageSetup
-@rax %Note: Object
-376.90583 229.84243 512.32734 329.07657 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-394.94948 251.19383 m
-398.84967 256.36677 406.62539 257.12220 412.25896 252.87477 c
-417.89225 248.62706 419.30589 240.94403 415.40570 235.77080 c
-411.50580 230.59757 403.72951 229.84243 398.09594 234.08986 c
-392.46293 238.33701 391.04929 246.02060 394.94948 251.19383 c
-@c
-471.13569 236.30598 m
-466.84403 241.15918 467.65474 248.92951 472.93994 253.60271 c
-478.22542 258.27619 486.03657 258.12907 490.32765 253.27559 c
-494.61959 248.42211 493.80888 240.65206 488.52340 235.97858 c
-483.23792 231.30539 475.42706 231.45222 471.13569 236.30598 c
-@c
-501.95225 286.09342 m
-495.60406 284.79798 489.27657 289.37962 487.86605 296.29247 c
-486.45581 303.20532 490.48299 309.89934 496.83090 311.19506 c
-503.17852 312.49020 509.50630 307.90828 510.91682 300.99572 c
-512.32734 294.08258 508.30016 287.38857 501.95225 286.09342 c
-@c
-446.57121 300.99203 m
-452.66457 298.79121 455.67978 291.58384 453.28309 284.94822 c
-450.88583 278.31288 443.96135 274.69559 437.86800 276.89698 c
-431.77465 279.09751 428.75915 286.30488 431.15641 292.94050 c
-433.55310 299.57584 440.47786 303.19313 446.57121 300.99203 c
-@c
-396.46006 326.10983 m
-402.21978 323.14252 404.28142 315.60718 401.05020 309.33581 c
-397.81899 303.06387 390.48633 300.36841 384.72718 303.33572 c
-378.96746 306.30302 376.90583 313.83836 380.13704 320.11030 c
-383.36825 326.38167 390.70120 329.07657 396.46006 326.10983 c
-@c
-S
-
-@rax %Note: Object
-485.05805 257.45272 495.08362 286.43839 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-485.05805 257.45272 m
-495.08362 286.43839 L
-S
-
-@rax %Note: Object
-450.41386 253.97235 473.10066 279.63014 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-473.10066 253.97235 m
-450.41386 279.63014 L
-S
-
-@rax %Note: Object
-401.03461 293.24721 431.48098 308.93329 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-401.03461 308.93329 m
-431.48098 293.24721 L
-S
-
-@rax %Note: Object
-444.29074 301.80926 447.88762 335.86894 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-447.88762 335.86894 m
-444.29074 301.80926 L
-S
-
-@rax %Note: Object
-454.06828 289.76910 487.62624 296.61591 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-487.62624 296.61591 m
-454.06828 289.76910 L
-S
-
-@rax %Note: Object
-412.65269 252.79115 433.27106 280.13868 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-412.65269 252.79115 m
-433.27106 280.13868 L
-S
-
-@rax %Note: Object
-390.01663 255.03732 398.83918 302.13950 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-390.01663 302.13950 m
-398.83918 255.03732 L
-S
-
-@rax %Note: Object
-416.88510 240.94687 468.21515 242.55723 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-416.88510 240.94687 m
-468.21515 242.55723 L
-S
-
-@rax %Note: Object
-459.79398 310.19102 491.87537 340.78734 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-491.87537 310.19102 m
-459.79398 340.78734 L
-S
-
-@rax %Note: Object
-399.24028 323.47616 437.73789 341.99518 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-399.24028 323.47616 m
-437.73789 341.99518 L
-S
-
-@rax %Note: Object
-356.97061 91.75266 400.17175 193.59439 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-392.60494 168.00406 m
-386.91865 164.89928 379.52306 167.41757 376.14217 173.60986 c
-372.76129 179.80243 374.64180 187.38482 380.32809 190.48989 c
-386.01468 193.59439 393.40998 191.07581 396.79087 184.88409 c
-400.17175 178.69153 398.29124 171.10857 392.60494 168.00406 c
-@c
-361.14746 97.03644 m
-356.97061 101.98942 357.96387 109.73820 363.35764 114.28639 c
-368.75140 118.83430 376.55660 118.50378 380.73288 113.55052 c
-384.90945 108.59754 383.91619 100.84847 378.52243 96.30085 c
-373.12866 91.75266 365.32318 92.08318 361.14746 97.03644 c
-@c
-S
-
-@rax %Note: Object
-345.75704 157.43594 375.81789 173.84854 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-375.81789 173.84854 m
-345.75704 157.43594 L
-S
-
-@rax %Note: Object
-341.44894 114.65178 363.52658 140.83540 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-363.52658 114.65178 m
-341.44894 140.83540 L
-S
-
-@rax %Note: Object
-120.82932 137.80828 462.92258 372.19436 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-146.89304 284.49354 m
-149.49524 278.56035 146.34822 271.40995 139.88693 268.57616 c
-133.42592 265.74265 126.03373 268.27058 123.43153 274.20378 c
-120.82932 280.13669 123.97663 287.28709 130.43764 290.12088 c
-136.89893 292.95468 144.29083 290.42674 146.89304 284.49354 c
-@c
-184.86085 321.68268 m
-187.46306 315.74948 184.31575 308.59909 177.85474 305.76529 c
-171.39373 302.93178 164.00154 305.45972 161.39934 311.39291 c
-158.79713 317.32583 161.94444 324.47622 168.40545 327.31002 c
-174.86674 330.14381 182.25865 327.61587 184.86085 321.68268 c
-@c
-347.25600 363.73323 m
-349.85820 357.80003 346.71090 350.64964 340.24961 347.81584 c
-333.78860 344.98205 326.39669 347.50998 323.79449 353.44318 c
-321.19200 359.37638 324.33959 366.52677 330.80060 369.36057 c
-337.26161 372.19436 344.65351 369.66643 347.25600 363.73323 c
-@c
-324.07569 158.43997 m
-327.57676 163.89128 335.27367 165.22838 341.21027 161.41578 c
-347.14658 157.60318 349.13310 150.04772 345.63203 144.59641 c
-342.13096 139.14482 334.43376 137.80828 328.49745 141.62060 c
-322.56113 145.43291 320.57461 152.98866 324.07569 158.43997 c
-@c
-462.24227 346.35260 m
-461.56195 339.90973 455.28463 335.25921 448.26831 336.00019 c
-441.25228 336.74088 436.08472 342.60038 436.76532 349.04324 c
-437.44564 355.48611 443.72296 360.13663 450.73899 359.39565 c
-457.75531 358.65468 462.92258 352.79546 462.24227 346.35260 c
-@c
-B
-
-@rax %Note: Object
-74.70142 309.85909 142.37150 375.25380 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-100.76542 328.61027 m
-103.36734 322.67679 100.22031 315.52639 93.75931 312.69288 c
-87.29830 309.85909 79.90583 312.38674 77.30391 318.31994 c
-74.70142 324.25313 77.84901 331.40353 84.31002 334.23732 c
-90.77102 337.07112 98.16321 334.54318 100.76542 328.61027 c
-@c
-139.76957 366.79238 m
-142.37150 360.85946 139.22447 353.70907 132.76318 350.87556 c
-126.30217 348.04148 118.90998 350.56942 116.30778 356.50261 c
-113.70557 362.43609 116.85288 369.58620 123.31389 372.42000 c
-129.77490 375.25380 137.16709 372.72614 139.76957 366.79238 c
-@c
-S
-
-@rax %Note: Object
-97.27398 333.21855 117.72567 353.34794 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-97.27398 333.21855 m
-117.72567 353.34794 L
-S
-
-@rax %Note: Object
-135.69902 322.64532 164.71729 353.44658 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-135.69902 353.44658 m
-164.71729 322.64532 L
-S
-
-@rax %Note: Object
-143.76217 287.34208 164.27339 307.12224 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-164.27339 307.12224 m
-143.76217 287.34208 L
-S
-
-@rax %Note: Object
-94.68567 282.22469 124.32416 313.83156 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 2.01600 2.01600 0.00000 @w
-124.32416 282.22469 m
-94.68567 313.83156 L
-S
-
-@rax %Note: Object
-225.42888 175.73641 254.09480 202.94844 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-251.49260 194.48731 m
-254.09480 188.55411 250.94750 181.40372 244.48649 178.57020 c
-238.02548 175.73641 230.63329 178.26435 228.03109 184.19726 c
-225.42888 190.13046 228.57619 197.28085 235.03720 200.11465 c
-241.49849 202.94844 248.89039 200.42050 251.49260 194.48731 c
-@c
-B
-
-@rax %Note: Object
-145.13641 280.15824 168.97578 307.33483 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-168.18094 307.33483 m
-168.97578 288.41811 161.29417 280.15824 145.13641 282.55635 C
-S
-
-@rax %Note: Object
-184.13433 320.73874 327.42255 355.52183 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-184.13433 320.73874 m
-327.42255 355.52183 L
-S
-
-@rax %Note: Object
-142.54923 193.37839 229.16920 273.16261 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-229.16920 193.37839 m
-142.54923 273.16261 L
-S
-
-@rax %Note: Object
-245.88935 193.72450 332.21083 349.59231 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-332.21083 349.59231 m
-245.88935 193.72450 L
-S
-
-@rax %Note: Object
-248.37732 155.51858 327.31002 183.05546 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-248.37732 183.05546 m
-327.31002 155.51858 L
-S
-
-@rax %Note: Object
-345.32419 348.85219 441.55786 358.37291 @E
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 7.20000 7.20000 0.00000 @w
-345.32419 358.37291 m
-441.55786 348.85219 L
-S
-
-@rax %Note: Object
-41.17096 247.83364 217.89666 389.56791 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 3.67200 3.67200 0.00000 @w
-129.53395 389.56791 m
-178.20227 389.56791 217.89666 357.73285 217.89666 318.70091 c
-217.89666 279.66869 178.20227 247.83364 129.53395 247.83364 c
-80.86535 247.83364 41.17096 279.66869 41.17096 318.70091 c
-41.17096 357.73285 80.86535 389.56791 129.53395 389.56791 c
-@c
-S
-
-@rax %Note: Object
-274.17231 204.22346 562.46202 416.32866 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 3.67200 3.67200 0.00000 @w
-418.31717 416.32866 m
-497.70964 416.32866 562.46202 368.68791 562.46202 310.27606 c
-562.46202 251.86422 497.70964 204.22346 418.31717 204.22346 c
-338.92498 204.22346 274.17231 251.86422 274.17231 310.27606 c
-274.17231 368.68791 338.92498 416.32866 418.31717 416.32866 c
-@c
-S
-
-@rax %Note: Object
-199.13783 144.75458 275.15962 232.96649 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 3.67200 3.67200 0.00000 @w
-237.14901 232.96649 m
-258.08457 232.96649 275.15962 213.15345 275.15962 188.86054 c
-275.15962 164.56791 258.08457 144.75458 237.14901 144.75458 c
-216.21317 144.75458 199.13783 164.56791 199.13783 188.86054 c
-199.13783 213.15345 216.21317 232.96649 237.14901 232.96649 c
-@c
-S
-
-@rax %Note: Object
-299.84202 86.27698 442.01225 203.23219 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 3.67200 3.67200 0.00000 @w
-370.92728 203.23219 m
-410.07940 203.23219 442.01225 176.96296 442.01225 144.75458 c
-442.01225 112.54620 410.07940 86.27698 370.92728 86.27698 c
-331.77487 86.27698 299.84202 112.54620 299.84202 144.75458 c
-299.84202 176.96296 331.77487 203.23219 370.92728 203.23219 c
-@c
-S
-
-@rax 163.36998 398.81480 204.38646 416.58746 @E
-[0.00010238 0.00000000 0.00000000 0.00010238 163.40693983 399.10958467] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 234532.00000 z
-%CHAR: 0 0 (A) @t
--365 0 m
-64116 167857 L
-88056 167857 L
-156771 0 L
-131460 0 L
-111873 50836 L
-41669 50836 L
-23239 0 L
--365 0 L
-@c
-48095 68928 m
-104990 68928 L
-87477 115407 l
-82147 129542 78157 141146 75568 150222 C
-73436 139471 70421 128780 66522 118181 c
-48095 68928 L
-@c
-F
-%CHAR: 156450 0 (S) @t
-166988 53943 m
-187913 55771 L
-188887 47364 191233 40450 194827 35087 c
-198454 29727 204119 25341 211733 22051 c
-219348 18731 227967 17056 237500 17056 c
-245968 17056 253491 18335 259948 20833 c
-266435 23330 271278 26803 274448 31189 c
-277616 35574 279200 40390 279200 45567 c
-279200 50806 277677 55436 274631 59365 c
-271582 63294 266496 66613 259491 69263 c
-254983 71030 245023 73771 229612 77456 c
-214200 81142 203388 84644 197205 87934 c
-189192 92137 183192 97345 179293 103559 c
-175364 109772 173384 116777 173384 124455 c
-173384 132922 175791 140872 180603 148212 c
-185415 155583 192451 161187 201682 164994 c
-210911 168801 221206 170720 232475 170720 c
-244902 170720 255897 168710 265399 164720 c
-274905 160730 282215 154821 287332 147055 c
-292449 139258 295220 130425 295586 120587 C
-274265 118973 L
-273136 129572 269237 137613 262658 143004 c
-256049 148425 246272 151136 233389 151136 c
-219957 151136 210149 148669 204027 143765 c
-197875 138831 194796 132892 194796 125948 c
-194796 119917 196992 114950 201317 111051 c
-205581 107183 216789 103193 234820 99112 c
-252851 95030 265278 91436 271978 88391 c
-281728 83883 288976 78157 293606 71273 c
-298266 64390 300611 56410 300611 47395 c
-300611 38468 298053 30031 292936 22143 c
-287819 14254 280479 8102 270912 3716 c
-261349 -670 250536 -2863 238536 -2863 c
-223368 -2863 210606 -640 200373 3777 c
-190106 8193 182034 14863 176187 23757 c
-170339 32651 167262 42704 166958 53913 C
-166988 53943 L
-@c
-F
-%CHAR: 312900 0 (1) @t
-400286 0 m
-379635 0 L
-379635 131339 L
-374701 126618 368183 121866 360142 117143 c
-352102 112422 344820 108858 338423 106482 C
-338423 126404 L
-349936 131826 360051 138405 368640 146111 c
-377260 153816 383382 161309 386976 168558 C
-400255 168558 L
-400286 0 L
-@c
-F
-T
-@rax 473.57546 426.65244 517.60828 444.37720 @E
-[0.00010238 0.00000000 0.00000000 0.00010238 473.61228790 426.94733572] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 233884.00000 z
-%CHAR: 0 0 (A) @t
--365 0 m
-63930 167395 L
-87809 167395 L
-156339 0 L
-131089 0 L
-111566 50681 L
-41544 50681 L
-23178 0 L
--365 0 L
-@c
-47971 68743 m
-104713 68743 L
-87230 115099 l
-81931 129171 77941 140775 75352 149821 C
-73220 139100 70205 128409 66337 117840 c
-47971 68743 L
-@c
-F
-%CHAR: 156000 0 (S) @t
-166508 53788 m
-187402 55616 L
-188376 47240 190691 40356 194285 34996 c
-197910 29635 203544 25249 211128 21960 c
-218743 18670 227332 16995 236834 16995 c
-245271 16995 252764 18275 259221 20772 c
-265678 23270 270520 26742 273658 31097 c
-276825 35483 278409 40265 278409 45443 c
-278409 50681 276886 55311 273840 59210 c
-270795 63108 265769 66428 258764 69078 c
-254287 70814 244327 73555 228976 77240 c
-213595 80926 202783 84428 196630 87687 c
-188651 91860 182681 97068 178782 103282 c
-174853 109495 172873 116439 172873 124115 c
-172873 132551 175280 140470 180061 147811 c
-184874 155151 191879 160755 201077 164532 c
-210275 168339 220540 170258 231809 170258 c
-244205 170258 255170 168248 264642 164258 c
-274114 160268 281424 154359 286511 146623 c
-291597 138856 294369 130054 294734 120246 C
-273505 118632 L
-272378 129201 268510 137211 261931 142602 c
-255353 148024 245576 150735 232723 150735 c
-219321 150735 209544 148267 203453 143364 c
-197331 138460 194255 132521 194255 125607 c
-194255 119607 196417 114642 200742 110774 c
-205006 106876 216154 102886 234154 98835 c
-252155 94754 264520 91190 271221 88144 c
-280967 83667 288155 77971 292785 71088 c
-297414 64205 299760 56225 299760 47270 c
-299760 38377 297201 29940 292115 22082 c
-287028 14224 279688 8071 270155 3716 c
-260591 -670 249809 -2863 237870 -2863 c
-222733 -2863 210032 -640 199798 3746 c
-189564 8163 181493 14833 175676 23666 c
-169858 32529 166782 42580 166477 53788 C
-166508 53788 L
-@c
-F
-%CHAR: 312000 0 (2) @t
-429749 19767 m
-429719 0 L
-319066 0 L
-318914 4934 319706 9686 321472 14254 c
-324274 21777 328782 29209 334995 36519 c
-341209 43828 350194 52296 361889 61890 c
-380073 76814 392378 88632 398774 97342 c
-405170 106053 408368 114307 408368 122074 c
-408368 130206 405444 137090 399626 142663 c
-393809 148267 386195 151070 376844 151070 c
-366976 151070 359026 148085 353118 142176 c
-347178 136237 344133 127983 344072 117505 C
-322934 119668 L
-324396 135414 329848 147445 339290 155699 c
-348732 163953 361402 168095 377301 168095 c
-393352 168095 406083 163618 415434 154724 c
-424815 145831 429505 134775 429505 121617 c
-429505 114916 428135 108307 425394 101850 c
-422652 95393 418084 88540 411749 81413 c
-405413 74256 394814 64418 380042 51961 c
-367737 41605 359788 34569 356316 30884 c
-352813 27199 349889 23452 347605 19737 C
-429749 19767 L
-@c
-F
-T
-@rax 152.16265 141.66057 196.49282 159.44570 @E
-[0.00010238 0.00000000 0.00000000 0.00010238 152.19946733 141.96769757] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 234532.00000 z
-%CHAR: 0 0 (A) @t
--365 0 m
-64116 167857 L
-88056 167857 L
-156771 0 L
-131460 0 L
-111873 50836 L
-41669 50836 L
-23239 0 L
--365 0 L
-@c
-48095 68928 m
-104990 68928 L
-87477 115407 l
-82147 129542 78157 141146 75568 150222 C
-73436 139471 70421 128780 66522 118181 c
-48095 68928 L
-@c
-F
-%CHAR: 156450 0 (S) @t
-166988 53943 m
-187913 55771 L
-188887 47364 191233 40450 194827 35087 c
-198454 29727 204119 25341 211733 22051 c
-219348 18731 227967 17056 237500 17056 c
-245968 17056 253491 18335 259948 20833 c
-266435 23330 271278 26803 274448 31189 c
-277616 35574 279200 40390 279200 45567 c
-279200 50806 277677 55436 274631 59365 c
-271582 63294 266496 66613 259491 69263 c
-254983 71030 245023 73771 229612 77456 c
-214200 81142 203388 84644 197205 87934 c
-189192 92137 183192 97345 179293 103559 c
-175364 109772 173384 116777 173384 124455 c
-173384 132922 175791 140872 180603 148212 c
-185415 155583 192451 161187 201682 164994 c
-210911 168801 221206 170720 232475 170720 c
-244902 170720 255897 168710 265399 164720 c
-274905 160730 282215 154821 287332 147055 c
-292449 139258 295220 130425 295586 120587 C
-274265 118973 L
-273136 129572 269237 137613 262658 143004 c
-256049 148425 246272 151136 233389 151136 c
-219957 151136 210149 148669 204027 143765 c
-197875 138831 194796 132892 194796 125948 c
-194796 119917 196992 114950 201317 111051 c
-205581 107183 216789 103193 234820 99112 c
-252851 95030 265278 91436 271978 88391 c
-281728 83883 288976 78157 293606 71273 c
-298266 64390 300611 56410 300611 47395 c
-300611 38468 298053 30031 292936 22143 c
-287819 14254 280479 8102 270912 3716 c
-261349 -670 250536 -2863 238536 -2863 c
-223368 -2863 210606 -640 200373 3777 c
-190106 8193 182034 14863 176187 23757 c
-170339 32651 167262 42704 166958 53913 C
-166988 53943 L
-@c
-F
-%CHAR: 312900 0 (3) @t
-322738 44319 m
-343358 47060 L
-345703 35392 349754 26955 355422 21808 c
-361087 16660 368061 14071 376224 14071 c
-385910 14071 394103 17452 400773 24153 c
-407443 30854 410793 39202 410793 49100 c
-410793 58573 407687 66400 401534 72522 c
-395351 78675 387463 81751 377930 81751 c
-374031 81751 369188 80989 363401 79467 C
-365686 97558 L
-367026 97406 368153 97315 369006 97315 c
-377777 97315 385696 99599 392702 104168 c
-399707 108736 403240 115833 403240 125369 c
-403240 132922 400681 139227 395565 144161 c
-390448 149095 383838 151593 375767 151593 c
-367757 151593 361056 149065 355726 144039 c
-350363 139014 346921 131430 345398 121379 C
-324809 125034 L
-327306 138862 333063 149583 341957 157167 c
-350881 164751 362031 168558 375310 168558 c
-384448 168558 392915 166578 400590 162679 c
-408296 158750 414205 153359 418286 146567 c
-422367 139775 424438 132526 424438 124912 c
-424438 117663 422489 111051 418591 105112 c
-414692 99173 408905 94421 401291 90919 C
-411220 88634 418926 83852 424408 76664 c
-429890 69446 432665 60400 432665 49557 c
-432665 34935 427301 22478 416641 12305 c
-405951 2132 392427 -2985 376102 -2985 c
-361361 -2985 349114 1401 339398 10173 c
-329682 18945 324108 30366 322738 44319 C
-@c
-F
-T
-@rax 452.24504 153.16923 496.50775 170.94217 @E
-[0.00010238 0.00000000 0.00000000 0.00010238 452.28183306 153.46419486] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 234532.00000 z
-%CHAR: 0 0 (A) @t
--365 0 m
-64116 167857 L
-88056 167857 L
-156771 0 L
-131460 0 L
-111873 50836 L
-41669 50836 L
-23239 0 L
--365 0 L
-@c
-48095 68928 m
-104990 68928 L
-87477 115407 l
-82147 129542 78157 141146 75568 150222 C
-73436 139471 70421 128780 66522 118181 c
-48095 68928 L
-@c
-F
-%CHAR: 156450 0 (S) @t
-166988 53943 m
-187913 55771 L
-188887 47364 191233 40450 194827 35087 c
-198454 29727 204119 25341 211733 22051 c
-219348 18731 227967 17056 237500 17056 c
-245968 17056 253491 18335 259948 20833 c
-266435 23330 271278 26803 274448 31189 c
-277616 35574 279200 40390 279200 45567 c
-279200 50806 277677 55436 274631 59365 c
-271582 63294 266496 66613 259491 69263 c
-254983 71030 245023 73771 229612 77456 c
-214200 81142 203388 84644 197205 87934 c
-189192 92137 183192 97345 179293 103559 c
-175364 109772 173384 116777 173384 124455 c
-173384 132922 175791 140872 180603 148212 c
-185415 155583 192451 161187 201682 164994 c
-210911 168801 221206 170720 232475 170720 c
-244902 170720 255897 168710 265399 164720 c
-274905 160730 282215 154821 287332 147055 c
-292449 139258 295220 130425 295586 120587 C
-274265 118973 L
-273136 129572 269237 137613 262658 143004 c
-256049 148425 246272 151136 233389 151136 c
-219957 151136 210149 148669 204027 143765 c
-197875 138831 194796 132892 194796 125948 c
-194796 119917 196992 114950 201317 111051 c
-205581 107183 216789 103193 234820 99112 c
-252851 95030 265278 91436 271978 88391 c
-281728 83883 288976 78157 293606 71273 c
-298266 64390 300611 56410 300611 47395 c
-300611 38468 298053 30031 292936 22143 c
-287819 14254 280479 8102 270912 3716 c
-261349 -670 250536 -2863 238536 -2863 c
-223368 -2863 210606 -640 200373 3777 c
-190106 8193 182034 14863 176187 23757 c
-170339 32651 167262 42704 166958 53913 C
-166988 53943 L
-@c
-F
-%CHAR: 312900 0 (4) @t
-388712 0 m
-388681 40176 L
-315854 40176 L
-315854 59090 L
-392488 167857 L
-409301 167857 L
-409301 59090 L
-431995 59090 L
-431995 40176 L
-409301 40176 L
-409301 0 L
-388712 0 L
-@c
-388712 59090 m
-388681 134780 L
-336139 59090 L
-388712 59090 L
-@c
-F
-T
-%%PageTrailer
-@rs
-@rs
-%%Trailer
-@EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel6Dict
-%%EOF
diff --git a/doc/slides/obr5.eps b/doc/slides/obr5.eps
deleted file mode 100644
index e0e7ca69..00000000
--- a/doc/slides/obr5.eps
+++ /dev/null
@@ -1,3072 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%BoundingBox: 12 86 583 414
-%%Creator: CorelDRAW
-%%Title:
-%%CreationDate: Mon Jun 26 15:00:02 2000
-%%DocumentProcessColors: Black
-%%DocumentSuppliedResources: (atend)
-%%EndComments
-%%BeginProlog
-/AutoFlatness true def
-/AutoSteps 0 def
-/CMYKMarks true def
-/UseLevel2 false def
-%Color profile: Disabled
-%%BeginResource: procset wCorel6Dict 6.0 0
-% Copyright (c)1992-96 Corel Corporation
-% All rights reserved. v6.0 r1.1
-/wCorel6Dict 300 dict def wCorel6Dict begin/bd{bind def}bind def/ld{load def}
-bd/xd{exch def}bd/_ null def/rp{{pop}repeat}bd/@cp/closepath ld/@gs/gsave ld
-/@gr/grestore ld/@np/newpath ld/Tl/translate ld/$sv 0 def/@sv{/$sv save def}bd
-/@rs{$sv restore}bd/spg/showpage ld/showpage{}bd currentscreen/@dsp xd/$dsp
-/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF false def/$Scra 0 def/SetScr
-/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index 0 eq{$dsf 3 1 roll 4 -1 roll
-pop}if exch $Scra add exch load SetScr}bd/SepMode_5 where{pop}{/SepMode_5 0
-def}ifelse/CurrentInkName_5 where{pop}{/CurrentInkName_5(Composite)def}ifelse
-/$ink_5 where{pop}{/$ink_5 -1 def}ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def
-/$t 1 def/$n _ def/$o 0 def/$fil 0 def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1
-def/$N _ def/$O 0 def/$PF false def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def
-/s1t 0 def/s1n _ def/$bkg false def/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op
-false def matrix currentmatrix/$ctm xd/$ptm matrix def/$ttm matrix def/$stm
-matrix def/$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def/$fmp 50 def/$ffpnt
-true def/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
-16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
-16#60/grave 16#7C/bar
-16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
-16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
-16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
-16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
-16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
-16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
-16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
-16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
-16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
-16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
-16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
-16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
-16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
-16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
-/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
-exec}if}bd/@EndSysCorelDict{systemdict/Corel30Dict known{end}if}bd AutoFlatness
-{/@ifl{dup currentflat exch sub 10 gt{
-([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
-@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
-{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
-{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
-/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
-bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
-bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
-{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
-/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
-ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
-/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
-bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
-exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
-sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
-/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
-/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
-ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
-/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
-dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
-copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
-/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
-{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
-if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
-load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
-{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
-bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
-/InRange{3 -1 roll @MN @MX}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
-/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
-/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
-/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
-exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
-4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
-/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
-/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
-systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
-/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
-GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
-cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
-ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
-/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
-/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
-/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
-4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
-gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
-ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
-astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
-SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
-ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
-/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
-setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
-0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
-/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
-ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
-get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
-255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
-getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
-index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
-$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
-roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
-}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
-/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
-/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
-bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
-/currentgray{currentrgbcolor rgb2g}bd}ifelse/WaldoColor_5 true def/@sft{$tllx
-$pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt{$phei
-add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{cvx exec
-}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub
-$ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in
-false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei
-rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index
-sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop}ifelse @rs}bd
-/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid sub}{exit}
-ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1
-roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul
-$tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1
-$tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/@pf{@gs $ctm
-setmatrix $pm concat @stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd
-Bbllx Bblly $pm itransform/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei
-$tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{eofill}if}{$t $c $m $y
-$k $n $o @scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1
-false[8 0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt
-$hei 0 gt and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub
-/$pwid xd $wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add
-/$tly xd $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@dlt_hsb{$fco
-nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/kdb xd nff $fco sub
-div/kdb2 xd sub neg 2 div dup $fco div/kds xd nff $fco sub div/kds2 xd sub neg
-dup 0 eq{pop $frb 2 eq{.99}{-.99}ifelse}if dup $frb 2 eq exch 0 lt and{1 add}
-if dup $frb 1 eq exch 0 gt and{1 sub}if 2 div dup $fco div/kdh xd nff $fco sub
-div/kdh2 xd}bd/@dlt_cmyk{$fmp 50 eq{sub neg nff dup 1 gt{1 sub}if div/$dk xd
-sub neg nff dup 1 gt{1 sub}if div/$dy xd sub neg nff dup 1 gt{1 sub}if div/$dm
-xd sub neg nff dup 1 gt{1 sub}if div/$dc xd sub neg nff dup 1 gt{1 sub}if div
-/$dt xd}{$fco nff ge{/$fco nff 1 sub def}if sub neg 2 div dup $fco div/$dk xd
-nff $fco sub div/$dk2 xd sub neg 2 div dup $fco div/$dy xd nff $fco sub div
-/$dy2 xd sub neg 2 div dup $fco div/$dm xd nff $fco sub div/$dm2 xd sub neg 2
-div dup $fco div/$dc xd nff $fco sub div/$dc2 xd sub neg 2 div dup $fco div
-/$dt xd nff $fco sub div/$dt2 xd}ifelse}bd/@dlt{$fse $fss sub dup/nff xd $fmp
-mul $fmp add 100 div round cvi dup 0 le{pop 1}if/$fco xd/$fi 0 def $frb dup 1
-eq exch 2 eq or{$frt dup $frc $frm $fry $frk @tc_5 4 copy cmyk2rgb rgb2hsb 3
-copy/myb xd/mys xd/myh xd $tot $toc $tom $toy $tok @tc_5 cmyk2rgb rgb2hsb 3 1
-roll 4 1 roll 5 1 roll @dlt_hsb}{$frt dup $frc $frm $fry $frk @tc_5 5 copy $tot
-dup $toc $tom $toy $tok @tc_5 5 1 roll 6 1 roll 7 1 roll 8 1 roll 9 1 roll
-@dlt_cmyk}ifelse}bd/@ffnxt{/$fi $fi 1 add def $frb dup 1 eq exch 2 eq or{pop
-pop pop pop myh mys myb $fi $fco lt{kdb add 3 1 roll kds add 3 1 roll kdh add 3
-1 roll}{kdb2 add 3 1 roll kds2 add 3 1 roll kdh2 add 3 1 roll}ifelse 3 copy
-/myb xd/mys xd/myh xd hsb2rgb rgb2cmyk}{$fi $fco lt $fmp 50 eq or{$dk add 5 1
-roll $dy add 5 1 roll $dm add 5 1 roll $dc add 5 1 roll $dt add 5 1 roll}{$dk2
-add 5 1 roll $dy2 add 5 1 roll $dm2 add 5 1 roll $dc2 add 5 1 roll $dt2 add 5 1
-roll}ifelse}ifelse}bd/ffcol{5 copy $fsit 0 eq{setcmykcolor pop}{SepMode_5 0 ne
-{$frn findcmykcustomcolor exch setcustomcolor}{pop pop pop pop $frc $frm $fry
-$frk $frn findcmykcustomcolor exch setcustomcolor}ifelse}ifelse}bd/@ftl{1 index
-4 index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub
-/$hei xd pop Tl @dlt $fss 0 eq{ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l @cp
-$ffpnt{fill}{@np}ifelse}if $fss $wid mul $pdw add 0 Tl nff{ffcol n 0 0 m 0 $hei
-l $wid $hei l $wid 0 l @cp $ffpnt{fill}{@np}ifelse $wid 0 Tl @ffnxt}repeat 5 rp
-$tot dup $toc $tom $toy $tok @tc_5 ffcol n 0 0 m 0 $hei l $pdw $hei l $pdw 0 l
-@cp $ffpnt{fill}{@np}ifelse 5 rp}bd/@ftrs{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl $fan rotate
-pop pop pop pop @dlt $fss 0 eq{ffcol $fty 3 eq{$hei dup neg dup m 2 mul @sqr}{
-0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse}if 1.0 $pad 2 mul sub
-dup scale $hei $fss $wid mul sub/$hei xd nff{ffcol $fty 3 eq{n $hei dup neg dup
-m 2 mul @sqr}{n 0 0 m 0 0 $hei 0 360 arc}ifelse $ffpnt{fill}{@np}ifelse/$hei
-$hei $wid sub def @ffnxt}repeat 5 rp}bd/@ftc{1 index 4 index sub dup $rox mul
-/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul
-exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst
-div/$wid xd 4 index add $roh add exch 5 index add $row add exch Tl pop pop pop
-pop @dlt $fss 0 eq{ffcol $ffpnt{fill}{@np}ifelse}{n}ifelse/$dang 180 $fst 1 sub
-div def/$sang $dang -2 div 180 add def/$eang $dang 2 div 180 add def/$sang
-$sang $dang $fss mul add def/$eang $eang $dang $fss mul add def/$sang $eang
-$dang sub def nff{ffcol n 0 0 m 0 0 $hei $sang $fan add $eang $fan add arc
-$ffpnt{fill}{@np}ifelse 0 0 m 0 0 $hei $eang neg $fan add $sang neg $fan add
-arc $ffpnt{fill}{@np}ifelse/$sang $eang def/$eang $eang $dang add def @ffnxt}
-repeat 5 rp}bd/@fstAdjust{72 0 matrix defaultmatrix dtransform exch dup mul
-exch dup mul add sqrt currentscreen pop pop div dup mul 1 add cvi 2 256 InRange
-$fsc 1 sub dup 0 le{pop 1}if mul/opt$fst xd AutoSteps dup 1 eq exch 3 eq or{
-opt$fst dup dup $fst dup 3 1 roll div exch 3 -1 roll gt{/$adj xd/$fst xd}{pop
-pop}ifelse}if AutoSteps dup 2 eq exch 3 eq or{opt$fst dup dup $fst dup 3 1 roll
-div exch 3 -1 roll lt{/$adj xd/$fst xd}{pop pop}ifelse}if}bd/@ff{/old$fst $fst
-def/$adj 1 def/$fss 0 def $o 1 eq setoverprint AutoSteps 0 gt{@fstAdjust}if 1 1
-$fsc 1 sub{dup 1 sub $fsit 0 eq{$fsa exch 5 mul 5 getinterval aload pop pop
-/$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def $fsa exch 5 mul 5
-getinterval aload pop $adj mul cvi $fss add/$fse xd/$tok xd/$toy xd/$tom xd
-/$toc xd/$ton _ def/$tot 1 def}{$fsa exch 7 mul 7 getinterval aload pop pop
-/$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd $fsa exch 7 mul 7 getinterval
-aload pop $adj mul cvi $fss add/$fse xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd
-/$toc xd}ifelse $fsit 0 eq SepMode_5 0 eq or dup not CurrentInkName_5 $frn eq
-and or{@sv $ctm setmatrix eoclip Bbllx Bblly Bburx Bbury $fty 2 eq{@ftc}{1
-index 3 index m 2 copy l 3 index 1 index l 3 index 3 index l @cp $fty dup 1 eq
-exch 3 eq or{@ftrs}{pop pop pop pop $fan rotate pathbbox @ftl}ifelse}ifelse @rs
-/$fss $fse def}{1 0 0 0 0 _ $o @scc_5{fill}if}ifelse}for @np/$fst old$fst def}
-bd/@Pf{@sv SepMode_5 0 eq $Psc 0 ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y
-$k $n $o @scc_5 pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup
-Bburx exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd
-Bbllx exch Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm
-aload pop $Psn load exec}{1 SetGry eofill}ifelse @rs @np}bd/F{matrix
-currentmatrix $sdf{$scf $sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3
-eq{@Pf}{$t $c $m $y $k $n $o @scc_5{eofill}{@np}ifelse}ifelse}ifelse}ifelse
-$sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm
-setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc_5{matrix
-currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp
-@ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/_E{5 array astore
-exch cvlit xd}bd/@cc{currentfile $dat readhexstring pop}bd/@sm{/$ctm $ctm
-currentmatrix def}bd/@E{/Bbury xd/Bburx xd/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{
-/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true def}{@gs $t $c $m $y $k $n $o
-@scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd/$pn xd}bd/@P
-{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd}bd/@k{/$fil 2 def/$fmp xd
-/$roy xd/$rox xd/$pad xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst
-xd/$fsc xd/$fsa xd/$fsit 0 def}bd/@x{/$fil 2 def/$fmp xd/$roy xd/$rox xd/$pad
-xd/$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$frb xd/$fst xd/$fsc xd/$fsa xd
-/$fsit 1 def}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index
-3 index l 3 index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii
-6 index 1 ne{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5
-/$frg xd}{/$frg false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np
-/$ury xd/$urx xd/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8
-div ceiling cvi string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl
-$urx $llx sub $ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid
-$hei abs $bts 1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/tcc load $bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa
-$dsp @ss}if}{$hei abs{tcc pop}repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs
-@ii @np/$ury xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat
-$wid $bts mul $ncl mul 8 div ceiling cvi string def $ngx $llx $lly Tl $urx $llx
-sub $ury $lly sub scale $wid $hei abs $bts[$wid 0 0 $hei neg 0 $hei 0
-gt{$hei}{0}ifelse]/@cc load false $ncl ColorImage $SDF{$dsf $dsa $dsp @ss}if
-@gr $ctm setmatrix}bd L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd
-/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi
-string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
-ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
-dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
-$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
-ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
-/DataSource currentfile/ASCII85Decode filter def currentdict end image $SDF
-{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/z{exch findfont
-exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll/FontType 3 def
-/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{Encoding exch
-/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}put/Metrics 256
-dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup/$char exch/Encoding
-get 3 index get def dup/Metrics get $char get aload pop setcachedevice begin
-Encoding exch get CharStrings exch get end exec}def end definefont pop}bd
-/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put
-CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup maxlength 2
-add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall
-pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch put dup
-/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch
-pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict dup
-/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 index
-length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 -1
-roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop}bd
-/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true charpath
-$ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch m}forall}bd
-/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf
-ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld @ftx}{$t $c $m
-$y $k $n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp
-@ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T
-$C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup
-@gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3
--1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd
-/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd
-/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}
-def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm matrix def}bd/ddt
-{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat ddt $stm
-setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd/@B{@gs S @gr F}
-bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq{/$ink_5 -1 def}{
-CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5(Magenta)eq{/$ink_5 1
-def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{CurrentInkName_5(Black)eq
-{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}ifelse}ifelse}bd/@whi{@gs
--72000 dup m -72000 72000 l 72000 dup l 72000 -72000 l @cp 1 SetGry fill @gr}
-bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec cvx]cvx settransfer @whi}
-bd/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch
-dup mul add sqrt}bd/@unscale{}bd/@smc{CMYKMarks{0 exch eq{1 1 1 1 1 _ 0 @scc_5
-pop}{1 0 0 0 0 _ 0 @scc_5 pop}ifelse}{SetGry}ifelse}bd/@gmc{CMYKMarks{GetCmyk
-pop pop pop 1 eq{0}{1}ifelse}{GetGry}ifelse}bd/@sqr{dup 0 rl dup 0 exch rl neg
-0 rl @cp}bd/corelsym{@gs @np Tl -90 rotate 7{45 rotate -.75 2 m 1.5 @sqr fill}
-repeat @gr}bd/@reg_cor{@gs @np Tl -6 -6 m 12 @sqr @gs 1 @gmc sub @smc fill @gr
-4{90 rotate 0 4 m 0 4 rl}repeat stroke 0 0 corelsym @gr}bd/@reg_std{@gs @np Tl
-.3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl
-}repeat stroke @gr}bd/@reg_inv{@gs @np Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc
-sub @smc fill @gr 4{90 rotate 0 0 m 0 8 rl}repeat stroke 0 0 m 0 0 5 90 180 arc
-@cp 0 0 5 270 360 arc @cp fill @gr}bd/@reg_sqr{@gs @np Tl .3 w -7 -7 m 14 @sqr
-fill @gs 1 @gmc sub @smc 0 0 5 0 360 arc @cp save fill restore 4{90 rotate 0 0
-m 0 8 rl}repeat stroke @gr 4{90 rotate 0 0 m 0 5 rl}repeat stroke @gr}bd
-/@reg_lng{@gs @np 0 eq{/$Xlen 16 def/$Ylen 8 def}{/$Xlen 8 def/$Ylen 16 def}
-ifelse Tl .3 w 0 0 5 0 360 arc @cp @gs 1 @gmc sub @smc fill @gr 90 rotate 0 0 m
-0 $Xlen rl 90 rotate 0 0 m 0 $Ylen rl 90 rotate 0 0 m 0 $Xlen rl 90 rotate 0 0
-m 0 $Ylen rl stroke @gr}bd/@setdcol{0 $dcol eq{0 exch 1 exch sub 0 0 0 _ 0
-@scc_5 pop}{1 $dcol eq{0 exch 0 exch 1 exch sub 0 0 _ 0 @scc_5 pop}{2 $dcol eq
-{0 exch 0 exch 0 exch 1 exch sub 0 _ 0 @scc_5 pop}{SetGry}ifelse}ifelse}ifelse
-}bd/$corelmeter[1 .95 .75 .50 .25 .05 0]def/@colormeter{@gs @np 0 @setdcol 0.3
-w/Courier findfont 5 scalefont setfont/yy xd/xx xd 0 1 6{dup xx 20 sub yy m 20
-@sqr @gs $corelmeter exch get dup @setdcol fill @gr stroke xx 18 sub yy 2 add m
-exch dup 3 ge{1 SetGry}{0 @setdcol}ifelse 3 eq{pop}{100 mul 100 exch sub cvi 20
-string cvs show}ifelse/yy yy 20 add def}for @gr}bd/@calbar{@gs Tl @gs @np 0 0 m
-@gs 20 @sqr 1 1 0 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 0 1
-0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 0 1 0 _ 0 @scc_5 pop
-fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 0 1 1 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0
-0 m @gs 20 @sqr 1 0 1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1
-1 0 0 _ 0 @scc_5 pop fill @gr 20 0 Tl 0 0 m @gs 20 @sqr 1 1 1 1 0 _ 0 @scc_5
-pop fill @gr @gr @np -84 0 Tl @gs 0 0 m 20 @sqr clip 1 1 0 0 0 _ 0 @scc_5 pop
-@gain @gr 20 0 Tl @gs 0 0 m 20 @sqr clip 1 0 1 0 0 _ 0 @scc_5 pop @gain @gr 20
-0 Tl @gs 0 0 m 20 @sqr clip 1 0 0 1 0 _ 0 @scc_5 pop @gain @gr 20 0 Tl @gs 0 0
-m 20 @sqr clip 1 0 0 0 1 _ 0 @scc_5 pop @gain @gr @gr}bd/@gain{10 10 Tl @np 0 0
-m 0 10 360{0 0 15 4 -1 roll dup 5 add arc @cp}for fill}bd/@crop{@gs 10 div
-/$croplen xd .3 w 0 @smc Tl rotate 0 0 m 0 $croplen neg rl stroke @gr}bd
-/deflevel 0 def/@sax{/deflevel deflevel 1 add def}bd/@eax{/deflevel deflevel
-dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}ifelse}bd/eax{{exec}forall}
-bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type/arraytype eq{{}forall}if}bd
-/@BMP{/@cc xd 12 index 1 gt UseLevel2 true eq and{7 -2 roll pop pop @I_2}{11
-index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I}ifelse}ifelse}bd systemdict
-/pdfmark known not{/pdfmark/cleartomark ld}if/@BeginEPS{$ngx 0 SetGry 0 J 0 j 1
-w[]0 d 10 M false setoverprint @np/EPSDict 200 dict def EPSDict begin @sv
-SepMode_5 0 ne{/colorimage{@gs/sepdict 50 dict def sepdict begin[{1 exch sub}
-/exec cvx currenttransfer/exec cvx]cvx settransfer 3 eq/$rgb xd{$rgb{/daq0 xd
-/daq1 xd/daq2 xd/daq_rgb load}{/daq0 xd/daq1 xd/daq2 xd/daq3 xd/daq_cmyk load}
-ifelse}{/daq0 xd/daq_one load}ifelse 2 index 8 eq/8bit xd $ink_5 dup 0 lt exch
-3 gt or{}{image}ifelse end @gr}bd/2cmyk{3{255 exch sub 3 1 roll}repeat 3 copy
-@MN @MN 3{dup 5 -1 roll sub neg exch}repeat}bd/daq_rgb{/i 0 def/daq2 load exec
-/daq1 load exec/daq0 load exec dup dup length 0 exch getinterval/$data xd{8bit
-{1 index i get 3 index i get 2cmyk 4 $ink_5 neg roll pop pop pop}{pop 0}ifelse
-$data i 3 -1 roll put/i i 1 add def}forall pop pop $data}bd/daq_cmyk{/daq3 load
-exec/daq2 load exec/daq1 load exec/daq0 load exec 4 $ink_5 neg roll pop pop pop
-}bd/daq_one{/$in 0 def/$out 0 def/daq0 load exec dup dup length $rgb{3}{4}
-ifelse idiv 0 exch getinterval/$data xd $data{pop 8bit{$rgb{0 index $in 2 add
-get 1 index $in 1 add get 2 index $in get 2cmyk}{0 index $in get 1 index $in 1
-add get 2 index $in 2 add get 3 index $in 3 add get}ifelse 4 $ink_5 neg roll
-pop pop pop}{0}ifelse $data $out 3 -1 roll put/$in $in $rgb{3}{4}ifelse add def
-/$out $out 1 add def}forall pop $data}bd}if}bd/@EndEPS{@rs end}bd end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-wCorel6Dict begin
-@BeginSysCorelDict
-2.6131 setmiterlimit
-1.00 setflat
-/$fst 128 def
-%%EndSetup
-
-%%Page: 1 1
-%LogicalPage: 1
-%%BeginPageSetup
-@sv
-@sm
-@sv
-%%EndPageSetup
-@rax %Note: Object
-148.15559 236.18041 202.52778 314.02828 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-148.15559 314.02828 m
-202.52778 314.02828 L
-202.52778 236.18041 L
-148.15559 236.18041 L
-148.15559 314.02828 L
-@c
-S
-
-@rax %Note: Object
-127.74643 87.86835 225.97002 110.77342 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-127.74643 110.77342 m
-225.97002 110.77342 L
-225.97002 87.86835 L
-127.74643 87.86835 L
-127.74643 110.77342 L
-@c
-S
-
-@rax %Note: Object
-404.84353 218.57187 449.83956 283.44501 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-404.84353 283.44501 m
-449.83956 283.44501 L
-449.83956 218.57187 L
-404.84353 218.57187 L
-404.84353 283.44501 L
-@c
-S
-
-@rax %Note: Object
-254.33943 339.97748 318.04980 378.90142 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-286.19461 378.90142 m
-303.73965 378.90142 318.04980 370.15852 318.04980 359.43931 c
-318.04980 348.72009 303.73965 339.97748 286.19461 339.97748 c
-268.64929 339.97748 254.33943 348.72009 254.33943 359.43931 c
-254.33943 370.15852 268.64929 378.90142 286.19461 378.90142 c
-@c
-S
-
-@rax %Note: Object
-283.88636 227.83946 347.59672 266.76340 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-315.74154 266.76340 m
-333.28658 266.76340 347.59672 258.02079 347.59672 247.30129 c
-347.59672 236.58208 333.28658 227.83946 315.74154 227.83946 c
-298.19622 227.83946 283.88636 236.58208 283.88636 247.30129 c
-283.88636 258.02079 298.19622 266.76340 315.74154 266.76340 c
-@c
-S
-
-@rax %Note: Object
-363.46677 264.98721 378.50910 280.74189 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-363.46677 280.74189 m
-378.50910 280.74189 L
-378.50910 264.98721 L
-363.46677 264.98721 L
-363.46677 280.74189 L
-@c
-S
-
-@rax 369.60293 270.39317 372.73408 277.68898 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 369.60280442 270.39307508] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax %Note: Object
-233.27575 220.22504 248.31808 235.97943 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-233.27575 235.97943 m
-248.31808 235.97943 L
-248.31808 220.22504 L
-233.27575 220.22504 L
-233.27575 235.97943 L
-@c
-S
-
-@rax 239.41162 225.63071 242.53342 232.90526 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 239.41169297 225.63077961] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax %Note: Object
-245.27934 310.39852 260.32195 326.15291 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-245.27934 326.15291 m
-260.32195 326.15291 L
-260.32195 310.39852 L
-245.27934 310.39852 L
-245.27934 326.15291 L
-@c
-S
-
-@rax 251.41550 315.80419 254.53729 323.07874 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 251.41547591 315.80427630] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax %Note: Object
-219.42595 326.15320 234.46828 341.90787 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-219.42595 341.90787 m
-234.46828 341.90787 L
-234.46828 326.15320 L
-219.42595 326.15320 L
-219.42595 341.90787 L
-@c
-S
-
-@rax 225.56211 331.55915 228.68391 338.83370 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 225.56196189 331.55921021] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax 265.98557 353.55515 307.54658 366.64101 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 265.98552164 353.76659884] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (s) @t
-5779 29085 m
-22098 31643 L
-22998 25106 25580 20061 29749 16603 c
-33941 13122 39815 11369 47323 11369 c
-54902 11369 60539 12908 64187 15988 c
-67858 19067 69706 22714 69706 26859 c
-69706 30601 68071 33538 64850 35670 c
-62576 37138 56939 39010 47963 41260 c
-35859 44315 27451 46968 22785 49194 c
-18119 51421 14566 54523 12151 58455 c
-9735 62387 8527 66769 8527 71529 c
-8527 75864 9521 79890 11487 83585 c
-13477 87280 16201 90383 19611 92822 c
-22169 94714 25698 96325 30128 97628 c
-34557 98954 39318 99617 44386 99617 c
-52013 99617 58739 98504 64519 96325 c
-70298 94122 74561 91117 77309 87375 c
-80056 83609 81975 78564 83017 72264 C
-66863 70085 L
-66129 75082 63998 79014 60492 81809 c
-56987 84604 51989 86025 45570 86025 c
-37991 86025 32567 84770 29346 82283 c
-26125 79772 24491 76835 24491 73472 c
-24491 71340 25177 69398 26504 67692 c
-27830 65916 29962 64424 32828 63287 c
-34486 62671 39365 61250 47418 59071 c
-59095 55945 67266 53387 71861 51397 c
-76456 49407 80104 46518 82733 42728 c
-85362 38939 86688 34225 86688 28612 c
-86688 23117 85077 17906 81880 13074 c
-78659 8219 74016 4453 67977 1800 c
-61913 -853 55045 -2203 47418 -2203 c
-34770 -2203 25106 426 18474 5684 c
-11843 10943 7603 18735 5779 29062 c
-5779 29085 L
-@c
-F
-%CHAR: 93936 0 (t) @t
-142372 14780 m
-144741 166 L
-140099 -805 135930 -1303 132259 -1303 c
-126290 -1303 121624 -355 118332 1540 c
-115040 3434 112695 5945 111368 9024 c
-110018 12103 109331 18617 109331 28517 c
-109331 84556 L
-97228 84556 L
-97228 97414 L
-109331 97414 L
-109331 121526 L
-125745 131450 L
-125745 97414 L
-142349 97414 L
-142349 84556 L
-125745 84556 L
-125745 27593 l
-125745 22904 126053 19848 126622 18522 c
-127190 17195 128161 16106 129464 15324 c
-130790 14519 132685 14116 135125 14116 c
-136948 14116 139364 14330 142349 14756 C
-142372 14780 L
-@c
-F
-%CHAR: 143472 0 (a) @t
-219431 12008 m
-213320 6821 207398 3150 201761 1018 c
-196124 -1113 190037 -2203 183547 -2203 c
-172842 -2203 164599 426 158867 5637 c
-153136 10848 150246 17551 150246 25675 c
-150246 30436 151336 34817 153491 38749 c
-155670 42681 158536 45878 162041 48247 c
-165547 50615 169526 52439 173908 53647 c
-177152 54500 182055 55329 188592 56134 c
-201904 57721 211733 59639 218033 61819 C
-218081 64069 218128 65513 218128 66129 c
-218128 72856 216565 77593 213462 80340 c
-209246 84083 202946 85954 194656 85954 c
-186887 85954 181155 84580 177460 81880 c
-173765 79156 170994 74324 169242 67408 C
-153088 69611 L
-154557 76527 156973 82117 160336 86356 c
-163699 90596 168578 93888 174926 96159 c
-181274 98457 188663 99617 197024 99617 c
-205338 99617 212112 98622 217299 96680 c
-222510 94738 226347 92254 228763 89293 c
-231202 86333 232931 82567 233902 78043 c
-234447 75248 234731 70156 234731 62837 c
-234731 40810 l
-234731 25462 235087 15751 235773 11701 c
-236484 7627 237878 3719 239963 0 C
-222723 0 L
-221018 3411 219881 7413 219407 12008 C
-219431 12008 L
-@c
-218057 48886 m
-212064 46447 203064 44339 191079 42633 c
-184305 41686 179474 40573 176679 39365 c
-173860 38133 171681 36333 170165 33988 c
-168649 31620 167868 28991 167868 26125 c
-167868 21719 169549 18048 172865 15135 c
-176181 12198 181084 10729 187503 10729 c
-193851 10729 199511 12127 204462 14898 c
-209412 17669 213059 21483 215380 26314 c
-217133 30033 218033 35552 218033 42823 c
-218057 48886 L
-@c
-F
-%CHAR: 247968 0 (t) @t
-296404 14780 m
-298773 166 L
-294131 -805 289962 -1303 286291 -1303 c
-280322 -1303 275656 -355 272364 1540 c
-269072 3434 266727 5945 265400 9024 c
-264050 12103 263363 18617 263363 28517 c
-263363 84556 L
-251260 84556 L
-251260 97414 L
-263363 97414 L
-263363 121526 L
-279777 131450 L
-279777 97414 L
-296381 97414 L
-296381 84556 L
-279777 84556 L
-279777 27593 l
-279777 22904 280085 19848 280654 18522 c
-281222 17195 282193 16106 283496 15324 c
-284822 14519 286717 14116 289157 14116 c
-290980 14116 293396 14330 296381 14756 C
-296404 14780 L
-@c
-F
-%CHAR: 300168 0 (i) @t
-312650 115486 m
-312626 134458 L
-329135 134458 L
-329135 115486 L
-312650 115486 L
-@c
-312650 0 m
-312626 97414 L
-329135 97414 L
-329135 0 L
-312650 0 L
-@c
-F
-%CHAR: 341904 0 (c) @t
-417863 35694 m
-434087 33562 L
-432334 22383 427763 13595 420468 7295 c
-413173 971 404173 -2203 393538 -2203 c
-380227 -2203 369497 2155 361397 10848 c
-353297 19564 349223 32070 349223 48342 c
-349223 58858 350975 68071 354457 75935 c
-357939 83822 363268 89767 370374 93699 c
-377479 97628 385248 99617 393633 99617 c
-404196 99617 412865 96941 419592 91591 c
-426318 86238 430629 78635 432524 68782 C
-416465 66319 L
-414949 72856 412226 77782 408365 81075 c
-404480 84367 399767 86025 394272 86025 c
-385959 86025 379185 83040 373998 77095 c
-368810 71127 366205 61676 366205 48792 c
-366205 35717 368716 26196 373713 20275 c
-378735 14353 385295 11369 393348 11369 c
-399838 11369 405262 13358 409596 17314 c
-413931 21293 416702 27428 417839 35670 C
-417863 35694 L
-@c
-F
-T
-@rax 533.81083 244.73735 571.01499 258.05310 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 533.81074996 244.95794069] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (B) @t
-13761 0 m
-13737 134458 L
-64211 134458 l
-74466 134458 82709 133084 88914 130384 c
-95117 127684 99996 123468 103502 117831 c
-107007 112170 108783 106225 108783 100067 c
-108783 94335 107220 88914 104117 83846 c
-100991 78777 96278 74656 89980 71529 C
-98101 69161 104378 65063 108736 59332 c
-113094 53600 115297 46802 115297 38986 c
-115297 32686 113970 26812 111318 21411 c
-108665 16011 105349 11819 101441 8882 c
-97533 5945 92609 3719 86735 2250 c
-80838 758 73590 0 65016 0 c
-13761 0 L
-@c
-31549 77972 m
-60634 77972 l
-68498 77972 74182 78493 77593 79511 c
-82117 80861 85551 83112 87825 86214 c
-90099 89341 91259 93273 91259 97959 c
-91259 102412 90193 106367 88062 109754 c
-85930 113141 82851 115486 78896 116718 c
-74916 117950 68095 118589 58432 118589 c
-31549 118589 L
-31549 77972 L
-@c
-31549 15869 m
-65016 15869 l
-70772 15869 74822 16082 77143 16509 c
-81217 17219 84651 18451 87399 20156 c
-90146 21861 92444 24372 94193 27641 c
-95946 30909 96846 34699 96846 38986 c
-96846 43984 95567 48342 93012 52036 c
-90454 55731 86877 58360 82330 59853 c
-77782 61345 71198 62103 62647 62103 c
-31549 62103 L
-31549 15869 L
-@c
-F
-%CHAR: 125304 0 (G) @t
-202731 52747 m
-202707 68521 L
-259691 68616 L
-259691 18711 L
-250951 11748 241904 6490 232619 2984 c
-223334 -521 213768 -2297 204010 -2297 c
-190794 -2297 178785 545 168009 6182 c
-157208 11819 149060 20014 143565 30720 c
-138070 41426 135299 53387 135299 66579 c
-135299 79653 138047 91899 143494 103217 c
-148966 114563 156853 122995 167108 128490 c
-177388 133984 189230 136756 202613 136756 c
-212324 136756 221132 135169 228995 132042 c
-236859 128892 243017 124487 247470 118873 c
-251922 113260 255333 105894 257654 96846 C
-241619 92467 L
-239606 99286 237072 104686 234087 108594 c
-231103 112502 226792 115652 221250 117997 c
-215687 120342 209481 121526 202707 121526 c
-194583 121526 187549 120294 181628 117831 c
-175706 115368 170898 112076 167274 108049 c
-163627 104023 160785 99570 158771 94738 c
-155361 86451 153632 77403 153632 67692 c
-153632 55708 155692 45665 159813 37612 c
-163935 29536 169974 23519 177838 19611 c
-185725 15703 194133 13737 202992 13737 c
-210689 13737 218221 15230 225561 18190 c
-232903 21151 238469 24325 242259 27688 C
-242259 52747 L
-202731 52747 L
-@c
-F
-%CHAR: 271440 0 (P) @t
-285935 0 m
-285912 134458 L
-336645 134458 l
-345575 134458 352420 134032 357110 133179 c
-363694 132090 369257 129982 373710 126903 c
-378163 123824 381787 119465 384487 113923 c
-387187 108357 388561 102223 388561 95567 c
-388561 84154 384913 74466 377665 66556 c
-370394 58645 357228 54666 338209 54666 c
-303723 54666 L
-303723 0 L
-285935 0 L
-@c
-303723 70535 m
-338493 70535 l
-349980 70535 358152 72690 362983 76953 c
-367812 81217 370228 87256 370228 95022 c
-370228 100636 368807 105467 365965 109470 c
-363126 113473 359360 116126 354717 117405 c
-351733 118186 346167 118589 338114 118589 c
-303723 118589 L
-303723 70535 L
-@c
-F
-T
-@rax 408.45628 264.29074 446.56838 277.41373 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 408.45620689 264.50210637] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 188424.00000 z
-%CHAR: 0 0 (t) @t
-48581 14803 m
-50950 166 L
-46308 -805 42115 -1303 38444 -1303 c
-32428 -1303 27759 -355 24467 1540 c
-21151 3434 18806 5969 17480 9048 c
-16130 12127 15443 18664 15443 28612 c
-15443 84820 L
-3292 84820 L
-3292 97708 L
-15443 97708 L
-15443 121890 L
-31907 131838 L
-31907 97708 L
-48558 97708 L
-48558 84820 L
-31907 84820 L
-31907 27688 l
-31907 22975 32215 19919 32783 18593 c
-33352 17243 34323 16153 35626 15372 c
-36952 14566 38847 14164 41310 14164 c
-43134 14164 45573 14377 48558 14803 c
-48581 14803 L
-@c
-F
-%CHAR: 49680 0 (a) @t
-125855 12056 m
-119720 6845 113799 3126 108138 995 c
-102477 -1137 96367 -2226 89877 -2226 c
-79144 -2226 70878 403 65123 5637 c
-59367 10872 56478 17598 56478 25746 c
-56478 30530 57567 34915 59746 38847 c
-61925 42802 64791 46000 68297 48368 c
-71802 50760 75805 52584 80210 53816 c
-83458 54669 88385 55498 94945 56303 c
-108304 57890 118157 59808 124457 62011 C
-124505 64261 124552 65706 124552 66322 c
-124552 73048 122989 77833 119862 80580 c
-115646 84322 109346 86194 101009 86194 c
-93240 86194 87461 84820 83766 82096 c
-80068 79372 77297 74517 75521 67601 C
-59320 69827 L
-60788 76743 63228 82357 66591 86620 c
-69955 90883 74857 94176 81232 96452 c
-87603 98750 95017 99910 103401 99910 c
-111738 99910 118512 98916 123723 96973 c
-128934 95007 132795 92518 135234 89557 c
-137674 86573 139403 82807 140374 78283 c
-140919 75464 141203 70348 141203 63006 c
-141203 40931 l
-141203 25533 141558 15798 142269 11724 c
-142979 7650 144380 3719 146464 0 C
-129171 0 L
-127465 3411 126328 7437 125855 12032 c
-125855 12056 L
-@c
-124481 49031 m
-118465 46568 109441 44484 97409 42779 c
-90611 41807 85779 40694 82984 39463 c
-80163 38231 77960 36431 76444 34086 c
-74928 31718 74147 29085 74147 26220 c
-74147 21814 75829 18119 79144 15182 c
-82487 12245 87390 10753 93832 10753 c
-100204 10753 105888 12151 110838 14922 c
-115812 17717 119483 21554 121805 26385 c
-123557 30128 124457 35649 124457 42944 c
-124481 49031 L
-@c
-F
-%CHAR: 154464 0 (b) @t
-182152 0 m
-166780 0 L
-166780 134870 L
-183336 134870 L
-183336 86738 L
-190326 95505 199256 99910 210104 99910 c
-216120 99910 221828 98702 227181 96286 c
-232534 93868 236963 90433 240421 86075 c
-243879 81693 246626 76388 248568 70206 c
-250514 64001 251508 57369 251508 50310 c
-251508 33589 247361 20630 239094 11487 c
-230828 2345 220880 -2226 209298 -2226 c
-197764 -2226 188692 2605 182152 12222 C
-182152 0 L
-@c
-181963 49600 m
-181963 37876 183573 29393 186750 24183 c
-191961 15656 199019 11393 207901 11393 c
-215149 11393 221425 14543 226683 20819 c
-231941 27096 234594 36478 234594 48937 c
-234594 61679 232060 71106 227015 77170 c
-221946 83233 215812 86288 208635 86288 c
-201411 86288 195135 83138 189876 76862 c
-184615 70585 181963 61466 181963 49576 C
-181963 49600 L
-@c
-F
-%CHAR: 259248 0 (l) @t
-271304 0 m
-271280 134870 L
-287860 134870 L
-287860 0 L
-271304 0 L
-@c
-F
-%CHAR: 301104 0 (e) @t
-380405 31457 m
-397509 29346 L
-394806 19351 389808 11558 382513 6063 c
-375218 545 365886 -2226 354541 -2226 c
-340259 -2226 328910 2179 320550 10966 c
-312189 19777 307996 32144 307996 48013 c
-307996 64451 312236 77217 320692 86288 c
-329147 95363 340140 99910 353617 99910 c
-366691 99910 377373 95457 385640 86573 c
-393929 77667 398077 65137 398077 49031 c
-398077 48060 398030 46568 397983 44602 C
-325097 44602 L
-325713 33897 328768 25651 334219 19967 c
-339667 14259 346488 11393 354636 11393 c
-360699 11393 365910 13003 370173 16177 c
-374460 19351 377895 24467 380405 31457 C
-@c
-326045 58245 m
-380595 58221 L
-379860 66440 377752 72622 374318 76719 c
-369060 83091 362191 86288 353807 86288 c
-346227 86288 339809 83730 334645 78662 c
-329455 73569 326566 66748 326021 58221 C
-326045 58245 L
-@c
-F
-T
-@rax 423.75231 241.71732 432.80759 254.64472 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 423.75216172 241.71732029] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (2) @t
-94572 15869 m
-94572 0 L
-5684 0 L
-5566 3955 6206 7792 7603 11464 c
-9853 17503 13501 23472 18474 29346 c
-23448 35220 30672 42018 40075 49715 c
-54689 61700 64590 71198 69706 78185 c
-74822 85196 77403 91828 77403 98054 c
-77403 104591 75059 110110 70393 114610 c
-65727 119110 59616 121360 52084 121360 c
-44149 121360 37778 118968 33017 114207 c
-28257 109423 25817 102815 25770 94383 C
-8787 96112 L
-9948 108760 14330 118423 21909 125055 c
-29488 131687 39673 135027 52463 135027 c
-65348 135027 75580 131450 83088 124297 c
-90620 117144 94383 108239 94383 97675 c
-94383 92301 93273 86996 91093 81809 c
-88891 76622 85220 71127 80127 65395 c
-75011 59663 66508 51752 54666 41733 c
-44765 33420 38370 27759 35575 24798 c
-32780 21838 30436 18853 28612 15869 C
-94572 15869 L
-@c
-F
-T
-@rax 298.38246 239.60665 331.64362 256.05865 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 298.38255753 243.18428450] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (p) @t
-12387 -37352 m
-12364 97414 L
-27428 97414 L
-27428 84746 L
-30957 89696 34983 93438 39436 95899 c
-43889 98362 49313 99617 55660 99617 c
-63974 99617 71340 97462 77688 93201 c
-84035 88914 88867 82851 92088 75082 c
-95306 67290 96941 58716 96941 49431 c
-96941 39483 95141 30483 91591 22525 c
-88014 14543 82804 8408 75982 4169 c
-69161 -71 61984 -2203 54476 -2203 c
-48981 -2203 44031 -1042 39673 1279 c
-35315 3600 31691 6537 28896 10090 C
-28896 -37352 L
-12387 -37352 L
-@c
-27333 48152 m
-27333 35623 29867 26338 34936 20369 c
-40004 14377 46186 11369 53387 11369 c
-60705 11369 67006 14472 72216 20677 c
-77451 26883 80080 36499 80080 49526 c
-80080 61937 77522 71245 72429 77403 c
-67313 83585 61203 86688 54121 86688 c
-47086 86688 40857 83396 35457 76835 c
-30057 70250 27333 60682 27333 48152 c
-@c
-F
-%CHAR: 104496 0 (i) @t
-116978 115486 m
-116954 134458 L
-133463 134458 L
-133463 115486 L
-116978 115486 L
-@c
-116978 0 m
-116954 97414 L
-133463 97414 L
-133463 0 L
-116978 0 L
-@c
-F
-%CHAR: 146232 0 (p) @t
-158619 -37352 m
-158596 97414 L
-173660 97414 L
-173660 84746 L
-177189 89696 181215 93438 185668 95899 c
-190121 98362 195545 99617 201892 99617 c
-210206 99617 217572 97462 223920 93201 c
-230267 88914 235099 82851 238320 75082 c
-241538 67290 243173 58716 243173 49431 c
-243173 39483 241373 30483 237823 22525 c
-234246 14543 229036 8408 222214 4169 c
-215393 -71 208216 -2203 200708 -2203 c
-195213 -2203 190263 -1042 185905 1279 c
-181547 3600 177923 6537 175128 10090 C
-175128 -37352 L
-158619 -37352 L
-@c
-173565 48152 m
-173565 35623 176099 26338 181168 20369 c
-186236 14377 192418 11369 199619 11369 c
-206937 11369 213238 14472 218448 20677 c
-223683 26883 226312 36499 226312 49526 c
-226312 61937 223754 71245 218661 77403 c
-213545 83585 207435 86688 200353 86688 c
-193318 86688 187089 83396 181689 76835 c
-176289 70250 173565 60682 173565 48152 c
-@c
-F
-%CHAR: 250728 0 (e) @t
-329813 31383 m
-346840 29251 L
-344166 19303 339169 11558 331897 6063 c
-324626 568 315318 -2203 304020 -2203 c
-289761 -2203 278463 2179 270126 10943 c
-261789 19706 257597 32046 257597 47868 c
-257597 64258 261813 76977 270245 86025 c
-278677 95070 289643 99617 303096 99617 c
-316123 99617 326781 95164 335024 86309 c
-343266 77451 347408 64945 347408 48886 c
-347408 47915 347361 46423 347313 44481 C
-274650 44481 L
-275266 33775 278298 25580 283745 19896 c
-289193 14211 295991 11369 304115 11369 c
-310154 11369 315341 12956 319605 16130 c
-323868 19303 327279 24396 329789 31359 C
-329813 31383 L
-@c
-275598 58076 m
-329979 58053 L
-329245 66248 327137 72406 323726 76503 c
-318468 82851 311646 86025 303286 86025 c
-295706 86025 289335 83491 284172 78422 c
-279008 73353 276119 66556 275574 58053 C
-275598 58076 L
-@c
-F
-T
-@rax 130.51502 92.83266 222.77140 105.95565 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 130.51500994 93.04400499] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 188424.00000 z
-%CHAR: 0 0 (k) @t
-12506 0 m
-12506 134870 L
-29062 134870 L
-29062 57961 L
-68264 97708 L
-89699 97708 L
-52347 61442 L
-93465 0 L
-73048 0 L
-40742 49955 L
-29062 38728 L
-29062 0 L
-12506 0 L
-@c
-F
-%CHAR: 94224 0 (e) @t
-173525 31457 m
-190629 29346 L
-187926 19351 182928 11558 175633 6063 c
-168338 545 159006 -2226 147661 -2226 c
-133379 -2226 122030 2179 113670 10966 c
-105309 19777 101116 32144 101116 48013 c
-101116 64451 105356 77217 113812 86288 c
-122267 95363 133260 99910 146737 99910 c
-159811 99910 170493 95457 178760 86573 c
-187049 77667 191197 65137 191197 49031 c
-191197 48060 191150 46568 191103 44602 C
-118217 44602 L
-118833 33897 121888 25651 127339 19967 c
-132787 14259 139608 11393 147756 11393 c
-153819 11393 159030 13003 163293 16177 c
-167580 19351 171015 24467 173525 31457 C
-@c
-119165 58245 m
-173715 58221 L
-172980 66440 170872 72622 167438 76719 c
-162180 83091 155311 86288 146927 86288 c
-139347 86288 132929 83730 127765 78662 c
-122575 73569 119686 66748 119141 58221 C
-119165 58245 L
-@c
-F
-%CHAR: 199008 0 (r) @t
-211253 0 m
-211230 97708 L
-226128 97708 L
-226128 82878 L
-229917 89794 233449 94392 236671 96594 c
-239892 98797 243444 99910 247305 99910 c
-252871 99910 258556 98134 264311 94581 C
-258627 79206 L
-254577 81575 250503 82783 246476 82783 c
-242876 82783 239607 81693 236742 79538 c
-233852 77359 231791 74327 230560 70467 c
-228709 64593 227786 58127 227786 51139 c
-227786 0 L
-211253 0 L
-@c
-F
-%CHAR: 261744 0 (n) @t
-274155 0 m
-274155 97708 L
-289053 97708 L
-289053 83801 L
-296233 94534 306607 99910 320155 99910 c
-326029 99910 331453 98844 336379 96736 c
-341306 94628 345024 91831 347464 88420 c
-349927 84986 351656 80888 352627 76175 c
-353243 73096 353551 67719 353551 60069 c
-353551 0 L
-336995 0 L
-336995 59429 l
-336995 66156 336355 71225 335076 74540 c
-333797 77880 331476 80556 328208 82546 c
-324939 84536 321055 85554 316649 85554 c
-309615 85554 303528 83304 298412 78851 c
-293296 74375 290711 65848 290711 53342 c
-290711 0 L
-274155 0 L
-@c
-F
-%CHAR: 366528 0 (e) @t
-445829 31457 m
-462933 29346 L
-460230 19351 455232 11558 447937 6063 c
-440642 545 431310 -2226 419965 -2226 c
-405683 -2226 394334 2179 385974 10966 c
-377613 19777 373420 32144 373420 48013 c
-373420 64451 377660 77217 386116 86288 c
-394571 95363 405564 99910 419041 99910 c
-432115 99910 442797 95457 451064 86573 c
-459353 77667 463501 65137 463501 49031 c
-463501 48060 463454 46568 463407 44602 C
-390521 44602 L
-391137 33897 394192 25651 399643 19967 c
-405091 14259 411912 11393 420060 11393 c
-426123 11393 431334 13003 435597 16177 c
-439884 19351 443319 24467 445829 31457 C
-@c
-391469 58245 m
-446019 58221 L
-445284 66440 443176 72622 439742 76719 c
-434484 83091 427615 86288 419231 86288 c
-411651 86288 405233 83730 400069 78662 c
-394879 73569 391990 66748 391445 58221 C
-391469 58245 L
-@c
-F
-%CHAR: 471312 0 (l) @t
-483368 0 m
-483344 134870 L
-499924 134870 L
-499924 0 L
-483368 0 L
-@c
-F
-%CHAR: 565512 0 (t) @t
-614093 14803 m
-616462 166 L
-611820 -805 607627 -1303 603956 -1303 c
-597940 -1303 593271 -355 589979 1540 c
-586663 3434 584318 5969 582992 9048 c
-581642 12127 580955 18664 580955 28612 c
-580955 84820 L
-568804 84820 L
-568804 97708 L
-580955 97708 L
-580955 121890 L
-597419 131838 L
-597419 97708 L
-614070 97708 L
-614070 84820 L
-597419 84820 L
-597419 27688 l
-597419 22975 597727 19919 598295 18593 c
-598864 17243 599835 16153 601138 15372 c
-602464 14566 604359 14164 606822 14164 c
-608646 14164 611085 14377 614070 14803 c
-614093 14803 L
-@c
-F
-%CHAR: 615192 0 (a) @t
-691367 12056 m
-685232 6845 679311 3126 673650 995 c
-667989 -1137 661879 -2226 655389 -2226 c
-644656 -2226 636390 403 630635 5637 c
-624879 10872 621990 17598 621990 25746 c
-621990 30530 623079 34915 625258 38847 c
-627437 42802 630303 46000 633809 48368 c
-637314 50760 641317 52584 645722 53816 c
-648970 54669 653897 55498 660457 56303 c
-673816 57890 683669 59808 689969 62011 C
-690017 64261 690064 65706 690064 66322 c
-690064 73048 688501 77833 685374 80580 c
-681158 84322 674858 86194 666521 86194 c
-658752 86194 652973 84820 649278 82096 c
-645580 79372 642809 74517 641033 67601 C
-624832 69827 L
-626300 76743 628740 82357 632103 86620 c
-635467 90883 640369 94176 646744 96452 c
-653115 98750 660529 99910 668913 99910 c
-677250 99910 684024 98916 689235 96973 c
-694446 95007 698307 92518 700746 89557 c
-703186 86573 704915 82807 705886 78283 c
-706431 75464 706715 70348 706715 63006 c
-706715 40931 l
-706715 25533 707070 15798 707781 11724 c
-708491 7650 709892 3719 711976 0 C
-694683 0 L
-692977 3411 691840 7437 691367 12032 c
-691367 12056 L
-@c
-689993 49031 m
-683977 46568 674953 44484 662921 42779 c
-656123 41807 651291 40694 648496 39463 c
-645675 38231 643472 36431 641956 34086 c
-640440 31718 639659 29085 639659 26220 c
-639659 21814 641341 18119 644656 15182 c
-647999 12245 652902 10753 659344 10753 c
-665716 10753 671400 12151 676350 14922 c
-681324 17717 684995 21554 687317 26385 c
-689069 30128 689969 35649 689969 42944 c
-689993 49031 L
-@c
-F
-%CHAR: 719976 0 (b) @t
-747664 0 m
-732292 0 L
-732292 134870 L
-748848 134870 L
-748848 86738 L
-755838 95505 764768 99910 775616 99910 c
-781632 99910 787340 98702 792693 96286 c
-798046 93868 802475 90433 805933 86075 c
-809391 81693 812138 76388 814080 70206 c
-816026 64001 817020 57369 817020 50310 c
-817020 33589 812873 20630 804606 11487 c
-796340 2345 786392 -2226 774810 -2226 c
-763276 -2226 754204 2605 747664 12222 C
-747664 0 L
-@c
-747475 49600 m
-747475 37876 749085 29393 752262 24183 c
-757473 15656 764531 11393 773413 11393 c
-780661 11393 786937 14543 792195 20819 c
-797453 27096 800106 36478 800106 48937 c
-800106 61679 797572 71106 792527 77170 c
-787458 83233 781324 86288 774147 86288 c
-766923 86288 760647 83138 755388 76862 c
-750127 70585 747475 61466 747475 49576 C
-747475 49600 L
-@c
-F
-%CHAR: 824760 0 (l) @t
-836816 0 m
-836792 134870 L
-853372 134870 L
-853372 0 L
-836816 0 L
-@c
-F
-%CHAR: 866616 0 (e) @t
-945917 31457 m
-963021 29346 L
-960318 19351 955320 11558 948025 6063 c
-940730 545 931398 -2226 920053 -2226 c
-905771 -2226 894422 2179 886062 10966 c
-877701 19777 873508 32144 873508 48013 c
-873508 64451 877748 77217 886204 86288 c
-894659 95363 905652 99910 919129 99910 c
-932203 99910 942885 95457 951152 86573 c
-959441 77667 963589 65137 963589 49031 c
-963589 48060 963542 46568 963495 44602 C
-890609 44602 L
-891225 33897 894280 25651 899731 19967 c
-905179 14259 912000 11393 920148 11393 c
-926211 11393 931422 13003 935685 16177 c
-939972 19351 943407 24467 945917 31457 C
-@c
-891557 58245 m
-946107 58221 L
-945372 66440 943264 72622 939830 76719 c
-934572 83091 927703 86288 919319 86288 c
-911739 86288 905321 83730 900157 78662 c
-894967 73569 892078 66748 891533 58221 C
-891557 58245 L
-@c
-F
-T
-@rax 157.43339 289.66932 195.43748 302.75518 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 157.43351915 289.88077355] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (t) @t
-48436 14780 m
-50805 166 L
-46163 -805 41994 -1303 38323 -1303 c
-32354 -1303 27688 -355 24396 1540 c
-21104 3434 18759 5945 17432 9024 c
-16082 12103 15395 18617 15395 28517 c
-15395 84556 L
-3292 84556 L
-3292 97414 L
-15395 97414 L
-15395 121526 L
-31809 131450 L
-31809 97414 L
-48413 97414 L
-48413 84556 L
-31809 84556 L
-31809 27593 l
-31809 22904 32117 19848 32686 18522 c
-33254 17195 34225 16106 35528 15324 c
-36854 14519 38749 14116 41189 14116 c
-43012 14116 45428 14330 48413 14756 C
-48436 14780 L
-@c
-F
-%CHAR: 49536 0 (a) @t
-125495 12008 m
-119384 6821 113462 3150 107825 1018 c
-102188 -1113 96101 -2203 89611 -2203 c
-78906 -2203 70663 426 64931 5637 c
-59200 10848 56310 17551 56310 25675 c
-56310 30436 57400 34817 59555 38749 c
-61734 42681 64600 45878 68105 48247 c
-71611 50615 75590 52439 79972 53647 c
-83216 54500 88119 55329 94656 56134 c
-107968 57721 117797 59639 124097 61819 C
-124145 64069 124192 65513 124192 66129 c
-124192 72856 122629 77593 119526 80340 c
-115310 84083 109010 85954 100720 85954 c
-92951 85954 87219 84580 83524 81880 c
-79829 79156 77058 74324 75306 67408 C
-59152 69611 L
-60621 76527 63037 82117 66400 86356 c
-69763 90596 74642 93888 80990 96159 c
-87338 98457 94727 99617 103088 99617 c
-111402 99617 118176 98622 123363 96680 c
-128574 94738 132411 92254 134827 89293 c
-137266 86333 138995 82567 139966 78043 c
-140511 75248 140795 70156 140795 62837 c
-140795 40810 l
-140795 25462 141151 15751 141837 11701 c
-142548 7627 143942 3719 146027 0 C
-128787 0 L
-127082 3411 125945 7413 125471 12008 C
-125495 12008 L
-@c
-124121 48886 m
-118128 46447 109128 44339 97143 42633 c
-90369 41686 85538 40573 82743 39365 c
-79924 38133 77745 36333 76229 33988 c
-74713 31620 73932 28991 73932 26125 c
-73932 21719 75613 18048 78929 15135 c
-82245 12198 87148 10729 93567 10729 c
-99915 10729 105575 12127 110526 14898 c
-115476 17669 119123 21483 121444 26314 c
-123197 30033 124097 35552 124097 42823 c
-124121 48886 L
-@c
-F
-%CHAR: 154032 0 (b) @t
-181649 0 m
-166301 0 L
-166301 134458 L
-182833 134458 L
-182833 86499 L
-189797 95235 198702 99617 209527 99617 c
-215495 99617 221180 98409 226533 95993 c
-231885 93580 236291 90170 239749 85812 c
-243207 81454 245931 76148 247873 69990 c
-249812 63808 250807 57176 250807 50165 c
-250807 33491 246665 20559 238423 11464 c
-230180 2369 220256 -2203 208698 -2203 c
-197210 -2203 188162 2605 181625 12198 C
-181649 0 L
-@c
-181460 49455 m
-181460 37754 183046 29299 186220 24112 c
-191407 15632 198466 11369 207324 11369 c
-214524 11369 220777 14519 226035 20772 c
-231293 27025 233922 36381 233922 48792 c
-233922 61511 231388 70914 226367 76953 c
-221322 82993 215211 86025 208058 86025 c
-200858 86025 194605 82875 189347 76622 c
-184089 70369 181460 61274 181460 49431 C
-181460 49455 L
-@c
-F
-%CHAR: 258528 0 (l) @t
-270536 0 m
-270536 134458 L
-287045 134458 L
-287045 0 L
-270536 0 L
-@c
-F
-%CHAR: 300264 0 (e) @t
-379349 31383 m
-396376 29251 L
-393702 19303 388705 11558 381433 6063 c
-374162 568 364854 -2203 353556 -2203 c
-339297 -2203 327999 2179 319662 10943 c
-311325 19706 307133 32046 307133 47868 c
-307133 64258 311349 76977 319781 86025 c
-328213 95070 339179 99617 352632 99617 c
-365659 99617 376317 95164 384560 86309 c
-392802 77451 396944 64945 396944 48886 c
-396944 47915 396897 46423 396849 44481 C
-324186 44481 L
-324802 33775 327834 25580 333281 19896 c
-338729 14211 345527 11369 353651 11369 c
-359690 11369 364877 12956 369141 16130 c
-373404 19303 376815 24396 379325 31359 C
-379349 31383 L
-@c
-325134 58076 m
-379515 58053 L
-378781 66248 376673 72406 373262 76503 c
-368004 82851 361182 86025 352822 86025 c
-345242 86025 338871 83491 333708 78422 c
-328544 73353 325655 66556 325110 58053 C
-325134 58076 L
-@c
-F
-T
-@rax 171.73219 261.55389 178.43244 274.48129 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 171.73210693 261.55399179] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (1) @t
-69990 0 m
-53458 0 L
-53458 105207 L
-49502 101417 44291 97628 37849 93841 c
-31407 90051 25580 87185 20440 85291 C
-20440 101251 L
-29678 105586 37754 110868 44647 117026 c
-51563 123208 56466 129224 59332 135027 C
-69990 135027 L
-69990 0 L
-@c
-F
-T
-@rax %Note: Object
-176.16189 109.68406 176.16302 135.58394 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-176.16246 135.58394 m
-176.16246 126.95074 176.16246 118.31754 176.16246 109.68406 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-176.16246 139.13008 m
-179.18646 132.07408 L
-177.17046 133.08208 175.15446 133.08208 173.13846 132.07408 C
-176.16246 139.13008 L
-f
-@J
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-176.16246 106.13792 m
-179.18646 113.19392 L
-177.17046 112.18592 175.15446 112.18592 173.13846 113.19392 C
-176.16246 106.13792 L
-f
-@J
-
-@rax %Note: Object
-14.27131 255.64224 77.98167 294.56617 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-46.12649 294.56617 m
-63.67181 294.56617 77.98167 285.82356 77.98167 275.10406 c
-77.98167 264.38485 63.67181 255.64224 46.12649 255.64224 c
-28.58117 255.64224 14.27131 264.38485 14.27131 275.10406 c
-14.27131 285.82356 28.58117 294.56617 46.12649 294.56617 c
-@c
-S
-
-@rax %Note: Object
-101.23852 287.22954 116.28085 302.98422 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-101.23852 302.98422 m
-116.28085 302.98422 L
-116.28085 287.22954 L
-101.23852 287.22954 L
-101.23852 302.98422 L
-@c
-S
-
-@rax 107.37468 292.63521 110.49647 299.90976 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 107.37463338 292.63532344] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax 107.37468 292.63521 110.49647 299.90976 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 107.37463338 292.63532344] @tm
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-r
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-S
-T
-@rax %Note: Object
-101.23852 248.30561 116.28085 264.06028 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-101.23852 264.06028 m
-116.28085 264.06028 L
-116.28085 248.30561 L
-101.23852 248.30561 L
-101.23852 264.06028 L
-@c
-S
-
-@rax 107.66806 252.82857 110.79921 260.12438 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 107.66801920 252.82844459] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax 23.04680 269.16321 71.19326 282.48576 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 23.04673119 269.38384725] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 187867.00000 z
-%CHAR: 0 0 (O) @t
-9071 65490 m
-9071 87801 15064 105302 27049 117902 c
-39033 130526 54523 136850 73472 136850 c
-85883 136850 97083 133890 107031 127968 c
-117002 122047 124629 113757 129840 103146 c
-135050 92538 137679 80506 137679 67053 c
-137679 53410 134932 41212 129437 30459 c
-123942 19706 116126 11535 106036 6016 c
-95946 474 85054 -2297 73377 -2297 c
-60729 -2297 49384 758 39436 6869 c
-29488 12980 21909 21340 16793 31904 c
-11653 42468 9071 53694 9071 65490 c
-@c
-27428 65229 m
-27428 49028 31786 36238 40478 26930 c
-49194 17598 60137 12932 73282 12932 c
-86664 12932 97699 17646 106344 27049 c
-114989 36475 119323 49857 119323 67148 c
-119323 78090 117476 87659 113781 95804 c
-110086 103952 104662 110299 97557 114776 c
-90430 119276 82425 121526 73566 121526 c
-60966 121526 50118 117192 41047 108547 c
-31975 99901 27428 85433 27428 65205 C
-27428 65229 L
-@c
-F
-%CHAR: 146136 0 (S) @t
-154568 43202 m
-171361 44670 L
-172142 37944 174014 32425 176903 28114 c
-179793 23804 184317 20322 190427 17669 c
-196538 15016 203431 13666 211081 13666 c
-217855 13666 223871 14685 229058 16674 c
-234245 18688 238130 21483 240637 24988 c
-243172 28493 244451 32354 244451 36499 c
-244451 40715 243219 44410 240803 47536 c
-238366 50686 234316 53363 228679 55495 c
-225079 56892 217097 59095 204757 62032 c
-192393 64992 183724 67811 178774 70440 c
-172379 73803 167571 77972 164445 82946 c
-161295 87920 159708 93533 159708 99712 c
-159708 106486 161650 112834 165487 118731 c
-169324 124629 174961 129129 182351 132161 c
-189741 135216 197983 136756 207031 136756 c
-217002 136756 225813 135145 233416 131948 c
-241016 128750 246890 124013 250964 117784 c
-255062 111531 257288 104449 257572 96585 C
-240519 95306 L
-239622 103786 236495 110228 231213 114563 c
-225932 118897 218092 121076 207765 121076 c
-197012 121076 189172 119086 184246 115155 c
-179319 111223 176856 106439 176856 100896 c
-176856 96064 178608 92088 182090 88962 c
-185501 85859 194478 82662 208926 79393 c
-223374 76124 233321 73235 238674 70819 c
-246487 67219 252290 62624 256009 57105 c
-259751 51563 261622 45168 261622 37967 c
-261622 30815 259562 24064 255488 17740 c
-251390 11416 245493 6490 237822 2984 c
-230148 -521 221502 -2297 211886 -2297 c
-199736 -2297 189527 -521 181309 3008 c
-173090 6561 166624 11914 161958 19019 c
-157268 26125 154805 34202 154568 43202 C
-@c
-F
-%CHAR: 271440 0 (P) @t
-285935 0 m
-285912 134458 L
-336645 134458 l
-345575 134458 352420 134032 357110 133179 c
-363694 132090 369257 129982 373710 126903 c
-378163 123824 381787 119465 384487 113923 c
-387187 108357 388561 102223 388561 95567 c
-388561 84154 384913 74466 377665 66556 c
-370394 58645 357228 54666 338209 54666 c
-303723 54666 L
-303723 0 L
-285935 0 L
-@c
-303723 70535 m
-338493 70535 l
-349980 70535 358152 72690 362983 76953 c
-367812 81217 370228 87256 370228 95022 c
-370228 100636 368807 105467 365965 109470 c
-363126 113473 359360 116126 354717 117405 c
-351733 118186 346167 118589 338114 118589 c
-303723 118589 L
-303723 70535 L
-@c
-F
-%CHAR: 396744 0 (F) @t
-412163 0 m
-412139 134458 L
-502875 134458 L
-502875 118589 L
-429951 118589 L
-429951 76953 L
-493045 76953 L
-493045 61084 L
-429951 61084 L
-429951 0 L
-412163 0 L
-@c
-F
-T
-@rax %Note: Object
-143.10198 137.01685 206.81235 175.94079 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-174.95717 175.94079 m
-192.50249 175.94079 206.81235 167.19817 206.81235 156.47896 c
-206.81235 145.75975 192.50249 137.01685 174.95717 137.01685 c
-157.41184 137.01685 143.10198 145.75975 143.10198 156.47896 c
-143.10198 167.19817 157.41184 175.94079 174.95717 175.94079 c
-@c
-S
-
-@rax %Note: Object
-149.25203 193.62671 164.29436 209.38139 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-149.25203 209.38139 m
-164.29436 209.38139 L
-164.29436 193.62671 L
-149.25203 193.62671 L
-149.25203 209.38139 L
-@c
-S
-
-@rax 155.38819 199.03266 158.50998 206.30693 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 155.38815181 199.03261601] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax %Note: Object
-184.33899 192.70006 199.38132 208.45474 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-184.33899 208.45474 m
-199.38132 208.45474 L
-199.38132 192.70006 L
-184.33899 192.70006 L
-184.33899 208.45474 L
-@c
-S
-
-@rax 190.47515 198.10602 193.60630 205.40183 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 190.47510473 198.10591152] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax 151.10872 150.36265 198.97285 163.48564 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 151.10863718 150.57399333] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 188424.00000 z
-%CHAR: 0 0 (k) @t
-12506 0 m
-12506 134870 L
-29062 134870 L
-29062 57961 L
-68264 97708 L
-89699 97708 L
-52347 61442 L
-93465 0 L
-73048 0 L
-40742 49955 L
-29062 38728 L
-29062 0 L
-12506 0 L
-@c
-F
-%CHAR: 94224 0 (e) @t
-173525 31457 m
-190629 29346 L
-187926 19351 182928 11558 175633 6063 c
-168338 545 159006 -2226 147661 -2226 c
-133379 -2226 122030 2179 113670 10966 c
-105309 19777 101116 32144 101116 48013 c
-101116 64451 105356 77217 113812 86288 c
-122267 95363 133260 99910 146737 99910 c
-159811 99910 170493 95457 178760 86573 c
-187049 77667 191197 65137 191197 49031 c
-191197 48060 191150 46568 191103 44602 C
-118217 44602 L
-118833 33897 121888 25651 127339 19967 c
-132787 14259 139608 11393 147756 11393 c
-153819 11393 159030 13003 163293 16177 c
-167580 19351 171015 24467 173525 31457 C
-@c
-119165 58245 m
-173715 58221 L
-172980 66440 170872 72622 167438 76719 c
-162180 83091 155311 86288 146927 86288 c
-139347 86288 132929 83730 127765 78662 c
-122575 73569 119686 66748 119141 58221 C
-119165 58245 L
-@c
-F
-%CHAR: 199008 0 (r) @t
-211253 0 m
-211230 97708 L
-226128 97708 L
-226128 82878 L
-229917 89794 233449 94392 236671 96594 c
-239892 98797 243444 99910 247305 99910 c
-252871 99910 258556 98134 264311 94581 C
-258627 79206 L
-254577 81575 250503 82783 246476 82783 c
-242876 82783 239607 81693 236742 79538 c
-233852 77359 231791 74327 230560 70467 c
-228709 64593 227786 58127 227786 51139 c
-227786 0 L
-211253 0 L
-@c
-F
-%CHAR: 261744 0 (n) @t
-274155 0 m
-274155 97708 L
-289053 97708 L
-289053 83801 L
-296233 94534 306607 99910 320155 99910 c
-326029 99910 331453 98844 336379 96736 c
-341306 94628 345024 91831 347464 88420 c
-349927 84986 351656 80888 352627 76175 c
-353243 73096 353551 67719 353551 60069 c
-353551 0 L
-336995 0 L
-336995 59429 l
-336995 66156 336355 71225 335076 74540 c
-333797 77880 331476 80556 328208 82546 c
-324939 84536 321055 85554 316649 85554 c
-309615 85554 303528 83304 298412 78851 c
-293296 74375 290711 65848 290711 53342 c
-290711 0 L
-274155 0 L
-@c
-F
-%CHAR: 366528 0 (e) @t
-445829 31457 m
-462933 29346 L
-460230 19351 455232 11558 447937 6063 c
-440642 545 431310 -2226 419965 -2226 c
-405683 -2226 394334 2179 385974 10966 c
-377613 19777 373420 32144 373420 48013 c
-373420 64451 377660 77217 386116 86288 c
-394571 95363 405564 99910 419041 99910 c
-432115 99910 442797 95457 451064 86573 c
-459353 77667 463501 65137 463501 49031 c
-463501 48060 463454 46568 463407 44602 C
-390521 44602 L
-391137 33897 394192 25651 399643 19967 c
-405091 14259 411912 11393 420060 11393 c
-426123 11393 431334 13003 435597 16177 c
-439884 19351 443319 24467 445829 31457 C
-@c
-391469 58245 m
-446019 58221 L
-445284 66440 443176 72622 439742 76719 c
-434484 83091 427615 86288 419231 86288 c
-411651 86288 405233 83730 400069 78662 c
-394879 73569 391990 66748 391445 58221 C
-391469 58245 L
-@c
-F
-%CHAR: 471312 0 (l) @t
-483368 0 m
-483344 134870 L
-499924 134870 L
-499924 0 L
-483368 0 L
-@c
-F
-T
-@rax %Note: Object
-156.33184 175.77836 160.21587 193.70778 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-160.21587 175.77836 m
-157.05383 181.43631 156.33184 187.48346 156.83357 193.70778 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-161.94586 172.68293 m
-155.86384 177.36718 L
-158.11540 177.47065 159.87515 178.45427 161.14337 180.31748 C
-161.94586 172.68293 L
-f
-@J
-
-@rax %Note: Object
-186.77820 174.80296 192.64479 192.07956 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-192.64479 192.07956 m
-192.61757 185.59814 190.27446 179.97676 186.77820 174.80296 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-192.65953 195.62570 m
-195.65376 188.55694 L
-193.64202 189.57345 191.62602 189.58195 189.60605 188.58246 C
-192.65953 195.62570 L
-f
-@J
-
-@rax %Note: Object
-186.16592 209.22151 192.40214 235.74387 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-192.40214 209.22151 m
-191.88510 218.80375 190.64098 227.74337 186.16592 235.74387 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-192.59320 205.68076 m
-189.19332 212.56356 L
-191.26091 211.66554 193.27380 211.77439 195.23254 212.88954 C
-192.59320 205.68076 L
-f
-@J
-
-@rax %Note: Object
-155.67080 209.51518 161.90702 236.03754 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-155.67080 209.51518 m
-156.18784 219.09742 157.43197 228.03704 161.90702 236.03754 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-155.47975 205.97443 m
-152.84041 213.18321 L
-154.79915 212.06806 156.81203 211.95921 158.87962 212.85723 C
-155.47975 205.97443 L
-f
-@J
-
-@rax %Note: Object
-144.15562 373.91301 207.86598 412.83694 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-176.01080 373.91301 m
-193.55613 373.91301 207.86598 382.65562 207.86598 393.37483 c
-207.86598 404.09405 193.55613 412.83694 176.01080 412.83694 c
-158.46548 412.83694 144.15562 404.09405 144.15562 393.37483 c
-144.15562 382.65562 158.46548 373.91301 176.01080 373.91301 c
-@c
-S
-
-@rax %Note: Object
-150.30567 340.47241 165.34800 356.22709 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-150.30567 340.47241 m
-165.34800 340.47241 L
-165.34800 356.22709 L
-150.30567 356.22709 L
-150.30567 340.47241 L
-@c
-S
-
-@rax 156.44183 343.54687 159.56362 350.82113 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 156.44178957 343.54681545] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax %Note: Object
-185.39263 341.39906 200.43496 357.15373 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-185.39263 341.39906 m
-200.43496 341.39906 L
-200.43496 357.15373 L
-185.39263 357.15373 L
-185.39263 341.39906 L
-@c
-S
-
-@rax 191.52879 344.45197 194.65994 351.74778 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 191.52874248 344.45185892] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax 158.32602 387.61228 195.64072 400.96517 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 158.32592826 387.83297677] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 188424.00000 z
-%CHAR: 0 0 (B) @t
-13809 0 m
-13785 134870 L
-64403 134870 l
-74683 134870 82972 133496 89178 130772 c
-95410 128048 100313 123832 103818 118172 c
-107324 112511 109100 106566 109100 100360 c
-109100 94605 107537 89154 104411 84086 c
-101284 78993 96547 74872 90244 71746 C
-98394 69377 104695 65280 109053 59524 c
-113435 53768 115637 46947 115637 39084 c
-115637 32783 114287 26883 111635 21483 c
-108982 16059 105666 11866 101758 8929 c
-97826 5992 92897 3742 86975 2250 c
-81054 758 73783 0 65208 0 c
-13809 0 L
-@c
-31646 78212 m
-60803 78188 l
-68714 78188 74398 78709 77833 79751 c
-82357 81101 85791 83351 88065 86478 c
-90362 89604 91523 93536 91523 98252 c
-91523 102705 90433 106661 88302 110071 c
-86170 113482 83091 115827 79112 117058 c
-75133 118314 68288 118953 58600 118953 c
-31646 118953 L
-31646 78212 L
-@c
-31646 15916 m
-65208 15893 l
-70988 15893 75038 16130 77359 16556 c
-81457 17267 84915 18522 87662 20227 c
-90410 21933 92707 24443 94463 27712 c
-96239 30980 97139 34797 97139 39084 c
-97139 44105 95836 48510 93275 52205 c
-90717 55900 87117 58529 82570 60021 c
-77998 61514 71390 62271 62816 62271 c
-31646 62271 L
-31646 15916 L
-@c
-F
-%CHAR: 125688 0 (G) @t
-203331 52892 m
-203331 68714 L
-260463 68809 L
-260463 18759 L
-251699 11772 242652 6490 233343 2984 c
-224011 -545 214416 -2321 204610 -2321 c
-191370 -2321 179314 521 168514 6182 c
-157690 11866 149492 20085 143997 30791 c
-138478 41523 135707 53532 135707 66772 c
-135707 79893 138454 92162 143926 103534 c
-149421 114903 157334 123382 167614 128877 c
-177917 134396 189807 137167 203236 137167 c
-212995 137167 221832 135580 229696 132430 c
-237559 129280 243765 124875 248218 119237 c
-252694 113600 256129 106211 258450 97139 C
-242344 92731 L
-240331 99602 237796 105003 234812 108911 c
-231804 112842 227493 115993 221927 118337 c
-216334 120706 210129 121890 203331 121890 c
-195183 121890 188102 120635 182180 118172 c
-176235 115708 171427 112416 167780 108390 c
-164132 104339 161266 99863 159253 95031 c
-155839 86691 154110 77643 154110 67885 c
-154110 55876 156195 45810 160319 37710 c
-164440 29607 170480 23591 178391 19682 c
-186302 15751 194710 13785 203592 13785 c
-211313 13785 218892 15277 226238 18238 c
-233580 21222 239194 24419 242983 27783 C
-242983 52892 L
-203331 52892 L
-@c
-F
-%CHAR: 272256 0 (P) @t
-286799 0 m
-286775 134870 L
-337654 134870 l
-346607 134870 353452 134420 358165 133567 c
-364797 132478 370366 130370 374819 127290 c
-379296 124188 382919 119830 385643 114264 c
-388367 108674 389741 102539 389741 95860 c
-389741 84394 386093 74683 378798 66748 c
-371503 58813 358284 54834 339217 54834 c
-304637 54834 L
-304637 0 L
-286799 0 L
-@c
-304637 70751 m
-339501 70751 l
-351012 70751 359231 72906 364063 77170 c
-368898 81457 371337 87520 371337 95315 c
-371337 100952 369916 105784 367074 109787 c
-364229 113814 360439 116466 355773 117745 c
-352789 118551 347223 118953 339122 118953 c
-304637 118953 L
-304637 70751 L
-@c
-F
-T
-@rax %Note: Object
-157.38548 356.14602 161.26951 374.07543 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-161.26951 374.07543 m
-158.10746 368.41748 157.38548 362.37033 157.88721 356.14602 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-162.99950 377.17087 m
-162.19701 369.53631 L
-160.92879 371.39953 159.16904 372.38315 156.91748 372.48661 C
-162.99950 377.17087 L
-f
-@J
-
-@rax %Note: Object
-187.83184 357.77424 193.69843 375.05083 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-193.69843 357.77424 m
-193.67121 364.25565 191.32809 369.87704 187.83184 375.05083 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-193.71317 354.22809 m
-190.65969 361.27134 L
-192.67965 360.27184 194.69565 360.28035 196.70740 361.29685 C
-193.71317 354.22809 L
-f
-@J
-
-@rax %Note: Object
-187.21956 314.10992 193.45578 340.63228 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-193.45578 340.63228 m
-192.93874 331.05005 191.69461 322.11043 187.21956 314.10992 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-193.64683 344.17304 m
-196.28617 336.96425 L
-194.32743 338.07940 192.31455 338.18825 190.24696 337.29024 C
-193.64683 344.17304 L
-f
-@J
-
-@rax %Note: Object
-156.72444 313.81625 162.96066 340.33861 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-156.72444 340.33861 m
-157.24148 330.75638 158.48561 321.81676 162.96066 313.81625 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-156.53339 343.87937 m
-159.93326 336.99657 L
-157.86567 337.89458 155.85279 337.78573 153.89405 336.67058 C
-156.53339 343.87937 L
-f
-@J
-
-@rax %Note: Object
-116.11531 294.66454 147.83074 294.66567 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-116.11531 294.66510 m
-126.68712 294.66510 137.25893 294.66510 147.83074 294.66510 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-112.56917 294.66510 m
-119.62517 297.68910 L
-118.61717 295.67310 118.61717 293.65710 119.62517 291.64110 C
-112.56917 294.66510 L
-f
-@J
-
-@rax %Note: Object
-116.11531 255.80353 147.97049 255.80466 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-116.11531 255.80409 m
-126.73389 255.80409 137.35219 255.80409 147.97049 255.80409 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-151.51663 255.80409 m
-144.46063 258.82809 L
-145.46863 256.81209 145.46863 254.79609 144.46063 252.78009 C
-151.51663 255.80409 L
-f
-@J
-
-@rax %Note: Object
-72.73020 255.29386 101.01288 264.48576 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-101.01288 255.66633 m
-90.53603 255.29386 81.64772 256.94901 72.73020 264.48576 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-104.55676 255.79219 m
-97.61272 252.51931 L
-98.54844 254.56989 98.47672 256.58476 97.39786 258.56362 C
-104.55676 255.79219 L
-f
-@J
-
-@rax %Note: Object
-72.83934 286.43357 101.03329 296.55014 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-72.83934 286.43357 m
-81.18510 292.77808 89.40161 296.55014 101.03329 295.53307 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-70.01631 284.28746 m
-73.80340 290.96504 L
-74.22094 288.75005 75.44098 287.14507 77.46350 286.15039 C
-70.01631 284.28746 L
-f
-@J
-
-@rax %Note: Object
-518.84844 231.84850 582.55880 270.77244 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-550.70362 270.77244 m
-533.15830 270.77244 518.84844 262.02983 518.84844 251.31033 c
-518.84844 240.59112 533.15830 231.84850 550.70362 231.84850 c
-568.24894 231.84850 582.55880 240.59112 582.55880 251.31033 c
-582.55880 262.02983 568.24894 270.77244 550.70362 270.77244 c
-@c
-S
-
-@rax %Note: Object
-480.54926 263.43581 495.59159 279.19049 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-495.59159 279.19049 m
-480.54926 279.19049 L
-480.54926 263.43581 L
-495.59159 263.43581 L
-495.59159 279.19049 L
-@c
-S
-
-@rax 486.33335 268.84148 489.45515 276.11603 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 486.33329669 268.84159203] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-F
-T
-@rax 486.33335 268.84148 489.45515 276.11603 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 486.33329669 268.84159203] @tm
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.21600 0.21600 0.00000 @w
-r
-
-% FontChange:/_Arial 104370.00000 z
-%CHAR: 0 0 (f) @t
-9074 0 m
-9060 46974 L
-962 46974 L
-962 54109 L
-9060 54109 L
-9060 59867 l
-9060 63509 9385 66218 10037 67980 c
-10910 70348 12464 72287 14685 73753 c
-16905 75233 20044 75973 24041 75973 c
-26619 75973 29491 75663 32615 75056 C
-31238 67062 L
-29343 67387 27522 67565 25832 67565 c
-23049 67565 21080 66973 19925 65789 c
-18771 64604 18178 62369 18178 59112 c
-18178 54109 L
-28736 54109 L
-28736 46974 L
-18178 46974 L
-18178 0 L
-9074 0 L
-@c
-S
-T
-@rax %Note: Object
-480.54926 224.51187 495.59159 240.26655 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-495.59159 240.26655 m
-480.54926 240.26655 L
-480.54926 224.51187 L
-495.59159 224.51187 L
-495.59159 240.26655 L
-@c
-S
-
-@rax 486.03090 229.03483 489.16205 236.33065 @E
-[-0.00009574 0.00000000 0.00000000 0.00009574 489.16206920 229.03471317] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax 486.03090 229.03483 489.16205 236.33065 @E
-[0.00009574 0.00000000 0.00000000 0.00009574 486.03084000 229.03471317] @tm
- 0 O 0 @g
-0.00 0.00 0.00 1.00 k
-e
-
-% FontChange:/_Arial 104680.00000 z
-%CHAR: 0 0 (f) @t
-9104 0 m
-9089 47122 L
-962 47122 L
-962 54272 L
-9089 54272 L
-9089 60045 l
-9089 63687 9415 66410 10066 68172 c
-10940 70555 12509 72495 14729 73975 c
-16965 75455 20103 76195 24115 76195 c
-26708 76195 29580 75885 32703 75278 C
-31327 67254 L
-29432 67595 27611 67772 25906 67772 c
-23123 67772 21139 67165 19984 65981 c
-18830 64797 18238 62547 18238 59290 c
-18238 54272 L
-28825 54272 L
-28825 47122 L
-18238 47122 L
-18238 0 L
-9104 0 L
-@c
-F
-T
-@rax %Note: Object
-450.37474 270.87080 480.71480 270.87194 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-480.71480 270.87137 m
-470.60135 270.87137 460.48819 270.87137 450.37474 270.87137 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-446.82860 270.87137 m
-453.88460 267.84737 L
-452.87660 269.86337 452.87660 271.87937 453.88460 273.89537 C
-446.82860 270.87137 L
-f
-@J
-
-@rax %Note: Object
-378.82743 272.41370 404.45915 272.41398 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-404.45915 272.41398 m
-395.91524 272.41370 387.37134 272.41370 378.82743 272.41370 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-375.28129 272.41370 m
-382.33729 269.38970 L
-381.32929 271.40570 381.32929 273.42170 382.33729 275.43770 C
-375.28129 272.41370 L
-f
-@J
-
-@rax %Note: Object
-202.21795 251.00362 284.23559 269.60060 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-284.23559 251.00362 m
-270.50513 269.60060 234.56976 264.83471 202.21795 265.88239 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-198.67380 265.99691 m
-205.62831 262.74614 L
-204.68608 264.79361 204.75128 266.80876 205.82391 268.79102 C
-198.67380 265.99691 L
-f
-@J
-
-@rax %Note: Object
-449.83956 232.00980 480.71480 232.01093 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-480.71480 232.01036 m
-470.42277 232.01036 460.13131 232.01036 449.83956 232.01036 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-484.26094 232.01036 m
-477.20494 228.98636 L
-478.21294 231.00236 478.21294 233.01836 477.20494 235.03436 C
-484.26094 232.01036 L
-f
-@J
-
-@rax %Note: Object
-495.81723 231.50013 524.09991 240.69203 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-495.81723 231.87260 m
-506.29408 231.50013 515.18239 233.15528 524.09991 240.69203 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-526.80813 242.98101 m
-519.46696 240.73597 L
-521.53824 239.84702 522.83962 238.30724 523.37112 236.11663 C
-526.80813 242.98101 L
-f
-@J
-
-@rax %Note: Object
-495.79682 262.63984 523.99077 272.75641 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-523.99077 262.63984 m
-515.64501 268.98435 507.42850 272.75641 495.79682 271.73934 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-492.26428 271.43065 m
-499.55698 269.03282 L
-498.37720 270.95329 498.20145 272.96164 499.03002 275.05786 C
-492.26428 271.43065 L
-f
-@J
-
-@rax %Note: Object
-202.30639 308.22151 221.73250 326.40208 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-202.30639 308.22151 m
-206.36674 313.24309 208.30932 321.67701 221.73250 326.40208 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-200.07694 305.46397 m
-202.16183 312.85219 L
-203.09584 310.80076 204.66340 309.53310 206.86479 309.04951 C
-200.07694 305.46397 L
-f
-@J
-
-@rax %Note: Object
-202.30639 283.71713 251.65899 310.32935 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-202.30639 283.71713 m
-223.93077 288.26050 239.49468 297.87307 251.65899 310.32935 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-254.13647 312.86636 m
-247.04306 309.93109 L
-249.18973 309.24369 250.63200 307.83515 251.37014 305.70548 C
-254.13647 312.86636 L
-f
-@J
-
-@rax %Note: Object
-234.59556 337.20520 256.90932 351.69704 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-234.59556 337.20520 m
-239.96381 345.49795 246.81005 351.31776 256.90932 351.69704 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-232.66857 334.22854 m
-233.96428 341.79506 L
-235.10891 339.85332 236.80148 338.75773 239.04142 338.50857 C
-232.66857 334.22854 L
-f
-@J
-
-@rax %Note: Object
-260.05946 317.97071 282.37323 340.63058 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-260.05946 317.97071 m
-269.71455 323.29843 277.44775 330.55512 282.37323 340.63058 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-283.93058 343.81644 m
-278.11502 338.80535 L
-280.36885 338.82576 282.17991 337.94022 283.54847 336.14929 C
-283.93058 343.81644 L
-f
-@J
-
-@rax %Note: Object
-248.68148 226.69200 287.32762 239.99924 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-287.32762 239.99924 m
-279.29424 232.91178 269.32167 228.01946 248.68148 226.69200 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-289.98680 242.34520 m
-286.69635 235.40939 L
-286.11836 237.58809 284.78466 239.09981 282.69496 239.94482 C
-289.98680 242.34520 L
-f
-@J
-
-@rax %Note: Object
-202.30639 226.69200 233.44753 244.72120 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-233.44753 226.69200 m
-221.54258 228.51865 210.95915 233.97080 202.30639 244.72120 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-236.95257 226.15427 m
-229.51956 224.23550 L
-230.82151 226.07518 231.12737 228.06794 230.43685 230.21348 C
-236.95257 226.15427 L
-f
-@J
-
-@rax %Note: Object
-340.91376 259.21304 363.22753 272.12372 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-340.91376 259.21304 m
-346.87361 266.48391 354.11471 271.18290 363.22753 272.12372 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-338.66589 256.47052 m
-340.80009 263.84457 L
-341.72022 261.78690 343.27956 260.50904 345.47754 260.01043 C
-338.66589 256.47052 L
-f
-@J
-
-@rax %Note: Object
-346.74633 225.84472 403.75928 242.78428 @E
-0 J 0 j [] 0 d 0 R 0 @G
-0.00 0.00 0.00 1.00 K
-0 0.72000 0.72000 0.00000 @w
-346.74633 242.78428 m
-360.65537 232.21843 381.47924 225.84472 403.75928 228.17792 C
-S
-@j
-0.00 0.00 0.00 1.00 K
-0.00 0.00 0.00 1.00 k
-0 @g
-0 @G
-[] 0 d 0 J 0 j
-0 R 0 O
-0 1.00800 1.00800 0 @w
-407.28614 228.54699 m
-399.95348 230.81953 L
-401.16614 228.91946 401.37591 226.91452 400.58334 224.80441 C
-407.28614 228.54699 L
-f
-@J
-
-%%PageTrailer
-@rs
-@rs
-%%Trailer
-@EndSysCorelDict
-end
-%%DocumentSuppliedResources: procset wCorel6Dict
-%%EOF
diff --git a/doc/slides/slides.tex b/doc/slides/slides.tex
deleted file mode 100644
index 9b9f212b..00000000
--- a/doc/slides/slides.tex
+++ /dev/null
@@ -1,190 +0,0 @@
-\input epsf.tex
-
-\language=\czech
-\chyph
-
-\hsize=170mm
-\vsize=250mm
-\nopagenumbers
-
-\font\srm=csss12 scaled \magstep3
-\font\stit=csb12 scaled \magstep3
-\font\sem=csssbx12 scaled \magstep3
-\font\sit=csssi12 scaled \magstep3
-\font\stt=cstt12 scaled \magstep3
-\font\stitle=cscsc12 scaled \magstep4
-
-\baselineskip=25pt
-\lineskip=2.1pt
-\parindent=0pt
-\parskip=4pt
-\def\em#1{{\emfont #1}}
-\srm
-
-\font\rmfont=cmr10 scaled \magstep4
-\font\ttfont=cmtt10 scaled \magstep4
-\font\ifont=cmmi10 scaled \magstep4
-\font\symfont=cmsy10 scaled \magstep4
-\font\exfont=cmex10 scaled \magstep4
-\font\rmfonts=cmr7 scaled \magstep4
-\font\ifonts=cmmi7 scaled \magstep4
-\font\symfonts=cmsy7 scaled \magstep4
-\font\exfonts=cmex7 scaled \magstep4
-\textfont0=\rmfont
-\textfont1=\ifont
-\textfont2=\symfont
-\textfont3=\exfont
-\scriptfont0=\rmfonts
-\scriptfont1=\ifonts
-\scriptfont2=\symfonts
-\scriptfont3=\exfonts
-
-\newbox\birdbox
-{\epsfxsize=2em\global\setbox\birdbox=\hbox{\epsfbox{logo.eps}}}
-
-\def\slide#1{\begingroup
-\ifx:#1:\else
-\line{\vrule width 0pt height 25pt depth 4pt \stit #1\hfill\smash{\lower1ex\copy\birdbox}}
-\medskip
-\hrule height 2pt
-\bigskip
-\fi
-}
-\def\endslide{\vfill\eject\endgroup}
-
-\def\\{\hfil\break}
-\def\itemize#1{\par{\advance\leftskip by 35pt{\parskip=5pt #1}\par}}
-\def\:{\par\leavevmode\llap{$\bullet$\hskip 7pt}}
-\def\>{\par\leavevmode\llap{$\circ$\hskip 7pt}}
-
-\slide{}
-\vglue 1in
-\centerline{\epsfxsize=0.6\hsize\epsfbox{logo.eps}}
-\centerline{\vbox{\offinterlineskip\halign{#\cr
-\stitle Bird Internet Routing Daemon\cr
-\noalign{\medskip}%
-\leaders\hrule height 2pt\hfil\cr}}}
-\vskip 0.5in
-\centerline{\vbox{\sit\halign{\hfil # & # \hfil \cr
-Vedoucí: & RNDr. Libor Forst \cr
-Tým: & Ondøej Filip, Pavel Machek, Martin Mare¹ \cr
-Home: & http:/\kern-0.2em/bird.network.cz/ \cr
-E-mail: & bird@bird.network.cz \cr}}}
-\endslide
-
-\slide{Propojování sítí a routing}
-\medskip
-\centerline{\epsfxsize=0.9\hsize\epsfbox{obr1.eps}}
-\endslide
-
-\slide{Sítì jsou pøíli¹ velké $\Rightarrow$ Autonomní systémy}
-\medskip
-\centerline{\epsfxsize=0.9\hsize\epsfbox{obr2.eps}}
-\endslide
-
-\slide{Cíle projektu}
-\itemize{
-\:podpora v¹ech bì¾ných routovacích protokolù\\a snadné pøidávání nových
-\:IPv4 i IPv6
-\:výmìna dat mezi rùznými protokoly
-\:policy routing
-\:snadná konfigurace a údr¾ba
-\:kvalitní dokumentace
-\:minimální závislost na pou¾itém OS
-}
-\endslide
-
-\slide{Implementované protokoly}
-\itemize{
-\:RIP v2 (Routing Information Protocol)
-\itemize{
-\>interní protokol
-\>distance vector (Bellman-Ford)
-\>pomalá konvergence, omezení prùmìru sítì
-\>IPv4 i IPv6
-}
-\:OSPF v2 (Open Shortest Path First)
-\itemize{
-\>interní protokol
-\>link state algorithm (Dijkstra)
-\>rychlá konvergence, ale velmi slo¾itý
-\>zatím pouze IPv4
-}
-\:BGP v4 (Border Gateway Protocol)
-\itemize{
-\>externí protokol (jediný dnes pou¾ívaný)
-\>path vector
-\>rychlá konvergence, neomezená filtrace
-\>IPv4 i IPv6
-}
-}
-\endslide
-
-\slide{Propojení protokolù}
-\medskip
-\centerline{\epsfxsize=0.9\hsize\epsfbox{obr5.eps}}
-\endslide
-
-\slide{Správa routeru}
-\itemize{
-\:konfiguraèní soubory a on-line rekonfigurace:
-\medskip
-{\stt\advance\leftskip by 1cm
-protocol ospf \char123 \\
-\hbox{}~~~area 0 \char123\ interface "eth*"; \char125; \\
-\hbox{}~~~export where source=RTS\char95STATIC; \\
-\hbox{}~~~import all; \\
-\char125
-\medskip
-}
-\:filtry: jednoduchý procedurální jazyk
-\:logování událostí a tracing protokolù
-\:dálkové ovládání
-\:jednoduchý client
-}
-\endslide
-
-\slide{Architektura}
-\itemize{
-\:modulární architektura se striktním rozdìlením\\kompetencí:
-\itemize{
-\>jádro
-\>protokoly
-\>filtry
-\>knihovny
-}
-\:oddìlení platformnì závislého kódu
-\:vlastní datové typy: pøesné integery, IP adresy, \dots
-\:øízení událostmi
-\:``chytré'' datové struktury
-}
-\bigskip
-Platformy:
-\itemize{
-\:Zatím pouze Linux 2.0, Linux 2.1--2.4
-\:Èásteèný port na FreeBSD
-}
-\endslide
-
-\slide{Testování}
-``Laboratorní'' testy:
-\itemize{
-\:testovací sí» na~MFF: 3 poèítaèe a router Cisco 7000
-\:test zátì¾e (BGP, páteøní tabulka s~$72\,000$ polo¾kami)
-\:test spolupráce (Cisco, GateD, Cyclades)
-\:test portability: Linux 2.0--2.4; i386, Sparc, M680x0
-}
-\bigskip
-``Real world'' testy -- praktické pou¾ití:
-\itemize{
-\:nasazen ve~firmì Ipex (sí» s~cca 1000 poèítaèi)
-\:distribuováno veøejnì pod GPL:
-\itemize{
-\>236 downloadù, 2244 shlédnutí stránek (k~26. 6.)
-\>kladné ohlasy (zejména na konfiguraci)
-\>5 bug reportù, vyøe¹eny
-}
-}
-\endslide
-
-\end
diff --git a/doc/slt2001/Makefile b/doc/slt2001/Makefile
deleted file mode 100644
index 5979e1a0..00000000
--- a/doc/slt2001/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-all: slt.dvi
-
-slt.dvi: slt.tex
- csplain slt.tex
-
-slt.ps: slt.dvi
- dvips -o slt.ps -D600 -ta4 slt.dvi
-
-clean:
- rm -f *~ *.log *.tfm *.*pk *.*gf *.ps *.dvi
diff --git a/doc/slt2001/slt.tex b/doc/slt2001/slt.tex
deleted file mode 100644
index fb948586..00000000
--- a/doc/slt2001/slt.tex
+++ /dev/null
@@ -1,275 +0,0 @@
-\magnification=\magstep1
-\input epsf.tex
-\input mjmac.tex
-
-\language=\czech
-\chyph
-
-\hsize=160truemm % A4 with 25mm margins
-\vsize=247truemm
-\parindent=2em
-\nopagenumbers
-
-\def\hdr#1{\medskip\leftline{\bf #1}\smallskip}
-\def\\{\hfil\break}
-\def\BIRD{{\sc Bird}}
-
-\def\inititemize{\vskip 1pt\begingroup
-\parskip=1pt plus 0.3pt minus 0.1pt
-\advance\leftskip by 3em
-\advance\rightskip by 3em
-\parindent=0pt
-}
-
-%%% Úvod a historie projektu
-\hdr{Na poèátku bylo vejce aneb Úvodem}
-
-\noindent Internet i UNIX jsou na svìtì ji¾ pìkných pár pátkù. Poèítaèe pracující
-pod nepøeberným mno¾stvím unixovských systémù od nepamìti fungují jako
-internetové po¹tovní servery, name-servery a men¹í routery. Skoro by se zdálo, ¾e
-si tyto dva svìty u¾ nemají co nového øíci. V~posledních letech ov¹em
-výraznì vzrostl výkon bì¾ných PC-èek a objevily se pro nì karty podporující
-nejrùznìj¹í sí»ové technologie, a~tak se tyto poèítaèe staly vhodnými
-kandidáty i~pro funkci routerù. Na~mnoha místech tak star¹í PC-èko
-s~volnì ¹iøitelným softwarem pøedstihlo svého star¹ího a dra¾¹ího
-komerèního sourozence. Aèkoliv podpora routingu, firewallingu a inteligentní
-queue management v~jádrech tìchto~OS (a~zejména Linuxu) je ji¾ velice
-vyspìlá, je¹tì nedávno byly notnì zanedbávány protokoly pro dynamický
-routing, tradièní unixovskou koncepcí umístìné do~u¾ivatelského prostoru
-v~podobì routovacích daemonù.
-
-Tento nedostatek se pokou¹ela mezi jinými napravit také skupina nad¹encù
-na~pra¾ské Matematicko-fyzikální fakultì UK, která se rozhodla jako svùj
-studijní projekt vytvoøit nového routovacího daemona, který by se stal
-nìèím víc ne¾ jen dùstojným konkurentem komerèních routerù -- nejen
-kopíroval u¾ známá øe¹ení, ale také pøispìl nìèím novým; na~jedné stranì
-být stabilním a efektivním programem pro praxi, na~stranì druhé ov¹em
-i~laboratoøí pro snadné experimentování s~novými my¹lenkami. A~tak se
-narodil projekt {\it BIRD Internet Routing Daemon} (zkrácenì \BIRD\footnote{$^0$}{Projekt
-si samozøejmì vyslou¾il nejrùznìj¹í pøezdívky -- od Ptáèete a¾ po~Ptákovinu.}).
-
-Pùvodní plány byly smìlé a rozhodné: Vytvoøit nejlep¹ího routovacího
-daemona na svìtì, který by fungoval na~v¹ech platformách, vy¾adoval
-minimum strojového èasu a pamìti, podporoval v¹echny routovací protokoly
-atd., zkrátka sen, jaký má být. Pøeskoème nyní dva roky vývoje\footnote{$^1$}{bìhem nich¾
-z~nìkterých po¾adavkù samozøejmì se¹lo -- napøíklad logem projektu
-se nakonec nestal ptáèek nesoucí v~zobáèku snítku byliny øeèené routa \dots}
-a podívejme se, co z~toho vze¹lo.
-
-%%% Svìt routingu
-%% v~ti¹tìné verzi pøeskoèíme
-
-%%% Co BIRD doká¾e
-\hdr{Kdy¾ ptáèka lapají, pìknì mu zpívají aneb Feature list}
-
-\noindent \BIRD\ dostal od svých sudièek do~vínku mnohé dary:
-
-\def\icirc{\raise0.2ex\hbox{$\circ$}} % Signs frequently used for \itemize
-
-\itemize\ibull
-\:Schopnost komunikovat protokoly IPv4 i IPv6.
-\:Podporu v¹ech základních routovacích protokolù:
- \itemize\icirc
- \:RIPv2 (Routing Information Protocol, viz RFC 1723 a 2080)\\
- Urèen pro interní routing, dnes významu spí¹e historického.\\
- Algoritmus: distance vector (Bellman-Ford).\\
- Velmi pomalá konvergence, pou¾itelý pouze pro malièké sítì.
- \:OSPFv2 (Open Shortest Path First, viz RFC 2328)\\
- Urèen pro interní routing, v~souèasné dobì asi nejbì¾nìj¹í.\\
- Algoritmus: link state (Dijkstra).\\
- Rychlá konvergence, ale velice komplikovaný.\\
- Zatím podporujeme pouze pro IPv4.
- \:BGP4 (Border Gateway Protocol, viz RFC 1771 a 2283)\\
- Standardní protokol pro externí routing mezi AS.\\
- Rychlá konvergence, mo¾nost administrativní filtrace.\\
- Algoritmus: path vector (upravený Bellman-Ford).
- \endlist
-\:Propojování protokolù a výmìnu dat mezi nimi.
-\:Schopnost uplatòovat routing policy -- urèovat, které routovací informace
- budou od~kterých protokolù pøijímány a do~kterých protokolù vysílány.
-\:Snadnou konfiguraci a údr¾bu, ale o~tom a¾ pozdìji.
-\:Modulární architekturu umo¾òující snadné doplòování nových protokolù,
- filtrù i jednoduché portování na~dal¹í systémy. (Interface k~routovacím
- slu¾bám jádra je bohu¾el i mezi jednotlivými unixovskými systémy natolik
- rùznorodý, ¾e dokonce i~Linux 2.0 a Linux 2.2 jsou naprogramovány jako dva
- odli¹né porty.)
-\:A v~neposlední øadì kvalitní dokumentaci jak u¾ivatelskou, tak
- programátorskou (to je vítaný dùsledek bytí ¹kolním projektem).
-\endlist
-
-%%% A jak to v¹echno propojit
-\hdr{Svìt z~ptaèí perspektivy aneb Jak to v¹echno dát dohromady?}
-
-\noindent Hlavním problémem ov¹em není ani tak v¹echny tyto vymo¾enosti naprogramovat
-a popropojovat, nýbr¾ udìlat to tak, aby z~toho nevznikl neudr¾ovatelný
-a neefektivní zmatek\footnote{$^2$}{Nádherným pøíkladem je Mendelùv pes,
-jak ho kdysi nakreslil pan Kantorek.}. Z~toho se zrodil modulární pohled
-na~svìt routingu a následnì i celá modulární architektura programu:
-
-\bigskip
-
-\centerline{\epsfxsize=0.9\hsize\epsfbox{../slides/obr5.eps}}
-
-\medskip
-
-Základem pohledu na~Internet z~na¹í \uv{ptaèí perspektivy} je routovací
-tabulka. Na~ní jsou pøipojeny jednotlivé routovací protokoly -- jak
-protokoly reálné, tak i nìkolik virtuálních, jako je napøíklad protokol
-Kernel zaji¹»ující synchronizaci tabulky s~tabulkou jádra nebo protokol
-Static generující podle své konfigurace statické smìrování. Ka¾dý z~protokolù
-posílá do~tabulky polo¾ky pro v¹echny routy, které se na~základì svých informací
-o~topologii sítì dozvídá. Tabulka pro ka¾dou sí» vybírá na základì preferencí
-jednotlivých protokolù a jejich metrik optimální smìr a ten oznamuje
-zpìt protokolùm. V~cestì ov¹em v~obou smìrech stojí filtry, které mohou
-tok dat regulovat -- nìkteré polo¾ky odmítat, jiné upravovat (napøíklad
-jim pøenastavovat metriky èi tagy; to se dokonce vztahuje i~na
-atributy doplòované cílovým protokolem, proto¾e nejprve cílový protokol
-nastaví implicitní hodnoty svých atributù, pokud je ji¾ polo¾ka neobsahovala,
-a teprve pak dojde k~filtrování).
-
-Routovacích tabulek mù¾e dokonce existovat vícero a pomocí protokolu Pipe
-si mohou pøeposílat vybrané polo¾ky. Tím mù¾eme zajistit napøíklad
-routing závislý na~zdrojové adrese èi vstupním interfacu: u~Linuxu 2.2
-èi novìj¹ího nakonfigurujeme jádru více routovacích tabulek a ka¾dou
-z~nich pøipojíme na~jednu tabulku na¹i.
-
-\hdr{Ptaèí zpìv aneb User interface}
-%%% User interface: konfigurace, logging a filtry. Remote control.
-
-\noindent Sí» se mìní a s~ní se musí mìnit i konfigurace sí»ových
-komponent. Ta se pozvolna stala tradièním kamenem úrazu vìt¹iny routerù.
-U~tohoto kamene se toti¾ scházejí dva odvìcí nepøátelé:
-snaha o~snadnost a flexibilitu konfigurace a snaha o~nepøetr¾itý
-provoz sítì. A~jednou sleví ten, podruhé onen -- autoøi nìkterých
-routerù vsadili na~sílu textových konfiguraèních souborù za~cenu
-toho, ¾e se po~ka¾dé zmìnì konfigurace musí router restartovat
-a po~nìjakou dobu neroutuje, jiní zase podøídili non-stop provozu
-v¹e ostatní a stvoøili konfigurování nepøeberným mno¾stvím online
-pøíkazù, pomocí nich¾ se nìkteré vìci provádìjí snadno, jiné,
-na~které autoøi speciální pøíkaz nevymysleli, u¾ obtí¾nìji a je¹tì jiné
-vy¾adují do~výsledného stavu dospìt postupným provedením mnoha zmìn,
-co¾ má obvykle za~dùsledek daleko del¹í výpadek ne¾ jaký by byl vznikl
-reloadem celého routeru.
-
-\BIRD\ se sna¾í dosáhnout obojího: pou¾ívá textové konfiguraèní soubory,
-u¾ivateli tak dává mo¾nost vytváøet konfiguraci víceménì libovolným
-zpùsobem -- a» ji¾ ruèním editováním, interaktivními programy èi
-automatickým generováním pomocí scriptù. Po~zmìnì konfigurace je
-ov¹em schopen si novou verzi souboru pøeèíst, porovnat s~právì
-pou¾ívanou konfigurací a zmìnám se za bìhu pøízpùsobit (pokud
-jsou zmìny pøíli¹ velké, mù¾e to zpùsobit restart
-nìkterého z~protokolù, ale provoz tìch, kterých se zmìna
-netýkala, to nijak neohrozí).
-
-Konfigurace ka¾dého protokolu (lépe øeèeno ka¾dé jeho instance --
-protokoly mohou být spu¹tìny nìkolikrát na~rùzných rozhraních
-èi nad rùznými tabulkami) vypadá pøibli¾nì takto:
-
-\verbatim{ protocol bgp TestBGP { # instanci si mù¾eme nazvat
- local as 65000; # ná¹ AS
- neighbor 195.39.3.64 as 5588; # sousední AS
- export all; # posílat budeme v¹echno
- import filter { # na vstupu nìkteré odmítneme
- if !(bgp_path ~ / ? 5588 ? /) then reject;
- if net ~ [ 10.0.0.0/8+, 192.168.0.0/16+ ] then reject;
- preference = 101; # zbylým nastavíme preferenci
- accept; # a pøijmeme je
- };
- }}
-\noindent V¾dy popisuje protokol, jeho parametry, pøipojení k~tabulkám
-(v~na¹em pøípadì pou¾íváme tabulku implicitní) a nastavení vstupních
-i~výstupních filtrù.
-
-Filtry jsou popisovány jednoduchým procedurálním programovacím jazykem,
-který má k~dispozici v¹echny informace o~právì zpracovávané polo¾ce, mù¾e
-se podle nich rozhodovat a libovolnì je mìnit. Díky tomu je mo¾né jednodu¹e
-zadávat i velice slo¾itá pravidla, definovat si podprogramy sdílené
-filtry patøícími k~více protokolùm, i~poèítat metriky pro jeden protokol
-na základì metrik protokolù ostatních.
-
-Vítaným pomocníkem pøi odhalování problémù v~sítích je rovnì¾ volitelné
-logování dùle¾itých událostí a trasování èinnosti protokolù: zde si je
-mo¾no pro ka¾dý protokol vy¾ádat prakticky cokoliv poèínaje základními informacemi o~bìhu
-protokolu (pøipojování a odpojování sousedù apod.), pøes výmìnu polo¾ek
-mezi protokolem, filtry a jeho tabulkou, a konèe detailním výpisem v¹ech
-pøijatých i odeslaných paketù.
-
-Mimo to \BIRD\ disponuje \uv{dálkovým ovládáním} -- jednoduchým pøíkazovým
-rozhraním, pøes které se mohou pøipojovat rùzní klienti a vydávat jak
-nìkteré øídící pøíkazy (restarty protokolù, reload konfigurace, pøepínání
-trasování, \dots), tak po¾adavky na~vypisování stavu routovacích tabulek
-a protokolù. U~tìchto pøíkazù je mo¾no vyu¾ívat plné síly filtrovacího
-jazyka, tak¾e chceme-li napøíklad znát v¹echny routy smìrované pomocí
-BGP na jednoho konkrétního souseda, staèí polo¾it dotaz typu
-
-\verbatim{ bird> show route where source=RTS_BGP && gw=62.168.0.1}
-
-\noindent a dozvíme se ihned v¹e, co jsme potøebovali. Ladìní filtrù
-navíc usnadní i~to, ¾e se mù¾eme zeptat na~obsah routovací tabulky
-z~pohledu nìkterého z~bì¾ících protokolù.
-
-%%% BIRD uvnitø
-%\hdr{Ptaèí anatomie}
-%% existuje progdoc
-
-%%% Netradicni pouziti
-\hdr{Cesty ta¾ných ptákù aneb Za hranicemi v¹edních dnù}
-
-\noindent Hotová modulární implementace routovacího daemona samozøejmì
-svádí i k~ménì tradiènímu vyu¾ití. Zde se fantazii meze nekladou, autory
-samé bìhem vývoje napadly napøíklad tyto triky:
-
-\itemize\ibull
-\:{\I multirouter} -- \uv{schizofrenní} zaøízení pracující na rùzných
- skupinách interfacù jako rùzné routery øídící se rùznými pravidly,
- le¾ící tøeba i v~rùzných autonomních systémech. To je mo¾no zaøídit
- patøièným nastavením jádra a buïto více bì¾ícími \BIRD{}y nebo dokonce
- jedním pracujícím s~nìkolika rùznými routovacími tabulkami. Tak by
- mohl napøíklad celý pra¾ský NIX bì¾et na jediném routeru (pravda,
- bì¾né PC by na to nestaèílo), a pøesto by si ka¾dý provider mohl sám
- urèovat a konfigurovat svou vlastní routovací politiku.
-\:{\I ¹edá eminence} -- \BIRD\ by ani nemusel bì¾et pøímo na~stroji, který
- pakety routuje, mohl by také hotové routovací tabulky diktovat
- nìjakému dedikovanému routeru disponujícím výkonnìj¹ím hardwarem,
- a tak skloubit ¹pièkovou propustnost \uv{velkého ¾eleza}
- s~flexibilitou routeru be¾ícího pod unixovským systémem.
-\:{\I inteligentní mirror} -- aplikace se nemusí zastavovat u~routingu
- jako takového, mnohdy je mo¾no informace získané z~provozu routeru
- vyu¾ívat k~dal¹ím úèelùm, napøíklad k~inteligentnímu pøesmìrovávání
- klientù na~nejbli¾¹í mirror va¹eho archivu.
-\endlist
-
-%%% A co dal?
-\hdr{Èas ptáèat aneb Co dál?}
-
-Pøesto¾e po~úspì¹ném obhájení projektu a prvních nìkolika desítkách
-spokojených u¾ivatelù (a samozøejmì i~pár opravených chybách) nyní vývoj
-spí¹e stagnuje, autoøi ji¾ spøádají plány do~budoucnosti, které
-by mìly \BIRD{}ovi pøinést mimo jiné také routování multicastù, agregaci
-sí»ových prefixù, OSPFv3 pro IPv6, on-demand linky a porty na~dal¹í systémy.
-
-%%% Reference na nás a ostatní routery
-\hdr{Snù¹ka odkazù na závìr}
-
-\noindent {\sc Bird Team} pod vedením RNDr. Libora Forsta ({\I forst@cuni.cz}) tvoøili:
-$$\vbox{\halign{#\hfil & \quad \it # \hfil & \quad \it # \hfil\cr
-Ondøej Filip&feela@ipex.cz&http:/$\!$/feela.ipex.cz/\cr
-Martin Mare¹&mj@ucw.cz&http:/$\!$/atrey.karlin.mff.cuni.cz/\char126mj/\cr
-Pavel Machek&pavel@ucw.cz&http:/$\!$/atrey.karlin.mff.cuni.cz/\char126pavel/\cr}}$$
-Domácí stránku projektu najdete na {\it http:/$\!$/bird.network.cz/,} odtamtud ji¾
-vedou odkazy na~aktuální verzi, online dokumentaci i mailing list
-u¾ivatelù.
-V¹echna zmiòovaná RFC i mnoho dal¹ích naleznete na {\it http:/$\!$/www.rfc-editor.org/},
-první my¹lenky o~vyu¾ívání ptactva v~Internetu sahají a¾ k~RFC~1149.
-\BIRD\ není na~svìtì sám, má i~pøíbuzné; mezi nimi za zmínku stojí
-daemoni {\sc GateD} ({\I http:/$\!$/www.gated.org/}), \hbox{\sc Zebra} ({\I http:/$\!$/www.zebra.org/})
-a {\sc Mrtd} ({\I http:/$\!$/www.mrtd.net/}).
-O~IPv6 se bohu¾el zatím jen pí¹e, na~jeho celointernetové nasazení se stále
-èeká a mezitím pøibývá address-translatorù a dal¹ích zvìrstev. Snad jediná
-vìt¹í sí» pou¾ívající tento protokol je experimentální virtuální sí» 6-bone
-(viz {\it http:/$\!$/www.6bone.net/} a odkazy odtamtud).
-
-Dotazy a pøipomínky posílejte buïto autorovi nebo celému {\sc Bird Team}u na~adresu
-{\I bird@bird.network.cz}.
-
-\bye
diff --git a/lib/birdlib.h b/lib/birdlib.h
index 428b3209..7cd78032 100644
--- a/lib/birdlib.h
+++ b/lib/birdlib.h
@@ -56,6 +56,13 @@ static inline int u64_cmp(u64 i1, u64 i2)
#define BIT32_CLR(b,p) ((b)[(p)/32] &= ~BIT32_VAL(p))
#define BIT32_ZERO(b,l) memset((b), 0, (l)/8)
+/* The same, but counting bits from MSB */
+#define BIT32R_VAL(p) ((((u32) 1) << 31) >> ((p) % 32))
+#define BIT32R_TEST(b,p) ((b)[(p)/32] & BIT32R_VAL(p))
+#define BIT32R_SET(b,p) ((b)[(p)/32] |= BIT32R_VAL(p))
+#define BIT32R_CLR(b,p) ((b)[(p)/32] &= ~BIT32R_VAL(p))
+#define BIT32R_ZERO(b,l) memset((b), 0, (l)/8)
+
#ifndef NULL
#define NULL ((void *) 0)
#endif
diff --git a/misc/Makefile b/misc/Makefile
deleted file mode 100644
index fe0307d5..00000000
--- a/misc/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-all: ips
-
-ips: ips.c
- gcc ips.c -o ips -lm -O2 -Wall
-
-clean:
- rm -f ips
diff --git a/misc/bird.init b/misc/bird.init
deleted file mode 100755
index 93aa83d6..00000000
--- a/misc/bird.init
+++ /dev/null
@@ -1,97 +0,0 @@
-#! /bin/sh
-#
-# bird Starts the Internet Routing Daemon.
-#
-# Author: Ondrej Feela Filip, <feela@network.cz>
-#
-# chkconfig: - 32 75
-# description: Internet routing daemon supporting IPv4 routing protocols:
-# BGP4, RIPv2 and OSPFv2.
-#
-# processname: bird
-# config: /etc/bird.conf
-
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-
-[ -f /etc/sysconfig/network ] || exit 0
-
-. /etc/sysconfig/network
-
-BIRD4="yes"
-BIRD6="yes"
-
-BIRD4ARGS=
-BIRD6ARGS=
-
-[ -f /etc/bird.conf ] || BIRD4="no"
-[ -f /usr/sbin/bird ] || BIRD4="no"
-[ "${NETWORKING}" = "yes" ] || BIRD4="no"
-
-[ -f /etc/bird6.conf ] || BIRD6="no"
-[ -f /usr/sbin/bird6 ] || BIRD6="no"
-[ "${NETWORKING_IPV6}" = "yes" ] || BIRD6="no"
-
-[ -e /etc/sysconfig/bird ] && . /etc/sysconfig/bird
-
-RETVAL=0
-
-# See how we were called.
-case "$1" in
- start)
- if [ "$BIRD4" = "yes" ]
- then
- echo -n "Starting BIRD for IPv4: "
- daemon bird ${BIRD4ARGS}
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bird
- fi
- if [ "$BIRD6" = "yes" ]
- then
- echo -n "Starting BIRD for IPv6: "
- daemon bird6 ${BIRD6ARGS}
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bird6
- fi
- ;;
- stop)
- echo -n "Stopping BIRD for IPv4: "
- killproc bird
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bird
-
- echo -n "Stopping BIRD for IPv6: "
- killproc bird6
- RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bird6
- ;;
- status)
- status bird
- status bird6
- RETVAL=$?
- ;;
- restart)
- $0 stop
- $0 start
- RETVAL=$?
- ;;
- reload)
- killproc bird -HUP
- RETVAL=$?
- echo
- echo -n "Reloading BIRD for IPv6: "
- killproc bird6 -HUP
- RETVAL=$?
- echo
- ;;
- *)
- echo "Usage: bird.init {start|stop|status|restart|reload}"
- exit 1
-esac
-
-exit $RETVAL
diff --git a/misc/bird.spec b/misc/bird.spec
deleted file mode 100644
index acd4fe2c..00000000
--- a/misc/bird.spec
+++ /dev/null
@@ -1,55 +0,0 @@
-Summary: BIRD Internet Routing Daemon
-Name: bird
-Version: 2.0.3
-Release: 1
-Copyright: GPL
-Group: Networking/Daemons
-Source: ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz
-Source1: bird.init
-Source2: birdc6
-Buildroot: /var/tmp/bird-root
-Url: http://bird.network.cz
-Prereq: /sbin/chkconfig
-BuildRequires: flex bison readline-devel ncurses-devel
-
-%description
-BIRD is dynamic routing daemon supporting IPv4 and IPv6 versions of routing
-protocols BGP, RIP and OSPF.
-
-%prep
-%setup -n bird-%{version}
-
-%build
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-ipv6
-make
-mv bird bird6
-make clean
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
-make
-
-
-%install
-rm -rf $RPM_BUILD_ROOT/*
-make install prefix=$RPM_BUILD_ROOT/usr sysconfdir=$RPM_BUILD_ROOT/etc localstatedir=$RPM_BUILD_ROOT/var
-install bird6 $RPM_BUILD_ROOT/usr/sbin
-
-cd $RPM_BUILD_ROOT
-install -d etc/rc.d/init.d
-install $RPM_SOURCE_DIR/bird.init etc/rc.d/init.d/bird
-install $RPM_SOURCE_DIR/birdc6 usr/sbin/birdc6
-
-%post
-/sbin/ldconfig
-/sbin/chkconfig --add bird
-
-%preun
-if [ $1 = 0 ] ; then
- /sbin/chkconfig --del bird
-fi
-
-%files
-%attr(755,root,root) /usr/sbin/bird
-%attr(755,root,root) /usr/sbin/bird6
-%attr(755,root,root) /usr/sbin/birdc
-%attr(755,root,root) /usr/sbin/birdc6
-%attr(755,root,root) /etc/rc.d/init.d/bird
diff --git a/misc/cisco2list b/misc/cisco2list
deleted file mode 100755
index 6f5466fe..00000000
--- a/misc/cisco2list
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/perl
-#
-# Convert Cisco routing table listing to list of prefixes
-#
-
-$loc = ($ARGV[0] eq "-l"); # Print only local prefixes
-
-while (<STDIN>) {
- ($loc ? /^[OR]\s/ : /^B\s/) || next;
- /^[ORB]( E[12])?\s+(\d+\.\d+\.\d+\.\d+)(\s|\/\d+\s)/ || die "Cannot parse $_";
- $net = $2;
- $len = $3;
- if ($len =~ /^\s*$/) {
- # Magic rule :)
- $len = ($net =~ /\.0$/) ? 24 : 32;
- }
- $len =~ s/^\///;
- $net =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
- printf "%02x%02x%02x%02x/%d\n", $1, $2, $3, $4, $len;
-}
diff --git a/misc/docker/centos-6-amd64/Dockerfile b/misc/docker/centos-6-amd64/Dockerfile
deleted file mode 100644
index d92f64f9..00000000
--- a/misc/docker/centos-6-amd64/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM centos:6
-RUN yum -y upgrade
-RUN yum -y install \
- autoconf \
- flex \
- bison \
- pkgconfig \
- 'readline-devel' \
- 'pkgconfig(ncurses)' \
- gcc \
- make
diff --git a/misc/docker/centos-7-amd64/Dockerfile b/misc/docker/centos-7-amd64/Dockerfile
deleted file mode 100644
index c01731b2..00000000
--- a/misc/docker/centos-7-amd64/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM centos:7
-RUN yum -y upgrade
-RUN yum -y install \
- autoconf \
- flex \
- bison \
- pkgconfig \
- 'readline-devel' \
- 'pkgconfig(ncurses)' \
- gcc \
- make
diff --git a/misc/docker/debian-7-amd64/Dockerfile b/misc/docker/debian-7-amd64/Dockerfile
deleted file mode 100644
index dd5e9236..00000000
--- a/misc/docker/debian-7-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM debian:wheezy-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-7-i386/Dockerfile b/misc/docker/debian-7-i386/Dockerfile
deleted file mode 100644
index 753ff1cb..00000000
--- a/misc/docker/debian-7-i386/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM i386/debian:wheezy-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-8-amd64/Dockerfile b/misc/docker/debian-8-amd64/Dockerfile
deleted file mode 100644
index d0e8ed0a..00000000
--- a/misc/docker/debian-8-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM debian:jessie-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-8-i386/Dockerfile b/misc/docker/debian-8-i386/Dockerfile
deleted file mode 100644
index 9dd6f022..00000000
--- a/misc/docker/debian-8-i386/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM i386/debian:jessie-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-9-amd64/Dockerfile b/misc/docker/debian-9-amd64/Dockerfile
deleted file mode 100644
index e8a17efc..00000000
--- a/misc/docker/debian-9-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM debian:stretch-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-9-i386/Dockerfile b/misc/docker/debian-9-i386/Dockerfile
deleted file mode 100644
index 73e70750..00000000
--- a/misc/docker/debian-9-i386/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM i386/debian:stretch-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-testing-amd64/Dockerfile b/misc/docker/debian-testing-amd64/Dockerfile
deleted file mode 100644
index 3b66e3fa..00000000
--- a/misc/docker/debian-testing-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM debian:testing-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/debian-testing-i386/Dockerfile b/misc/docker/debian-testing-i386/Dockerfile
deleted file mode 100644
index 998ce969..00000000
--- a/misc/docker/debian-testing-i386/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM i386/debian:testing-slim
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/fedora-25-amd64/Dockerfile b/misc/docker/fedora-25-amd64/Dockerfile
deleted file mode 100644
index 9cc4c3f6..00000000
--- a/misc/docker/fedora-25-amd64/Dockerfile
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM fedora:25
-RUN dnf -y upgrade
-RUN dnf -y install \
- autoconf \
- flex \
- bison \
- pkgconfig \
- 'readline-devel' \
- 'pkgconfig(ncurses)' \
- gcc
diff --git a/misc/docker/fedora-26-amd64/Dockerfile b/misc/docker/fedora-26-amd64/Dockerfile
deleted file mode 100644
index d1e84439..00000000
--- a/misc/docker/fedora-26-amd64/Dockerfile
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM fedora:26
-RUN dnf -y upgrade
-RUN dnf -y install \
- autoconf \
- flex \
- bison \
- pkgconfig \
- 'readline-devel' \
- 'pkgconfig(ncurses)' \
- gcc
diff --git a/misc/docker/opensuse-42.3-amd64/Dockerfile b/misc/docker/opensuse-42.3-amd64/Dockerfile
deleted file mode 100644
index c9f7127d..00000000
--- a/misc/docker/opensuse-42.3-amd64/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM opensuse:42.3
-RUN zypper -n up
-RUN zypper -n install \
- autoconf \
- flex \
- bison \
- pkgconfig \
- readline-devel \
- ncurses-devel \
- gcc \
- gmake
diff --git a/misc/docker/ubuntu-14.04-amd64/Dockerfile b/misc/docker/ubuntu-14.04-amd64/Dockerfile
deleted file mode 100644
index ccac3eb4..00000000
--- a/misc/docker/ubuntu-14.04-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM ubuntu:14.04
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/docker/ubuntu-16.04-amd64/Dockerfile b/misc/docker/ubuntu-16.04-amd64/Dockerfile
deleted file mode 100644
index 50a4918c..00000000
--- a/misc/docker/ubuntu-16.04-amd64/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM ubuntu:16.04
-ENV DEBIAN_FRONTEND noninteractive
-RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list
-RUN apt-get -y update
-RUN apt-get -y upgrade
-RUN apt-get -y install \
- autoconf \
- build-essential \
- flex \
- bison \
- ncurses-dev \
- libreadline-dev
diff --git a/misc/ips.c b/misc/ips.c
deleted file mode 100644
index 467cc25d..00000000
--- a/misc/ips.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include <stdio.h>
-#include <math.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int h[65536];
-
-/*
- * Probability analysis of hashing function:
- *
- * Let n be number of items and k number of boxes. For uniform distribution
- * we get:
- *
- * Expected value of "item i is in given box": Xi = 1/k
- * Expected number of items in given box: a = EX = E(sum Xi) = sum E(Xi) = n/k
- * Expected square value: E(X^2) = E((sum Xi)^2) = E((sum_i Xi^2) + (sum_i,j i<>j XiXj)) =
- * = sum_i E(Xi^2) + sum_i,j i<>j E(XiXj) =
- * = sum_i E(Xi) [Xi is binary] + sum_i,j i<>j E(XiXj) [those are independent] =
- * = n/k + n*(n-1)/k^2
- * Variance: var X = E(X^2) - (EX)^2 = n/k + n*(n-1)/k^2 - n^2/k^2 =
- * = n/k - n/k^2 = a * (1-1/k)
- * Probability of fixed box being zero: Pz = ((k-1)/k)^n = (1-1/k)^n = (1-1/k)^(ak) =
- * = ((1-1/k)^k)^a which we can approximate by e^-a.
- */
-
-uint hf(uint n)
-{
-#if 0
- n = (n ^ (n >> 16)) & 0xffff;
- n = (n ^ (n << 8)) & 0xffff;
-#elif 1
- n = (n >> 16) ^ n;
- n = (n ^ (n << 10)) & 0xffff;
-#elif 0
- n = (n >> 16) ^ n;
- n *= 259309;
-#elif 0
- n ^= (n >> 20);
- n ^= (n >> 10);
- n ^= (n >> 5);
-#elif 0
- n = (n * 259309) + ((n >> 16) * 123479);
-#else
- return random();
-#endif
- return n;
-}
-
-int
-main(int argc, char **argv)
-{
- int cnt=0;
- int i;
-
- int bits = atol(argv[1]);
- int z = 1 << bits;
- int max = atol(argv[2]);
-
- while (max--)
- {
- uint i, e;
- if (scanf("%x/%d", &i, &e) != 2)
- if (feof(stdin))
- break;
- else
- fprintf(stderr, "BUGGG\n");
-// i >>= (32-e);
-// i |= (i >> e);
- cnt++;
- h[(hf(i) >> 1*(16 - bits)) & (z-1)]++;
- }
-// printf(">>> %d addresses\n", cnt);
-#if 0
- for(i=0; i<z; i++)
- printf("%d\t%d\n", i, h[i]);
-#else
-{
- int min=cnt, max=0, zer=0;
- double delta=0;
- double avg = (double) cnt / z;
- double exdelta = avg*(1-1/(double)z);
- double exzer = exp(-avg);
- for(i=0; i<z; i++) {
- if (h[i] < min) min=h[i];
- if (h[i] > max) max=h[i];
- delta += (h[i] - avg) * (h[i] - avg);
- if (!h[i]) zer++;
- }
- printf("size=%5d, min=%d, max=%2d, delta=%-7.6g (%-7.6g), avg=%-5.3g, zero=%g%% (%g%%)\n", z, min, max, delta/z, exdelta, avg, zer/(double)z*100, exzer*100);
-}
-#endif
-
- return 0;
-}
diff --git a/misc/stats b/misc/stats
deleted file mode 100755
index 57920ce4..00000000
--- a/misc/stats
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-make ips
-echo "Global tables:"
-for a in 4 5 6 7 8 9 10 11 12 13 14 15 ; do
- ./ips <global $a $((1<<($a+2)))
- done
-echo "Local tables:"
-./ips <local 6 1000
diff --git a/nest/proto.c b/nest/proto.c
index fadce6c7..d4a333d0 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -1693,11 +1693,11 @@ channel_show_stats(struct channel *c)
struct proto_stats *s = &c->stats;
if (c->in_keep_filtered)
- cli_msg(-1006, " Routes: %u imported, %u filtered, %u exported",
- s->imp_routes, s->filt_routes, s->exp_routes);
+ cli_msg(-1006, " Routes: %u imported, %u filtered, %u exported, %u preferred",
+ s->imp_routes, s->filt_routes, s->exp_routes, s->pref_routes);
else
- cli_msg(-1006, " Routes: %u imported, %u exported",
- s->imp_routes, s->exp_routes);
+ cli_msg(-1006, " Routes: %u imported, %u exported, %u preferred",
+ s->imp_routes, s->exp_routes, s->pref_routes);
cli_msg(-1006, " Route change stats: received rejected filtered ignored accepted");
cli_msg(-1006, " Import updates: %10u %10u %10u %10u %10u",
diff --git a/nest/protocol.h b/nest/protocol.h
index 7f539aef..6c04071b 100644
--- a/nest/protocol.h
+++ b/nest/protocol.h
@@ -134,6 +134,7 @@ struct proto_stats {
/* Import - from protocol to core */
u32 imp_routes; /* Number of routes successfully imported to the (adjacent) routing table */
u32 filt_routes; /* Number of routes rejected in import filter but kept in the routing table */
+ u32 pref_routes; /* Number of routes selected as best in the (adjacent) routing table */
u32 imp_updates_received; /* Number of route updates received */
u32 imp_updates_invalid; /* Number of route updates rejected as invalid */
u32 imp_updates_filtered; /* Number of route updates rejected by filters */
diff --git a/nest/rt-fib.c b/nest/rt-fib.c
index 48091d43..a8800b65 100644
--- a/nest/rt-fib.c
+++ b/nest/rt-fib.c
@@ -58,11 +58,52 @@
#include "nest/route.h"
#include "lib/string.h"
+/*
+ * The FIB rehash values are maintaining FIB count between N/5 and 2N. What
+ * does it mean?
+ *
+ * +------------+--------+---------+-----------+----------+-----------+
+ * | Table size | Memory | Min cnt | net + rte | Max cnt | net + rte |
+ * +------------+--------+---------+-----------+----------+-----------+
+ * | 1k | 8k | 0 | 0 | 2k | 192 k |
+ * | 2k | 16k | 409 | 38.3k | 4k | 384 k |
+ * | 4k | 32k | 819 | 76.8k | 8k | 768 k |
+ * | 8k | 64k | 1.6k | 153.6k | 16k | 1.5M |
+ * | 16k | 128k | 3.2k | 307.1k | 32k | 3 M |
+ * | 32k | 256k | 6.4k | 614.3k | 64k | 6 M |
+ * | 64k | 512k | 12.8k | 1.2M | 128k | 12 M |
+ * | 128k | 1024k | 25.6k | 2.4M | 256k | 24 M |
+ * | 256k | 2M | 51.2k | 4.8M | 512k | 48 M |
+ * | 512k | 4M | 102.4k | 9.6M | 1M | 96 M |
+ * | 1M | 8M | 204.8k | 19.2M | 2M | 192 M |
+ * | 2M | 16M | 409.6k | 38.4M | 4M | 384 M |
+ * | 4M | 32M | 819.2k | 76.8M | 8M | 768 M |
+ * | 8M | 64M | 1.6M | 153.6M | infinity | infinity |
+ * +------------+--------+---------+-----------+----------+-----------+
+ *
+ * Table size shows how many slots are in FIB table.
+ * Memory shows how much memory is eaten by FIB table.
+ * Min cnt minimal number of nets in table of given size
+ * Max cnt maximal number of nets in table of given size
+ * net + rte memory eaten by 1 net and one route in it for min cnt and max cnt
+ *
+ * Example: If we have 750,000 network entries in a table:
+ * * the table size may be 512k if we have never had more
+ * * the table size may be 1M or 2M if we at least happened to have more
+ * * 256k is too small, 8M is too big
+ *
+ * When growing, rehash is done on demand so we do it on every power of 2.
+ * When shrinking, rehash is done on delete which is done (in global tables)
+ * in a scheduled event. Rehashing down 2 steps.
+ *
+ */
+
+
#define HASH_DEF_ORDER 10
-#define HASH_HI_MARK *4
-#define HASH_HI_STEP 2
+#define HASH_HI_MARK * 2
+#define HASH_HI_STEP 1
#define HASH_HI_MAX 24
-#define HASH_LO_MARK /5
+#define HASH_LO_MARK / 5
#define HASH_LO_STEP 2
#define HASH_LO_MIN 10
diff --git a/nest/rt-table.c b/nest/rt-table.c
index ae4bb74d..6bf07a09 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -405,8 +405,6 @@ export_filter_(struct channel *c, rte *rt0, rte **rt_free, linpool *pool, int si
rt = rt0;
*rt_free = NULL;
- rte_make_tmp_attrs(&rt, pool);
-
v = p->preexport ? p->preexport(p, &rt, pool) : 0;
if (v < 0)
{
@@ -425,6 +423,8 @@ export_filter_(struct channel *c, rte *rt0, rte **rt_free, linpool *pool, int si
goto accept;
}
+ rte_make_tmp_attrs(&rt, pool);
+
v = filter && ((filter == FILTER_REJECT) ||
(f_run(filter, &rt, pool,
(silent ? FF_SILENT : 0)) > F_ACCEPT));
@@ -564,33 +564,47 @@ rt_notify_basic(struct channel *c, net *net, rte *new0, rte *old0, int refeed)
* and the end of refeed - if a newly filtered route disappears during this
* period, proper withdraw is not sent (because old would be also filtered)
* and the route is not refeeded (because it disappeared before that).
- * Therefore, we also do not try to run the filter on old routes that are
- * older than the last filter change.
+ * This is handled below as a special case.
*/
if (new)
new = export_filter(c, new, &new_free, 0);
- if (old && !(refeed || (old->lastmod <= c->last_tx_filter_change)))
+ if (old && !refeed)
old = export_filter(c, old, &old_free, 1);
if (!new && !old)
{
/*
* As mentioned above, 'old' value may be incorrect in some race conditions.
- * We generally ignore it with the exception of withdraw to pipe protocol.
- * In that case we rather propagate unfiltered withdraws regardless of
- * export filters to ensure that when a protocol is flushed, its routes are
- * removed from all tables. Possible spurious unfiltered withdraws are not
- * problem here as they are ignored if there is no corresponding route at
- * the other end of the pipe. We directly call rt_notify() hook instead of
+ * We generally ignore it with two exceptions:
+ *
+ * First, withdraw to pipe protocol. In that case we rather propagate
+ * unfiltered withdraws regardless of export filters to ensure that when a
+ * protocol is flushed, its routes are removed from all tables. Possible
+ * spurious unfiltered withdraws are not problem here as they are ignored if
+ * there is no corresponding route at the other end of the pipe.
+ *
+ * Second, recent filter change. If old route is older than filter change,
+ * then it was previously evaluated by a different filter and we do not know
+ * whether it was really propagated. In that case we rather send spurious
+ * withdraw than do nothing and possibly cause phantom routes.
+ *
+ * In both cases wqe directly call rt_notify() hook instead of
* do_rt_notify() to avoid logging and stat counters.
*/
+ int pipe_withdraw = 0, filter_change = 0;
#ifdef CONFIG_PIPE
- if ((p->proto == &proto_pipe) && !new0 && (p != old0->sender->proto))
- p->rt_notify(p, c, net, NULL, old0);
+ pipe_withdraw = (p->proto == &proto_pipe) && !new0;
#endif
+ filter_change = old0 && (old0->lastmod <= c->last_tx_filter_change);
+
+ if ((pipe_withdraw || filter_change) && (p != old0->sender->proto))
+ {
+ c->stats.exp_withdraws_accepted++;
+ p->rt_notify(p, c, net, NULL, old0);
+ }
return;
}
@@ -607,7 +621,7 @@ rt_notify_basic(struct channel *c, net *net, rte *new0, rte *old0, int refeed)
static void
rt_notify_accepted(struct channel *c, net *net, rte *new_changed, rte *old_changed, rte *before_old, int feed)
{
- // struct proto *p = c->proto;
+ struct proto *p = c->proto;
rte *r;
rte *new_best = NULL;
@@ -684,7 +698,9 @@ rt_notify_accepted(struct channel *c, net *net, rte *new_changed, rte *old_chang
*/
/* Hack for changed filters */
- if (old_changed && (old_changed->lastmod <= c->last_tx_filter_change))
+ if (old_changed &&
+ (p != old_changed->sender->proto) &&
+ (old_changed->lastmod <= c->last_tx_filter_change))
{
old_best = old_changed;
goto found;
@@ -900,8 +916,16 @@ rte_announce(rtable *tab, unsigned type, net *net, rte *new, rte *old,
if (!old && !new)
return;
- if ((type == RA_OPTIMAL) && tab->hostcache)
- rt_notify_hostcache(tab, net);
+ if (type == RA_OPTIMAL)
+ {
+ if (new)
+ new->sender->stats.pref_routes++;
+ if (old)
+ old->sender->stats.pref_routes--;
+
+ if (tab->hostcache)
+ rt_notify_hostcache(tab, net);
+ }
struct channel *c; node *n;
WALK_LIST2(c, n, tab->channels, table_node)
@@ -983,12 +1007,13 @@ rte_free_quick(rte *e)
static int
rte_same(rte *x, rte *y)
{
+ /* rte.flags are not checked, as they are mostly internal to rtable */
return
x->attrs == y->attrs &&
- x->flags == y->flags &&
x->pflags == y->pflags &&
x->pref == y->pref &&
- (!x->attrs->src->proto->rte_same || x->attrs->src->proto->rte_same(x, y));
+ (!x->attrs->src->proto->rte_same || x->attrs->src->proto->rte_same(x, y)) &&
+ rte_is_filtered(x) == rte_is_filtered(y);
}
static inline int rte_is_ok(rte *e) { return e && !rte_is_filtered(e); }
@@ -1032,7 +1057,9 @@ rte_recalculate(struct channel *c, net *net, rte *new, struct rte_src *src)
if (new && rte_same(old, new))
{
- /* No changes, ignore the new route */
+ /* No changes, ignore the new route and refresh the old one */
+
+ old->flags &= ~(REF_STALE | REF_DISCARD | REF_MODIFY);
if (!rte_is_filtered(new))
{
@@ -1346,7 +1373,10 @@ rte_update2(struct channel *c, const net_addr *n, rte *new, struct rte_src *src)
rte_update_lock();
if (new)
{
- nn = net_get(c->table, n);
+ /* Create a temporary table node */
+ nn = alloca(sizeof(net) + n->length);
+ memset(nn, 0, sizeof(net) + n->length);
+ net_copy(nn->n.addr, n);
new->net = nn;
new->sender = c;
@@ -1397,6 +1427,10 @@ rte_update2(struct channel *c, const net_addr *n, rte *new, struct rte_src *src)
if (!rta_is_cached(new->attrs)) /* Need to copy attributes */
new->attrs = rta_lookup(new->attrs);
new->flags |= REF_COW;
+
+ /* Use the actual struct network, not the dummy one */
+ nn = net_get(c->table, n);
+ new->net = nn;
}
else
{
@@ -1411,16 +1445,21 @@ rte_update2(struct channel *c, const net_addr *n, rte *new, struct rte_src *src)
}
recalc:
+ /* And recalculate the best route */
rte_hide_dummy_routes(nn, &dummy);
rte_recalculate(c, nn, new, src);
rte_unhide_dummy_routes(nn, &dummy);
+
rte_update_unlock();
return;
drop:
rte_free(new);
new = NULL;
- goto recalc;
+ if (nn = net_find(c->table, n))
+ goto recalc;
+
+ rte_update_unlock();
}
/* Independent call to rte_announce(), used from next hop
@@ -1477,12 +1516,14 @@ rt_examine(rtable *t, net_addr *a, struct proto *p, struct filter *filter)
rte_update_lock();
/* Rest is stripped down export_filter() */
- rte_make_tmp_attrs(&rt, rte_update_pool);
int v = p->preexport ? p->preexport(p, &rt, rte_update_pool) : 0;
if (v == RIC_PROCESS)
+ {
+ rte_make_tmp_attrs(&rt, rte_update_pool);
v = (f_run(filter, &rt, rte_update_pool, FF_SILENT) <= F_ACCEPT);
+ }
- /* Discard temporary rte */
+ /* Discard temporary rte */
if (rt != n->routes)
rte_free(rt);
@@ -2324,7 +2365,16 @@ rte_update_in(struct channel *c, const net_addr *n, rte *new, struct rte_src *sr
if (old->attrs->src == src)
{
if (new && rte_same(old, new))
+ {
+ /* Refresh the old rte, continue with update to main rtable */
+ if (old->flags & (REF_STALE | REF_DISCARD | REF_MODIFY))
+ {
+ old->flags &= ~(REF_STALE | REF_DISCARD | REF_MODIFY);
+ return 1;
+ }
+
goto drop_update;
+ }
/* Remove the old rte */
*pos = old->next;
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index 43f9f134..8dedde9f 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -1692,6 +1692,11 @@ bgp_channel_cleanup(struct channel *C)
if (c->igp_table_ip6)
rt_unlock_table(c->igp_table_ip6);
+
+ c->index = 0;
+
+ /* Cleanup rest of bgp_channel starting at pool field */
+ memset(&(c->pool), 0, sizeof(struct bgp_channel) - OFFSETOF(struct bgp_channel, pool));
}
static inline struct bgp_channel_config *
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 2b60f90f..cfc88d8e 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -299,12 +299,16 @@ struct bgp_channel {
/* Rest are BGP specific data */
struct bgp_channel_config *cf;
- pool *pool; /* XXXX */
u32 afi;
u32 index;
const struct bgp_af_desc *desc;
+ rtable *igp_table_ip4; /* Table for recursive IPv4 next hop lookups */
+ rtable *igp_table_ip6; /* Table for recursive IPv6 next hop lookups */
+
+ /* Rest are zeroed when down */
+ pool *pool;
HASH(struct bgp_bucket) bucket_hash; /* Hash table of route buckets */
struct bgp_bucket *withdraw_bucket; /* Withdrawn routes */
list bucket_queue; /* Queue of buckets to send (struct bgp_bucket) */
@@ -312,8 +316,6 @@ struct bgp_channel {
HASH(struct bgp_prefix) prefix_hash; /* Prefixes to be sent */
slab *prefix_slab; /* Slab holding prefix nodes */
- rtable *igp_table_ip4; /* Table for recursive IPv4 next hop lookups */
- rtable *igp_table_ip6; /* Table for recursive IPv6 next hop lookups */
ip_addr next_hop_addr; /* Local address for NEXT_HOP attribute */
ip_addr link_addr; /* Link-local version of next_hop_addr */
diff --git a/proto/ospf/config.Y b/proto/ospf/config.Y
index b89584e1..36fbd5f1 100644
--- a/proto/ospf/config.Y
+++ b/proto/ospf/config.Y
@@ -199,7 +199,7 @@ CF_KEYWORDS(ELIGIBLE, POLL, NETWORKS, HIDDEN, VIRTUAL, CHECK, LINK, ONLY, BFD)
CF_KEYWORDS(RX, BUFFER, LARGE, NORMAL, STUBNET, HIDDEN, SUMMARY, TAG, EXTERNAL)
CF_KEYWORDS(WAIT, DELAY, LSADB, ECMP, LIMIT, WEIGHT, NSSA, TRANSLATOR, STABILITY)
CF_KEYWORDS(GLOBAL, LSID, ROUTER, SELF, INSTANCE, REAL, NETMASK, TX, PRIORITY, LENGTH)
-CF_KEYWORDS(SECONDARY, MERGE, LSA, SUPPRESSION, MULTICAST, RFC5838)
+CF_KEYWORDS(MERGE, LSA, SUPPRESSION, MULTICAST, RFC5838, VPN, PE)
%type <ld> lsadb_args
%type <i> ospf_variant ospf_af_mc nbma_eligible
@@ -256,6 +256,7 @@ ospf_proto_item:
| ospf_channel { this_proto->net_type = $1->net_type; }
| RFC1583COMPAT bool { OSPF_CFG->rfc1583 = $2; }
| RFC5838 bool { OSPF_CFG->af_ext = $2; if (!ospf_cfg_is_v3()) cf_error("RFC5838 option requires OSPFv3"); }
+ | VPN PE bool { OSPF_CFG->vpn_pe = $3; }
| STUB ROUTER bool { OSPF_CFG->stub_router = $3; }
| ECMP bool { OSPF_CFG->ecmp = $2 ? OSPF_DEFAULT_ECMP_LIMIT : 0; }
| ECMP bool LIMIT expr { OSPF_CFG->ecmp = $2 ? $4 : 0; }
diff --git a/proto/ospf/dbdes.c b/proto/ospf/dbdes.c
index 019aff04..a1559782 100644
--- a/proto/ospf/dbdes.c
+++ b/proto/ospf/dbdes.c
@@ -127,7 +127,7 @@ ospf_prepare_dbdes(struct ospf_proto *p, struct ospf_neighbor *n)
{
struct ospf_dbdes2_packet *ps = (void *) pkt;
ps->iface_mtu = htons(iface_mtu);
- ps->options = ifa->oa->options;
+ ps->options = ifa->oa->options | OPT_O;
ps->imms = 0; /* Will be set later */
ps->ddseq = htonl(n->dds);
length = sizeof(struct ospf_dbdes2_packet);
@@ -162,7 +162,8 @@ ospf_prepare_dbdes(struct ospf_proto *p, struct ospf_neighbor *n)
}
if ((en->lsa.age < LSA_MAXAGE) &&
- lsa_flooding_allowed(en->lsa_type, en->domain, ifa))
+ lsa_flooding_allowed(en->lsa_type, en->domain, ifa) &&
+ lsa_is_acceptable(en->lsa_type, n, p))
{
lsa_hton_hdr(&(en->lsa), lsas + i);
i++;
@@ -237,6 +238,14 @@ ospf_rxmt_dbdes(struct ospf_proto *p, struct ospf_neighbor *n)
ospf_do_send_dbdes(p, n);
}
+void
+ospf_reset_ldd(struct ospf_proto *p UNUSED, struct ospf_neighbor *n)
+{
+ mb_free(n->ldd_buffer);
+ n->ldd_buffer = NULL;
+ n->ldd_bsize = 0;
+}
+
static int
ospf_process_dbdes(struct ospf_proto *p, struct ospf_packet *pkt, struct ospf_neighbor *n)
{
@@ -341,6 +350,16 @@ ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa,
rcv_ddseq = ntohl(ps->ddseq);
}
+ /* Reject packets with non-matching MTU */
+ if ((ifa->type != OSPF_IT_VLINK) &&
+ (rcv_iface_mtu != ifa->iface->mtu) &&
+ (rcv_iface_mtu != 0) && (ifa->iface->mtu != 0))
+ {
+ LOG_PKT("MTU mismatch with nbr %R on %s (remote %d, local %d)",
+ n->rid, ifa->ifname, rcv_iface_mtu, ifa->iface->mtu);
+ return;
+ }
+
switch (n->state)
{
case NEIGHBOR_DOWN:
@@ -356,13 +375,6 @@ ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa,
/* fallthrough */
case NEIGHBOR_EXSTART:
- if ((ifa->type != OSPF_IT_VLINK) &&
- (rcv_iface_mtu != ifa->iface->mtu) &&
- (rcv_iface_mtu != 0) &&
- (ifa->iface->mtu != 0))
- LOG_PKT_WARN("MTU mismatch with nbr %R on %s (remote %d, local %d)",
- n->rid, ifa->ifname, rcv_iface_mtu, ifa->iface->mtu);
-
if (((rcv_imms & DBDES_IMMS) == DBDES_IMMS) &&
(n->rid > p->router_id) &&
(plen == ospf_dbdes_hdrlen(p)))
@@ -430,6 +442,7 @@ ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa,
if (!(n->myimms & DBDES_M) && !(n->imms & DBDES_M))
{
tm_stop(n->dbdes_timer);
+ ospf_reset_ldd(p, n);
ospf_neigh_sm(n, INM_EXDONE);
break;
}
@@ -453,7 +466,11 @@ ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa,
ospf_send_dbdes(p, n);
if (!(n->myimms & DBDES_M) && !(n->imms & DBDES_M))
+ {
+ /* Use dbdes timer to postpone freeing of Last DBDES packet buffer */
+ tm_start(n->dbdes_timer, n->ifa->deadint S);
ospf_neigh_sm(n, INM_EXDONE);
+ }
}
break;
diff --git a/proto/ospf/lsack.c b/proto/ospf/lsack.c
index 251b5e47..9198dd92 100644
--- a/proto/ospf/lsack.c
+++ b/proto/ospf/lsack.c
@@ -106,6 +106,13 @@ ospf_send_lsack_(struct ospf_proto *p, struct ospf_neighbor *n, int queue)
length = ospf_pkt_hdrlen(p) + i * sizeof(struct ospf_lsa_header);
pkt->length = htons(length);
+ if (queue == ACKL_DIRECT)
+ {
+ OSPF_PACKET(ospf_dump_lsack, pkt, "LSACK packet sent to nbr %R on %s", n->rid, ifa->ifname);
+ ospf_send_to(ifa, n->ip);
+ return;
+ }
+
OSPF_PACKET(ospf_dump_lsack, pkt, "LSACK packet sent via %s", ifa->ifname);
if (ifa->type == OSPF_IT_BCAST)
diff --git a/proto/ospf/lsalib.c b/proto/ospf/lsalib.c
index fbfd8d29..7ddf64e3 100644
--- a/proto/ospf/lsalib.c
+++ b/proto/ospf/lsalib.c
@@ -91,6 +91,30 @@ lsa_flooding_allowed(u32 type, u32 domain, struct ospf_iface *ifa)
}
}
+int
+lsa_is_acceptable(u32 type, struct ospf_neighbor *n, struct ospf_proto *p)
+{
+ if (ospf_is_v2(p))
+ {
+ if (type == LSA_T_NSSA)
+ return !!(n->options & OPT_N);
+
+ if (lsa_is_opaque(type))
+ return !!(n->options & OPT_O);
+
+ return 1;
+ }
+ else
+ {
+ /*
+ * There should be check whether receiving router understands that type
+ * of LSA (for LSA types with U-bit == 0). But as we do not support any
+ * optional LSA types, this is not needed yet.
+ */
+
+ return 1;
+ }
+}
static int
unknown_lsa_type(u32 type)
@@ -105,6 +129,9 @@ unknown_lsa_type(u32 type)
case LSA_T_NSSA:
case LSA_T_LINK:
case LSA_T_PREFIX:
+ case LSA_T_RI_LINK:
+ case LSA_T_RI_AREA:
+ case LSA_T_RI_AS:
return 0;
default:
@@ -112,28 +139,47 @@ unknown_lsa_type(u32 type)
}
}
-#define LSA_V2_TMAX 8
-static const u16 lsa_v2_types[LSA_V2_TMAX] =
- {0, LSA_T_RT, LSA_T_NET, LSA_T_SUM_NET, LSA_T_SUM_RT, LSA_T_EXT, 0, LSA_T_NSSA};
+/* Maps OSPFv2 types to OSPFv3 types */
+static const u16 lsa_v2_types[] = {
+ 0, LSA_T_RT, LSA_T_NET, LSA_T_SUM_NET, LSA_T_SUM_RT, LSA_T_EXT, 0, LSA_T_NSSA,
+ 0, LSA_T_OPAQUE_LINK, LSA_T_OPAQUE_AREA, LSA_T_OPAQUE_AS
+};
+
+/* Maps OSPFv2 opaque types to OSPFv3 function codes */
+static const u16 opaque_lsa_types[] = {
+ [LSA_OT_RI] = LSA_T_RI_,
+};
+
+/* Maps (subset of) OSPFv3 function codes to OSPFv2 opaque types */
+static const u8 opaque_lsa_types_inv[] = {
+ [LSA_T_RI_] = LSA_OT_RI,
+};
+
+#define LOOKUP(a, i) ({ uint _i = (i); (_i < ARRAY_SIZE(a)) ? a[_i] : 0; })
void
-lsa_get_type_domain_(u32 itype, struct ospf_iface *ifa, u32 *otype, u32 *domain)
+lsa_get_type_domain_(u32 type, u32 id, struct ospf_iface *ifa, u32 *otype, u32 *domain)
{
if (ospf_is_v2(ifa->oa->po))
{
- itype = itype & LSA_T_V2_MASK;
- itype = (itype < LSA_V2_TMAX) ? lsa_v2_types[itype] : 0;
+ type = type & LSA_T_V2_MASK;
+ type = LOOKUP(lsa_v2_types, type);
+
+ uint code;
+ if (LSA_FUNCTION(type) == LSA_T_OPAQUE_)
+ if (code = LOOKUP(opaque_lsa_types, id >> 24))
+ type = code | LSA_UBIT | LSA_SCOPE(type);
}
else
{
/* For unkown LSAs without U-bit change scope to LSA_SCOPE_LINK */
- if (unknown_lsa_type(itype) && !(itype & LSA_UBIT))
- itype = itype & ~LSA_SCOPE_MASK;
+ if (unknown_lsa_type(type) && !(type & LSA_UBIT))
+ type = type & ~LSA_SCOPE_MASK;
}
- *otype = itype;
+ *otype = type;
- switch (LSA_SCOPE(itype))
+ switch (LSA_SCOPE(type))
{
case LSA_SCOPE_LINK:
*domain = ifa->iface_id;
@@ -150,6 +196,12 @@ lsa_get_type_domain_(u32 itype, struct ospf_iface *ifa, u32 *otype, u32 *domain)
}
}
+u32
+lsa_get_opaque_type(u32 type)
+{
+ return LOOKUP(opaque_lsa_types_inv, LSA_FUNCTION(type));
+}
+
void
lsa_generate_checksum(struct ospf_lsa_header *lsa, const u8 *body)
@@ -284,9 +336,10 @@ lsa_parse_sum_net(struct top_hash_entry *en, int ospf2, int af, net_addr *net, u
{
if (ospf2)
{
+ uint opts = lsa_get_options(&en->lsa);
struct ospf_lsa_sum2 *ls = en->lsa_body;
net_fill_ip4(net, ip4_from_u32(en->lsa.id & ls->netmask), u32_masklen(ls->netmask));
- *pxopts = 0;
+ *pxopts = (opts & OPT_DN) ? OPT_PX_DN : 0;
*metric = ls->metric & LSA_METRIC_MASK;
}
else
@@ -334,6 +387,7 @@ lsa_parse_ext(struct top_hash_entry *en, int ospf2, int af, struct ospf_lsa_ext_
rt->tag = ext->tag;
rt->propagate = lsa_get_options(&en->lsa) & OPT_P;
+ rt->downwards = lsa_get_options(&en->lsa) & OPT_DN;
}
else
{
@@ -350,6 +404,7 @@ lsa_parse_ext(struct top_hash_entry *en, int ospf2, int af, struct ospf_lsa_ext_
rt->tag = (ext->metric & LSA_EXT3_TBIT) ? *buf++ : 0;
rt->propagate = rt->pxopts & OPT_PX_P;
+ rt->downwards = rt->pxopts & OPT_PX_DN;
}
}
@@ -548,6 +603,17 @@ lsa_validate_prefix(struct ospf_lsa_header *lsa, struct ospf_lsa_prefix *body)
return lsa_validate_pxlist(lsa, body->pxcount, sizeof(struct ospf_lsa_prefix), (u8 *) body);
}
+static int
+lsa_validate_ri(struct ospf_lsa_header *lsa UNUSED, struct ospf_lsa_net *body UNUSED)
+{
+ /*
+ * There should be proper validation. But we do not really process RI LSAs, so
+ * we can just accept them like another unknown opaque LSAs.
+ */
+
+ return 1;
+}
+
/**
* lsa_validate - check whether given LSA is valid
@@ -577,6 +643,14 @@ lsa_validate(struct ospf_lsa_header *lsa, u32 lsa_type, int ospf2, void *body)
case LSA_T_EXT:
case LSA_T_NSSA:
return lsa_validate_ext2(lsa, body);
+ case LSA_T_RI_LINK:
+ case LSA_T_RI_AREA:
+ case LSA_T_RI_AS:
+ return lsa_validate_ri(lsa, body);
+ case LSA_T_OPAQUE_LINK:
+ case LSA_T_OPAQUE_AREA:
+ case LSA_T_OPAQUE_AS:
+ return 1; /* Unknown Opaque LSAs */
default:
return 0; /* Should not happen, unknown LSAs are already rejected */
}
@@ -600,6 +674,10 @@ lsa_validate(struct ospf_lsa_header *lsa, u32 lsa_type, int ospf2, void *body)
return lsa_validate_link(lsa, body);
case LSA_T_PREFIX:
return lsa_validate_prefix(lsa, body);
+ case LSA_T_RI_LINK:
+ case LSA_T_RI_AREA:
+ case LSA_T_RI_AS:
+ return lsa_validate_ri(lsa, body);
default:
return 1; /* Unknown LSAs are OK in OSPFv3 */
}
diff --git a/proto/ospf/lsalib.h b/proto/ospf/lsalib.h
index fca7faec..af8901ce 100644
--- a/proto/ospf/lsalib.h
+++ b/proto/ospf/lsalib.h
@@ -36,16 +36,21 @@ struct ospf_lsa_rt_walk {
};
-void lsa_get_type_domain_(u32 itype, struct ospf_iface *ifa, u32 *otype, u32 *domain);
+void lsa_get_type_domain_(u32 type, u32 id, struct ospf_iface *ifa, u32 *otype, u32 *domain);
static inline void lsa_get_type_domain(struct ospf_lsa_header *lsa, struct ospf_iface *ifa, u32 *otype, u32 *domain)
-{ lsa_get_type_domain_(lsa->type_raw, ifa, otype, domain); }
+{ lsa_get_type_domain_(lsa->type_raw, lsa->id, ifa, otype, domain); }
static inline u32 lsa_get_etype(struct ospf_lsa_header *h, struct ospf_proto *p)
{ return ospf_is_v2(p) ? (h->type_raw & LSA_T_V2_MASK) : h->type_raw; }
+/* Assuming OSPFv2 - All U-bit LSAs are mapped to Opaque LSAs */
+static inline int lsa_is_opaque(u32 type)
+{ return !!(type & LSA_UBIT); }
+u32 lsa_get_opaque_type(u32 type);
int lsa_flooding_allowed(u32 type, u32 domain, struct ospf_iface *ifa);
+int lsa_is_acceptable(u32 type, struct ospf_neighbor *n, struct ospf_proto *p);
void lsa_generate_checksum(struct ospf_lsa_header *lsa, const u8 *body);
u16 lsa_verify_checksum(const void *lsa_n, int lsa_len);
diff --git a/proto/ospf/lsreq.c b/proto/ospf/lsreq.c
index 657c0247..45af7533 100644
--- a/proto/ospf/lsreq.c
+++ b/proto/ospf/lsreq.c
@@ -125,7 +125,7 @@ ospf_receive_lsreq(struct ospf_packet *pkt, struct ospf_iface *ifa,
id = ntohl(lsrs[i].id);
rt = ntohl(lsrs[i].rt);
- lsa_get_type_domain_(ntohl(lsrs[i].type), ifa, &type, &domain);
+ lsa_get_type_domain_(ntohl(lsrs[i].type), id, ifa, &type, &domain);
DBG("Processing requested LSA: Type: %04x, Id: %R, Rt: %R\n", type, id, rt);
diff --git a/proto/ospf/lsupd.c b/proto/ospf/lsupd.c
index a98c9098..7318b751 100644
--- a/proto/ospf/lsupd.c
+++ b/proto/ospf/lsupd.c
@@ -171,7 +171,8 @@ ospf_add_flushed_to_lsrt(struct ospf_proto *p, struct ospf_neighbor *n)
WALK_SLIST(en, p->lsal)
if ((en->lsa.age == LSA_MAXAGE) && (en->lsa_body != NULL) &&
- lsa_flooding_allowed(en->lsa_type, en->domain, n->ifa))
+ lsa_flooding_allowed(en->lsa_type, en->domain, n->ifa) &&
+ lsa_is_acceptable(en->lsa_type, n, p))
ospf_lsa_lsrt_up(en, n);
/* If we found any flushed LSA, we send them ASAP */
@@ -287,9 +288,9 @@ ospf_flood_lsa(struct ospf_proto *p, struct top_hash_entry *en, struct ospf_neig
if (n == from)
continue;
- /* In OSPFv3, there should be check whether receiving router understand
- that type of LSA (for LSA types with U-bit == 0). But as we do not support
- any optional LSA types, this is not needed yet */
+ /* Check whether optional LSAs are supported by neighbor */
+ if (!lsa_is_acceptable(en->lsa_type, n, p))
+ continue;
/* 13.3 (1d) - add LSA to the link state retransmission list */
ospf_lsa_lsrt_up(en, n);
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c
index 7ce682b0..c143b130 100644
--- a/proto/ospf/neighbor.c
+++ b/proto/ospf/neighbor.c
@@ -176,8 +176,8 @@ ospf_neigh_chstate(struct ospf_neighbor *n, u8 state)
if (state == NEIGHBOR_EXSTART)
{
- /* First time adjacency */
- if (n->adj == 0)
+ /* First time adjacency attempt */
+ if (old_state < NEIGHBOR_EXSTART)
n->dds = random_u32();
n->dds++;
@@ -608,6 +608,12 @@ dbdes_timer_hook(timer *t)
if ((n->state == NEIGHBOR_EXCHANGE) && (n->myimms & DBDES_MS))
ospf_rxmt_dbdes(p, n);
+
+ if ((n->state > NEIGHBOR_LOADING) && !(n->myimms & DBDES_MS))
+ {
+ ospf_reset_ldd(p, n);
+ tm_stop(n->dbdes_timer);
+ }
}
static void
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c
index a5e22269..ef2a0df4 100644
--- a/proto/ospf/ospf.c
+++ b/proto/ospf/ospf.c
@@ -92,11 +92,14 @@
* - RFC 2328 - main OSPFv2 standard
* - RFC 5340 - main OSPFv3 standard
* - RFC 3101 - OSPFv2 NSSA areas
+ * - RFC 4576 - OSPFv2 VPN loop prevention
+ * - RFC 5250 - OSPFv2 Opaque LSAs
* - RFC 5709 - OSPFv2 HMAC-SHA Cryptographic Authentication
* - RFC 5838 - OSPFv3 Support of Address Families
* - RFC 6549 - OSPFv2 Multi-Instance Extensions
* - RFC 6987 - OSPF Stub Router Advertisement
* - RFC 7166 - OSPFv3 Authentication Trailer
+ * - RFC 7770 - OSPF Router Information LSA
*/
#include <stdlib.h>
@@ -239,7 +242,9 @@ ospf_start(struct proto *P)
p->rfc1583 = c->rfc1583;
p->stub_router = c->stub_router;
p->merge_external = c->merge_external;
+ p->instance_id = c->instance_id;
p->asbr = c->asbr;
+ p->vpn_pe = c->vpn_pe;
p->ecmp = c->ecmp;
p->tick = c->tick;
p->disp_timer = tm_new_init(P->pool, ospf_disp, p, p->tick S, 0);
@@ -594,17 +599,25 @@ ospf_area_reconfigure(struct ospf_area *oa, struct ospf_area_config *nac)
{
struct ospf_proto *p = oa->po;
struct ospf_area_config *oac = oa->ac;
- struct ospf_iface *ifa;
+ struct ospf_iface *ifa, *ifx;
oa->ac = nac;
oa->options = nac->type | ospf_opts(p);
if (nac->type != oac->type)
{
- /* Force restart of area interfaces */
- WALK_LIST(ifa, p->iface_list)
+ log(L_INFO "%s: Restarting area %R", p->p.name, oa->areaid);
+
+ /* Remove area interfaces, will be re-added later */
+ WALK_LIST_DELSAFE(ifa, ifx, p->iface_list)
if (ifa->oa == oa)
- ifa->marked = 2;
+ {
+ ospf_iface_shutdown(ifa);
+ ospf_iface_remove(ifa);
+ }
+
+ /* Flush area LSAs */
+ ospf_flush_area(p, oa->areaid);
}
/* Handle net_list */
@@ -634,7 +647,7 @@ ospf_reconfigure(struct proto *P, struct proto_config *CF)
struct ospf_proto *p = (struct ospf_proto *) P;
struct ospf_config *old = (struct ospf_config *) (P->cf);
struct ospf_config *new = (struct ospf_config *) CF;
- struct ospf_area_config *nac;
+ struct ospf_area_config *oac, *nac;
struct ospf_area *oa, *oax;
struct ospf_iface *ifa, *ifx;
struct ospf_iface_patt *ip;
@@ -648,9 +661,24 @@ ospf_reconfigure(struct proto *P, struct proto_config *CF)
if (p->rfc1583 != new->rfc1583)
return 0;
+ if (p->instance_id != new->instance_id)
+ return 0;
+
if (old->abr != new->abr)
return 0;
+ if (p->areano == 1)
+ {
+ oac = HEAD(old->area_list);
+ nac = HEAD(new->area_list);
+
+ if (oac->type != nac->type)
+ return 0;
+ }
+
+ if (old->vpn_pe != new->vpn_pe)
+ return 0;
+
if ((p->af_ext != new->af_ext) || (p->af_mc != new->af_mc))
return 0;
@@ -663,7 +691,7 @@ ospf_reconfigure(struct proto *P, struct proto_config *CF)
p->ecmp = new->ecmp;
p->tick = new->tick;
p->disp_timer->recurrent = p->tick S;
- tm_start(p->disp_timer, 100 MS);
+ tm_start(p->disp_timer, 10 MS);
/* Mark all areas and ifaces */
WALK_LIST(oa, p->area_list)
diff --git a/proto/ospf/ospf.h b/proto/ospf/ospf.h
index ff55621a..7fac47c8 100644
--- a/proto/ospf/ospf.h
+++ b/proto/ospf/ospf.h
@@ -96,6 +96,7 @@ struct ospf_config
u8 instance_id_set;
u8 abr;
u8 asbr;
+ u8 vpn_pe;
int ecmp;
list area_list; /* list of area configs (struct ospf_area_config) */
list vlink_list; /* list of configured vlinks (struct ospf_iface_patt) */
@@ -223,7 +224,9 @@ struct ospf_proto
u8 rfc1583; /* RFC1583 compatibility */
u8 stub_router; /* Do not forward transit traffic */
u8 merge_external; /* Should i merge external routes? */
+ u8 instance_id; /* Differentiate between more OSPF instances */
u8 asbr; /* May i originate any ext/NSSA lsa? */
+ u8 vpn_pe; /* Should we do VPN PE specific behavior (RFC 4577)? */
u8 ecmp; /* Maximal number of nexthops in ECMP route, or 0 */
u64 csn64; /* Last used cryptographic sequence number */
struct ospf_area *backbone; /* If exists */
@@ -352,7 +355,6 @@ struct ospf_neighbor
u32 rid; /* Router ID */
ip_addr ip; /* IP of it's interface */
u8 priority; /* Priority */
- u8 adj; /* built adjacency? */
u32 options; /* Options received */
/* Entries dr and bdr store IP addresses in OSPFv2 and router IDs in
@@ -466,6 +468,8 @@ struct ospf_neighbor
#define OPT_L_V2 0x0010 /* OSPFv2, link-local signaling, not used */
#define OPT_R 0x0010 /* OSPFv3, originator is active router */
#define OPT_DC 0x0020 /* Related to demand circuits, not used */
+#define OPT_O 0x0040 /* OSPFv2 Opaque LSA (RFC 5250) */
+#define OPT_DN 0x0080 /* OSPFv2 VPN loop prevention (RFC 4576)*/
#define OPT_AF 0x0100 /* OSPFv3 Address Families (RFC 5838) */
#define OPT_L_V3 0x0200 /* OSPFv3, link-local signaling */
#define OPT_AT 0x0400 /* OSPFv3, authentication trailer */
@@ -541,25 +545,44 @@ struct ospf_auth3
#define DBDES_IMMS (DBDES_I | DBDES_M | DBDES_MS)
-#define LSA_T_RT 0x2001
-#define LSA_T_NET 0x2002
-#define LSA_T_SUM_NET 0x2003
-#define LSA_T_SUM_RT 0x2004
-#define LSA_T_EXT 0x4005
-#define LSA_T_NSSA 0x2007
-#define LSA_T_LINK 0x0008
-#define LSA_T_PREFIX 0x2009
-
-#define LSA_T_V2_MASK 0x00ff
-
-#define LSA_UBIT 0x8000
-
-#define LSA_SCOPE_LINK 0x0000
-#define LSA_SCOPE_AREA 0x2000
-#define LSA_SCOPE_AS 0x4000
-#define LSA_SCOPE_RES 0x6000
-#define LSA_SCOPE_MASK 0x6000
-#define LSA_SCOPE(type) ((type) & LSA_SCOPE_MASK)
+/* OSPFv3 LSA Types / LSA Function Codes */
+/* https://www.iana.org/assignments/ospfv3-parameters/ospfv3-parameters.xhtml#ospfv3-parameters-3 */
+#define LSA_T_RT 0x2001
+#define LSA_T_NET 0x2002
+#define LSA_T_SUM_NET 0x2003
+#define LSA_T_SUM_RT 0x2004
+#define LSA_T_EXT 0x4005
+#define LSA_T_NSSA 0x2007
+#define LSA_T_LINK 0x0008
+#define LSA_T_PREFIX 0x2009
+#define LSA_T_RI_ 0x000C
+#define LSA_T_RI_LINK 0x800C
+#define LSA_T_RI_AREA 0xA00C
+#define LSA_T_RI_AS 0xC00C
+#define LSA_T_OPAQUE_ 0x1FFF
+#define LSA_T_OPAQUE_LINK 0x9FFF
+#define LSA_T_OPAQUE_AREA 0xBFFF
+#define LSA_T_OPAQUE_AS 0xDFFF
+
+#define LSA_T_V2_OPAQUE_ 0x0009
+#define LSA_T_V2_MASK 0x00ff
+
+/* OSPFv2 Opaque LSA Types */
+/* https://www.iana.org/assignments/ospf-opaque-types/ospf-opaque-types.xhtml#ospf-opaque-types-2 */
+#define LSA_OT_RI 0x04
+
+#define LSA_FUNCTION_MASK 0x1FFF
+#define LSA_FUNCTION(type) ((type) & LSA_FUNCTION_MASK)
+
+#define LSA_UBIT 0x8000
+
+#define LSA_SCOPE_LINK 0x0000
+#define LSA_SCOPE_AREA 0x2000
+#define LSA_SCOPE_AS 0x4000
+#define LSA_SCOPE_RES 0x6000
+#define LSA_SCOPE_MASK 0x6000
+#define LSA_SCOPE(type) ((type) & LSA_SCOPE_MASK)
+#define LSA_SCOPE_ORDER(type) (((type) >> 13) & 0x3)
#define LSA_MAXAGE 3600 /* 1 hour */
@@ -586,9 +609,20 @@ struct ospf_auth3
#define LSA_EXT2_TOS 0x7F000000
#define LSA_EXT2_EBIT 0x80000000
-#define LSA_EXT3_EBIT 0x4000000
-#define LSA_EXT3_FBIT 0x2000000
-#define LSA_EXT3_TBIT 0x1000000
+#define LSA_EXT3_EBIT 0x04000000
+#define LSA_EXT3_FBIT 0x02000000
+#define LSA_EXT3_TBIT 0x01000000
+
+/* OSPF Router Information (RI) TLVs */
+/* https://www.iana.org/assignments/ospf-parameters/ospf-parameters.xhtml#ri-tlv */
+#define LSA_RI_RIC 1
+#define LSA_RI_RFC 2
+
+/* OSPF Router Informational Capability Bits */
+/* https://www.iana.org/assignments/ospf-parameters/ospf-parameters.xhtml#router-informational-capability */
+#define LSA_RIC_GR_CAPABLE 0
+#define LSA_RIC_GR_HELPER 1
+#define LSA_RIC_STUB_ROUTER 2
struct ospf_lsa_header
@@ -705,7 +739,7 @@ struct ospf_lsa_ext_local
{
net_addr net;
ip_addr fwaddr;
- u32 metric, ebit, fbit, tag, propagate;
+ u32 metric, ebit, fbit, tag, propagate, downwards;
u8 pxopts;
};
@@ -731,6 +765,18 @@ struct ospf_lsa_prefix
u32 rest[];
};
+struct ospf_tlv
+{
+#ifdef CPU_BIG_ENDIAN
+ u16 type;
+ u16 length;
+#else
+ u16 length;
+ u16 type;
+#endif
+ u32 data[];
+};
+
static inline uint
lsa_net_count(struct ospf_lsa_header *lsa)
@@ -998,6 +1044,7 @@ uint ospf_hello3_options(struct ospf_packet *pkt);
/* dbdes.c */
void ospf_send_dbdes(struct ospf_proto *p, struct ospf_neighbor *n);
void ospf_rxmt_dbdes(struct ospf_proto *p, struct ospf_neighbor *n);
+void ospf_reset_ldd(struct ospf_proto *p, struct ospf_neighbor *n);
void ospf_receive_dbdes(struct ospf_packet *pkt, struct ospf_iface *ifa, struct ospf_neighbor *n);
uint ospf_dbdes3_options(struct ospf_packet *pkt);
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c
index 4549ce2a..c580d06e 100644
--- a/proto/ospf/rt.c
+++ b/proto/ospf/rt.c
@@ -782,6 +782,10 @@ ospf_rt_sum(struct ospf_area *oa)
if (pxopts & OPT_PX_NU)
continue;
+ /* RFC 4576 4 - do not use LSAs with DN-bit on PE-routers */
+ if (p->vpn_pe && (pxopts & OPT_PX_DN))
+ continue;
+
options = 0;
type = ORT_NET;
}
@@ -879,6 +883,10 @@ ospf_rt_sum_tr(struct ospf_area *oa)
if (pxopts & OPT_PX_NU)
continue;
+ /* RFC 4576 4 - do not use LSAs with DN-bit on PE-routers */
+ if (p->vpn_pe && (pxopts & OPT_PX_DN))
+ continue;
+
re = fib_find(&p->rtf, &net);
}
else // en->lsa_type == LSA_T_SUM_RT
@@ -1104,11 +1112,11 @@ check_nssa_lsa(struct ospf_proto *p, ort *nf)
/* RFC 3101 3.2 (3) - originate the aggregated address range */
if (anet && anet->active && !anet->hidden && oa->translate)
ospf_originate_ext_lsa(p, NULL, nf, LSA_M_RTCALC, anet->metric,
- (anet->metric & LSA_EXT3_EBIT), IPA_NONE, anet->tag, 0);
+ (anet->metric & LSA_EXT3_EBIT), IPA_NONE, anet->tag, 0, 0);
/* RFC 3101 3.2 (2) - originate the same network */
else if (decide_nssa_lsa(p, nf, &rt))
- ospf_originate_ext_lsa(p, NULL, nf, LSA_M_RTCALC, rt.metric, rt.ebit, rt.fwaddr, rt.tag, 0);
+ ospf_originate_ext_lsa(p, NULL, nf, LSA_M_RTCALC, rt.metric, rt.ebit, rt.fwaddr, rt.tag, 0, 0);
}
/* RFC 2328 16.7. p2 - find new/lost vlink endpoints */
@@ -1238,7 +1246,7 @@ ospf_rt_abr1(struct ospf_proto *p)
if (oa_is_nssa(oa) && oa->ac->default_nssa)
ospf_originate_ext_lsa(p, oa, default_nf, LSA_M_RTCALC, oa->ac->default_cost,
- (oa->ac->default_cost & LSA_EXT3_EBIT), IPA_NONE, 0, 0);
+ (oa->ac->default_cost & LSA_EXT3_EBIT), IPA_NONE, 0, 0, 0);
/* RFC 2328 16.4. (3) - precompute preferred ASBR entries */
if (oa_is_ext(oa))
@@ -1474,6 +1482,10 @@ ospf_ext_spf(struct ospf_proto *p)
if (rt.pxopts & OPT_PX_NU)
continue;
+ /* RFC 4576 4 - do not use LSAs with DN-bit on PE-routers */
+ if (p->vpn_pe && rt.downwards)
+ continue;
+
/* 16.4. (3) */
/* If there are more areas, we already precomputed preferred ASBR
entries in ospf_rt_abr1() and stored them in the backbone
diff --git a/proto/ospf/topology.c b/proto/ospf/topology.c
index e58f1375..7d5deca0 100644
--- a/proto/ospf/topology.c
+++ b/proto/ospf/topology.c
@@ -224,12 +224,17 @@ ospf_do_originate_lsa(struct ospf_proto *p, struct top_hash_entry *en, void *lsa
/*
* lsa.type_raw is initialized by ospf_hash_get() to OSPFv3 LSA type.
* lsa_set_options() implicitly converts it to OSPFv2 LSA type, assuming that
- * old type is just new type masked by 0xff. That is not universally true,
- * but it holds for all OSPFv2 types currently supported by BIRD.
+ * old type is just new type masked by 0xff. That holds for most OSPFv2 types,
+ * but we have to fix it for opaque LSAs.
*/
if (ospf_is_v2(p))
+ {
+ if (lsa_is_opaque(en->lsa_type))
+ en->lsa.type_raw = LSA_T_V2_OPAQUE_ + LSA_SCOPE_ORDER(en->lsa_type);
+
lsa_set_options(&en->lsa, lsa_opts);
+ }
mb_free(en->lsa_body);
en->lsa_body = lsa_body;
@@ -273,6 +278,10 @@ ospf_originate_lsa(struct ospf_proto *p, struct ospf_new_lsa *lsa)
u16 lsa_blen = p->lsab_used;
u16 lsa_length = sizeof(struct ospf_lsa_header) + lsa_blen;
+ /* For OSPFv2 Opaque LSAs, LS ID consists of Opaque Type and Opaque ID */
+ if (ospf_is_v2(p) && lsa_is_opaque(lsa->type))
+ lsa->id |= (u32) lsa_get_opaque_type(lsa->type) << 24;
+
en = ospf_hash_get(p->gr, lsa->dom, lsa->id, p->router_id, lsa->type);
if (!SNODE_VALID(en))
@@ -1088,7 +1097,7 @@ prepare_ext2_lsa_body(struct ospf_proto *p, uint pxlen,
static inline void
prepare_ext3_lsa_body(struct ospf_proto *p, ort *nf,
- u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit)
+ u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit, int dn)
{
struct ospf_lsa_ext3 *ext;
int bsize = sizeof(struct ospf_lsa_ext3)
@@ -1100,7 +1109,8 @@ prepare_ext3_lsa_body(struct ospf_proto *p, ort *nf,
ext->metric = metric & LSA_METRIC_MASK;
u32 *buf = ext->rest;
- buf = ospf3_put_prefix(buf, nf->fn.addr, pbit ? OPT_PX_P : 0, 0);
+ uint flags = (pbit ? OPT_PX_P : 0) | (dn ? OPT_PX_DN : 0);
+ buf = ospf3_put_prefix(buf, nf->fn.addr, flags, 0);
if (ebit)
ext->metric |= LSA_EXT3_EBIT;
@@ -1138,21 +1148,21 @@ prepare_ext3_lsa_body(struct ospf_proto *p, ort *nf,
*/
void
ospf_originate_ext_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, u8 mode,
- u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit)
+ u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit, int dn)
{
struct ospf_new_lsa lsa = {
.type = oa ? LSA_T_NSSA : LSA_T_EXT,
.mode = mode, /* LSA_M_EXPORT or LSA_M_RTCALC */
.dom = oa ? oa->areaid : 0,
.id = ort_to_lsaid(p, nf),
- .opts = oa ? (pbit ? OPT_P : 0) : OPT_E,
+ .opts = (oa ? (pbit ? OPT_P : 0) : OPT_E) | (dn ? OPT_DN : 0),
.nf = nf
};
if (ospf_is_v2(p))
prepare_ext2_lsa_body(p, nf->fn.addr->pxlen, metric, ebit, fwaddr, tag);
else
- prepare_ext3_lsa_body(p, nf, metric, ebit, fwaddr, tag, oa && pbit);
+ prepare_ext3_lsa_body(p, nf, metric, ebit, fwaddr, tag, oa && pbit, dn);
ospf_originate_lsa(p, &lsa);
}
@@ -1328,7 +1338,7 @@ ospf_rt_notify(struct proto *P, struct channel *ch UNUSED, net *n, rte *new, rte
}
nf = fib_get(&p->rtf, n->n.addr);
- ospf_originate_ext_lsa(p, oa, nf, LSA_M_EXPORT, metric, ebit, fwd, tag, 1);
+ ospf_originate_ext_lsa(p, oa, nf, LSA_M_EXPORT, metric, ebit, fwd, tag, 1, p->vpn_pe);
nf->external_rte = 1;
}
@@ -1658,6 +1668,41 @@ ospf_originate_prefix_net_lsa(struct ospf_proto *p, struct ospf_iface *ifa)
ifa->pxn_lsa = ospf_originate_lsa(p, &lsa);
}
+
+/*
+ * Router Information LSA handling
+ * Type = LSA_T_RI_AREA, opaque type = LSA_OT_RI
+ */
+
+void
+ospf_add_ric_tlv(struct ospf_proto *p)
+{
+ struct ospf_tlv *ri = lsab_allocz(p, sizeof(struct ospf_tlv) + sizeof(u32));
+ ri->type = LSA_RI_RIC;
+ ri->length = sizeof(struct ospf_tlv) + sizeof(u32);
+
+ BIT32R_SET(ri->data, LSA_RIC_STUB_ROUTER);
+}
+
+void
+ospf_originate_ri_lsa(struct ospf_proto *p, struct ospf_area *oa)
+{
+ struct ospf_new_lsa lsa = {
+ .type = LSA_T_RI_AREA,
+ .dom = oa->areaid,
+ .id = p->instance_id
+ };
+
+ ospf_add_ric_tlv(p);
+
+ ospf_originate_lsa(p, &lsa);
+}
+
+
+/*
+ * Generic topology code
+ */
+
static inline int breaks_minlsinterval(struct top_hash_entry *en)
{ return en && (en->lsa.age < LSA_MAXAGE) && (lsa_inst_age(en) < MINLSINTERVAL); }
@@ -1692,6 +1737,7 @@ ospf_update_topology(struct ospf_proto *p)
ospf_originate_rt_lsa(p, oa);
ospf_originate_prefix_rt_lsa(p, oa);
+ // ospf_originate_ri_lsa(p, oa);
oa->update_rt_lsa = 0;
}
}
diff --git a/proto/ospf/topology.h b/proto/ospf/topology.h
index 54ec9ccf..fd70239d 100644
--- a/proto/ospf/topology.h
+++ b/proto/ospf/topology.h
@@ -186,7 +186,7 @@ static inline void ospf_flush2_lsa(struct ospf_proto *p, struct top_hash_entry *
void ospf_originate_sum_net_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, int metric);
void ospf_originate_sum_rt_lsa(struct ospf_proto *p, struct ospf_area *oa, u32 drid, int metric, u32 options);
-void ospf_originate_ext_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, u8 mode, u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit);
+void ospf_originate_ext_lsa(struct ospf_proto *p, struct ospf_area *oa, ort *nf, u8 mode, u32 metric, u32 ebit, ip_addr fwaddr, u32 tag, int pbit, int dn);
void ospf_rt_notify(struct proto *P, struct channel *ch, net *n, rte *new, rte *old);
void ospf_update_topology(struct ospf_proto *p);
diff --git a/proto/perf/config.Y b/proto/perf/config.Y
index 617b2233..60a96c11 100644
--- a/proto/perf/config.Y
+++ b/proto/perf/config.Y
@@ -38,6 +38,7 @@ perf_proto_start: proto_start PERF
perf_proto:
perf_proto_start proto_name '{'
| perf_proto perf_proto_item ';'
+ | perf_proto proto_item ';'
;
perf_proto_item:
diff --git a/proto/perf/perf.c b/proto/perf/perf.c
index 6741f7cb..8412254a 100644
--- a/proto/perf/perf.c
+++ b/proto/perf/perf.c
@@ -29,7 +29,7 @@
#include <stdlib.h>
#include <time.h>
-#define PLOG(msg, ...) log(L_INFO "Perf %s " msg, p->p.name, ##__VA_ARGS__)
+#define PLOG(msg, ...) log(L_INFO "Perf %s %s " msg, BIRD_VERSION, p->p.name, ##__VA_ARGS__)
static inline void
random_data(void *p, uint len)
@@ -206,6 +206,7 @@ perf_loop(void *data)
p->exp++;
}
+ rt_schedule_prune(P->main_channel->table);
ev_schedule(p->loop);
}
diff --git a/sysdep/config.h b/sysdep/config.h
index 96db1e7d..ab5f12a6 100644
--- a/sysdep/config.h
+++ b/sysdep/config.h
@@ -13,7 +13,7 @@
#ifdef GIT_LABEL
#define BIRD_VERSION XSTR1(GIT_LABEL)
#else
-#define BIRD_VERSION "2.0.3"
+#define BIRD_VERSION "2.0.4"
#endif
/* Include parameters determined by configure script */