summaryrefslogtreecommitdiffstats
path: root/Master/Agile Software Development/TestApp
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Master/Agile Software Development/TestApp
downloadStudium-master.tar.gz
Studium-master.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Master/Agile Software Development/TestApp')
-rw-r--r--Master/Agile Software Development/TestApp/build.xml69
-rw-r--r--Master/Agile Software Development/TestApp/dist/README.TXT33
-rw-r--r--Master/Agile Software Development/TestApp/dist/TestApp.jarbin0 -> 29360 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/filterbuilder.jarbin0 -> 67095 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/forms-1.2.1.jarbin0 -> 105765 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVUI.exebin0 -> 98304 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVedit.exebin0 -> 1315328 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/acyclic.exebin0 -> 40112 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/bcomps.exebin0 -> 50872 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/ccomps.exebin0 -> 60010 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/circo.exebin0 -> 41991 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/comdlg32.ocxbin0 -> 140488 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/config184
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/diffimg.exebin0 -> 567708 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dijkstra.exebin0 -> 47671 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot.exebin0 -> 41991 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot2gxl.exebin0 -> 105410 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dotty.exebin0 -> 398981 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cache.exebin0 -> 28565 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cat.exebin0 -> 14848 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-list.exebin0 -> 23770 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-match.exebin0 -> 11776 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fdp.exebin0 -> 41991 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gc.exebin0 -> 49758 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gv2gxl.exebin0 -> 105410 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvcolor.exebin0 -> 63795 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpack.exebin0 -> 89428 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpr.exebin0 -> 1087012 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2dot.exebin0 -> 105410 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2gv.exebin0 -> 105410 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/iconv.dllbin0 -> 892928 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/intl.dllbin0 -> 45056 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/jpeg62.dllbin0 -> 128512 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lefty.exebin0 -> 1094761 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcairo-2.dllbin0 -> 412672 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcdt-4.dllbin0 -> 58206 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcgraph-4.dllbin0 -> 209388 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libexpat.dllbin0 -> 143360 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfontconfig-1.dllbin0 -> 194048 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfreetype-6.dllbin0 -> 443904 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgdk_pixbuf-2.0-0.dllbin0 -> 86528 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libglib-2.0-0.dllbin0 -> 656896 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgmodule-2.0-0.dllbin0 -> 14848 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgobject-2.0-0.dllbin0 -> 221184 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgraph-4.dllbin0 -> 130224 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvc-4.dllbin0 -> 1546369 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_core-5.dllbin0 -> 201190 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_dot_layout-5.dllbin0 -> 300891 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_gd-5.dllbin0 -> 1115887 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_neato_layout-5.dllbin0 -> 635941 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_pango-5.dllbin0 -> 143159 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libltdl-3.dllbin0 -> 470203 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpango-1.0-0.dllbin0 -> 243712 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangocairo-1.0-0.dllbin0 -> 39936 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangoft2-1.0-0.dllbin0 -> 184320 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangowin32-1.0-0.dllbin0 -> 43008 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpathplan-4.dllbin0 -> 86993 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpng12.dllbin0 -> 145920 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libxml2.dllbin0 -> 1291264 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lneato.exebin0 -> 399493 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/mm2gv.exebin0 -> 166446 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/neato.exebin0 -> 41991 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/nop.exebin0 -> 41214 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/props.txt97
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/prune.exebin0 -> 51183 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/sccmap.exebin0 -> 51528 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/settings.ini7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/test.dot10
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/tred.exebin0 -> 43778 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/twopi.exebin0 -> 41991 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/unflatten.exebin0 -> 46518 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/zlib1.dllbin0 -> 59904 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-autohint.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-no-sub-pixel.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-bgr.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-rgb.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vbgr.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vrgb.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-unhinted.conf9
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-fix-globaladvance.conf29
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-lohit-gujarati.conf11
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-unhint-small-vera.conf49
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-amt-aliases.conf21
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-urw-aliases.conf52
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/40-generic.conf66
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/49-sansserif.conf21
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/50-user.conf7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/51-local.conf7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/60-latin.conf42
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-fonts-persian.conf539
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-nonlatin.conf38
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/69-unifont.conf24
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-no-bitmaps.conf13
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-yes-bitmaps.conf13
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/80-delicious.conf20
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/90-synthetic.conf64
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/README48
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-fix-globaladvance.conf29
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-lohit-gujarati.conf11
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-unhint-small-vera.conf49
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-amt-aliases.conf21
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-urw-aliases.conf52
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/40-generic.conf66
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/49-sansserif.conf21
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/50-user.conf7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/51-local.conf7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/60-latin.conf42
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-fonts-persian.conf539
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-nonlatin.conf38
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/69-unifont.conf24
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/80-delicious.conf20
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/90-synthetic.conf64
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.conf154
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.dtd222
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gdk-pixbuf.loaders114
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtk.immodules36
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtkrc1
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.aliases7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.modules35
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/arith.h102
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cdt.h249
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cgraph.h454
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/color.h57
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/demand_loading.c17
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/dot_builtins.c101
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/geom.h79
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/graph.h222
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.cpp936
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.i388
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvc.h113
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcext.h83
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcjob.h379
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcommon.h42
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin.h67
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_device.h37
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_layout.h36
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_loadimage.h41
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_render.h71
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_textlayout.h36
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/no_demand_loading.c17
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pack.h66
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathgeom.h54
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathplan.h55
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/textpara.h49
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/types.h612
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/usershape.h59
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/include/ltdl.h366
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/box.lefty157
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/def.lefty15
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty.lefty735
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_draw.lefty596
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_edit.lefty593
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_layout.lefty449
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_ui.lefty468
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal.lefty101
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal2.lefty218
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/lefty.psp80
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/slides.lefty109
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/tree.lefty195
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-fc.dllbin0 -> 12288 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-lang.dllbin0 -> 6656 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-fc.dllbin0 -> 10240 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-win32.dllbin0 -> 16384 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hangul-fc.dllbin0 -> 14336 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hebrew-fc.dllbin0 -> 13312 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-fc.dllbin0 -> 26624 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-lang.dllbin0 -> 7680 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-khmer-fc.dllbin0 -> 11776 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-syriac-fc.dllbin0 -> 12288 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-thai-fc.dllbin0 -> 19456 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-tibetan-fc.dllbin0 -> 11264 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcdt.pc10
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcgraph.pc10
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgraph.pc10
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgvc.pc12
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libpathplan.pc10
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/AUTHORS25
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/COPYING213
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/ChangeLog886
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/Dot.ref850
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/NEWS3
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/addingLayout.txt200
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/cpl1.0.txt213
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/fontfaq.txt319
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/FAQ.html1066
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/build.html382
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/gd.html5593
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/index.html70
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mcircle.gifbin0 -> 847 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mdiamond.gifbin0 -> 775 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Msquare.gifbin0 -> 630 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_box.gifbin0 -> 968 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_crow.gifbin0 -> 1007 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_diamond.gifbin0 -> 1001 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_dot.gifbin0 -> 988 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_ediamond.gifbin0 -> 1017 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_empty.gifbin0 -> 1022 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_forward.gifbin0 -> 936 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_halfopen.gifbin0 -> 994 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_inv.gifbin0 -> 970 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invdot.gifbin0 -> 1041 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invempty.gifbin0 -> 994 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invodot.gifbin0 -> 1066 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_lteeoldiamond.gifbin0 -> 1017 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_nohead.gifbin0 -> 936 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_none.gifbin0 -> 936 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_normal.gifbin0 -> 998 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_obox.gifbin0 -> 996 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odiamond.gifbin0 -> 1017 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odot.gifbin0 -> 1014 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_open.gifbin0 -> 1042 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_tee.gifbin0 -> 987 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_box.gifbin0 -> 373 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_crow.gifbin0 -> 400 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_diamond.gifbin0 -> 376 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_dot.gifbin0 -> 378 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_inv.gifbin0 -> 373 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lbox.gifbin0 -> 358 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lcrow.gifbin0 -> 369 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ldiamond.gifbin0 -> 249 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_linv.gifbin0 -> 352 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lnormal.gifbin0 -> 352 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ltee.gifbin0 -> 355 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lvee.gifbin0 -> 369 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_none.gifbin0 -> 219 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_normal.gifbin0 -> 372 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_obox.gifbin0 -> 382 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odiamond.gifbin0 -> 384 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odot.gifbin0 -> 402 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oinv.gifbin0 -> 394 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olbox.gifbin0 -> 361 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oldiamond.gifbin0 -> 366 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olinv.gifbin0 -> 362 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olnormal.gifbin0 -> 362 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_onormal.gifbin0 -> 393 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orbox.gifbin0 -> 362 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ordiamond.gifbin0 -> 363 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orinv.gifbin0 -> 362 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ornormal.gifbin0 -> 361 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rbox.gifbin0 -> 355 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rcrow.gifbin0 -> 368 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rdiamond.gifbin0 -> 247 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rinv.gifbin0 -> 353 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rnormal.gifbin0 -> 352 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rtee.gifbin0 -> 250 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rvee.gifbin0 -> 366 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_tee.gifbin0 -> 369 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_vee.gifbin0 -> 403 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/attrs.html1909
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/back.gifbin0 -> 1753 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/both.gifbin0 -> 1773 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box.gifbin0 -> 471 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box3d.gifbin0 -> 619 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/circle.gifbin0 -> 827 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colorlist.gifbin0 -> 694 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colors.html3721
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/command.html162
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/component.gifbin0 -> 616 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/constraint.gifbin0 -> 986 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/diamond.gifbin0 -> 628 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doublecircle.gifbin0 -> 1414 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doubleoctagon.gifbin0 -> 1066 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/egg.gifbin0 -> 976 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/ellipse.gifbin0 -> 938 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/fill.gifbin0 -> 3487 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/folder.gifbin0 -> 574 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/forward.gifbin0 -> 1750 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/grammar.html48
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/hexagon.gifbin0 -> 671 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/house.gifbin0 -> 757 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html1.gifbin0 -> 9513 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html2.gifbin0 -> 29927 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html3.gifbin0 -> 5878 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html4.gifbin0 -> 1776 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/index.html17
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invhouse.gifbin0 -> 746 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtrapezium.gifbin0 -> 748 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtriangle.gifbin0 -> 374 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/lang.html202
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/mrecord.gifbin0 -> 1972 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/nohead.gifbin0 -> 1729 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/none.gifbin0 -> 507 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/note.gifbin0 -> 557 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/octagon.gifbin0 -> 586 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/output.html531
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/parallelogram.gifbin0 -> 721 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/pentagon.gifbin0 -> 838 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/plaintext.gifbin0 -> 690 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/point.gifbin0 -> 192 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/polygon.gifbin0 -> 887 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/record.gifbin0 -> 8454 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rect.gifbin0 -> 471 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rectangle.gifbin0 -> 471 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/round.gifbin0 -> 1605 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/septagon.gifbin0 -> 887 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/shapes.html789
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tab.gifbin0 -> 565 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/trapezium.gifbin0 -> 757 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/triangle.gifbin0 -> 374 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tripleoctagon.gifbin0 -> 1444 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/pspdf.pngbin0 -> 4592 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/winbuild.html217
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/latex_suggestions.txt51
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/acyclic.1.pdfbin0 -> 4567 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/bcomps.1.pdfbin0 -> 5059 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/ccomps.1.pdfbin0 -> 6430 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cdt.3.pdfbin0 -> 20248 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cgraph.3.pdfbin0 -> 22491 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/circo.1.pdfbin0 -> 30150 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dijkstra.1.pdfbin0 -> 4597 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dot.1.pdfbin0 -> 30150 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotguide.pdfbin0 -> 323844 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotty.1.pdfbin0 -> 4111 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dottyguide.pdf9378
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/fdp.1.pdfbin0 -> 30150 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gc.1.pdfbin0 -> 4339 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/graph.3.pdfbin0 -> 12388 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gv2gxl.1.pdfbin0 -> 5210 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvc.3.pdfbin0 -> 4751 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvcolor.1.pdfbin0 -> 5236 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpack.1.pdfbin0 -> 6146 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpr.1.pdfbin0 -> 38967 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gxl2gv.1.pdfbin0 -> 5210 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lefty.1.pdfbin0 -> 6298 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/leftyguide.pdf9368
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/libguide.pdfbin0 -> 302461 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lneato.1.pdfbin0 -> 4123 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/mm2gv.1.pdfbin0 -> 4278 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neato.1.pdfbin0 -> 30150 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neatoguide.pdfbin0 -> 113744 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/nop.1.pdfbin0 -> 3891 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/pathplan.3.pdfbin0 -> 5395 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/prune.pdfbin0 -> 5737 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/sccmap.1.pdfbin0 -> 4328 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/tred.1.pdfbin0 -> 4195 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/twopi.1.pdfbin0 -> 30150 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/unflatten.1.pdfbin0 -> 4592 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/KW91.gv20
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/Latin1.gv5
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/NaN.gv126
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/abstract.gv71
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/alf.gv32
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/arrows.gv77
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/awilliams.gv188
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust.gv22
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust1.gv8
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust2.gv8
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust3.gv8
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust4.gv27
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust5.gv25
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/crazy.gv104
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ctext.gv17
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/dfa.gv34
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fig6.gv74
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fsm.gv20
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/grammar.gv71
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/hashtable.gv23
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/honda-tokoro.gv76
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jcctree.gv44
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jsort.gv150
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ldbxtried.gv416
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/longflat.gv7
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/mike.gv42
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/nhg.gv13
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/oldarrows.gv57
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pgram.gv91
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pm2way.gv126
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pmpipe.gv219
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/polypoly.gv162
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/proc3d.gv443
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/record2.gv6
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/records.gv17
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/rowe.gv72
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/sdh.gv284
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/shells.gv55
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/states.gv21
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/structs.gv8
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/switch.gv60
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/table.gv57
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/train11.gv30
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/trapeziumlr.gv79
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/tree.gv20
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/triedds.gv114
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/try.gv15
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix.gv53
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix2.gv63
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/viewfile.gv64
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/world.gv67
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ER.gv22
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Heawood.gv31
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Petersen.gv48
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ngk10_4.gv103
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/process.gv15
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/box.lefty157
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/def.lefty15
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty.lefty735
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_draw.lefty596
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_edit.lefty593
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_layout.lefty449
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_ui.lefty468
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal.lefty101
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal2.lefty218
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/lefty.psp80
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/slides.lefty109
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/tree.lefty195
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/license.rtf49
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.162
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.176
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.199
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.159
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.149
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.183
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.192
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.158
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1101
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1967
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.192
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1120
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.149
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.147
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.131
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1155
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.155
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.142
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1669
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.158
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3483
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3486
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3270
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.366
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.397
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7106
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/graphviz/share/setuplogo.bmpbin0 -> 139214 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/htmllexer.jarbin0 -> 70021 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/htmlparser.jarbin0 -> 288098 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/looks-2.2.1.jarbin0 -> 410519 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/lib/thumbelina.jarbin0 -> 33277 bytes
-rw-r--r--Master/Agile Software Development/TestApp/dist/resource/test.dot10
-rw-r--r--Master/Agile Software Development/TestApp/libs/filterbuilder.jarbin0 -> 67095 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/forms-1.2.1.jarbin0 -> 105765 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/htmllexer.jarbin0 -> 70021 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/htmlparser.jarbin0 -> 288098 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/junit-4.8.2.jarbin0 -> 237344 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/junit.jarbin0 -> 121070 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/log4j-1.2.15.jarbin0 -> 391834 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/log4j.properties6
-rw-r--r--Master/Agile Software Development/TestApp/libs/looks-2.2.1.jarbin0 -> 410519 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/sax2.jarbin0 -> 35979 bytes
-rw-r--r--Master/Agile Software Development/TestApp/libs/thumbelina.jarbin0 -> 33277 bytes
-rw-r--r--Master/Agile Software Development/TestApp/manifest.mf3
-rw-r--r--Master/Agile Software Development/TestApp/nbproject/build-impl.xml629
-rw-r--r--Master/Agile Software Development/TestApp/nbproject/genfiles.properties8
-rw-r--r--Master/Agile Software Development/TestApp/nbproject/project.properties85
-rw-r--r--Master/Agile Software Development/TestApp/nbproject/project.xml16
-rw-r--r--Master/Agile Software Development/TestApp/src/Parser/CssParser.java41
-rw-r--r--Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java56
-rw-r--r--Master/Agile Software Development/TestApp/src/Parser/JavascriptParser.java44
-rw-r--r--Master/Agile Software Development/TestApp/src/Parser/UrlAnalyzer.java161
-rw-r--r--Master/Agile Software Development/TestApp/src/Parser/Visitor.java96
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/App.java60
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/AppFrame.java172
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/DOTGenerator.java54
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/GraphGenerator.java81
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/ImageComponent.java46
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/ItemGenerator.java92
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/Locate.java90
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ExternalCssItem.java58
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ExternalJavascriptItem.java56
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/FrameItem.java51
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/GraphConstants.java44
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/IframeItem.java51
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ImageItem.java102
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/Item.java413
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ItemClassification.java14
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ItemPlace.java14
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ItemType.java14
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/LinkItem.java50
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/PageItem.java48
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/ScriptItem.java62
-rw-r--r--Master/Agile Software Development/TestApp/src/testapp/data/StyleItem.java47
-rw-r--r--Master/Agile Software Development/TestApp/test/Parser/UrlAnalyzerTest.java91
-rw-r--r--Master/Agile Software Development/TestApp/test/testapp/AppFrameTest.java50
-rw-r--r--Master/Agile Software Development/TestApp/test/testapp/AppTest.java51
-rw-r--r--Master/Agile Software Development/TestApp/test/testapp/GraphGeneratorTest.java61
488 files changed, 65905 insertions, 0 deletions
diff --git a/Master/Agile Software Development/TestApp/build.xml b/Master/Agile Software Development/TestApp/build.xml
new file mode 100644
index 0000000..ee6a9f4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/build.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<project name="TestApp" default="default" basedir=".">
+ <description>Builds, tests, and runs the project TestApp.</description>
+ <import file="nbproject/build-impl.xml"/>
+ <!--
+
+ There exist several targets which are by default empty and which can be
+ used for execution of your tasks. These targets are usually executed
+ before and after some main targets. They are:
+
+ -pre-init: called before initialization of project properties
+ -post-init: called after initialization of project properties
+ -pre-compile: called before javac compilation
+ -post-compile: called after javac compilation
+ -pre-compile-single: called before javac compilation of single file
+ -post-compile-single: called after javac compilation of single file
+ -pre-compile-test: called before javac compilation of JUnit tests
+ -post-compile-test: called after javac compilation of JUnit tests
+ -pre-compile-test-single: called before javac compilation of single JUnit test
+ -post-compile-test-single: called after javac compilation of single JUunit test
+ -pre-jar: called before JAR building
+ -post-jar: called after JAR building
+ -post-clean: called after cleaning build products
+
+ (Targets beginning with '-' are not intended to be called on their own.)
+
+ Example of inserting an obfuscator after compilation could look like this:
+
+ <target name="-post-compile">
+ <obfuscate>
+ <fileset dir="${build.classes.dir}"/>
+ </obfuscate>
+ </target>
+
+ For list of available properties check the imported
+ nbproject/build-impl.xml file.
+
+
+ Another way to customize the build is by overriding existing main targets.
+ The targets of interest are:
+
+ -init-macrodef-javac: defines macro for javac compilation
+ -init-macrodef-junit: defines macro for junit execution
+ -init-macrodef-debug: defines macro for class debugging
+ -init-macrodef-java: defines macro for class execution
+ -do-jar-with-manifest: JAR building (if you are using a manifest)
+ -do-jar-without-manifest: JAR building (if you are not using a manifest)
+ run: execution of project
+ -javadoc-build: Javadoc generation
+ test-report: JUnit report generation
+
+ An example of overriding the target for project execution could look like this:
+
+ <target name="run" depends="TestApp-impl.jar">
+ <exec dir="bin" executable="launcher.exe">
+ <arg file="${dist.jar}"/>
+ </exec>
+ </target>
+
+ Notice that the overridden target depends on the jar target and not only on
+ the compile target as the regular run target does. Again, for a list of available
+ properties which you can use, check the target you are overriding in the
+ nbproject/build-impl.xml file.
+
+ -->
+</project>
diff --git a/Master/Agile Software Development/TestApp/dist/README.TXT b/Master/Agile Software Development/TestApp/dist/README.TXT
new file mode 100644
index 0000000..5376b24
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/README.TXT
@@ -0,0 +1,33 @@
+========================
+BUILD OUTPUT DESCRIPTION
+========================
+
+When you build an Java application project that has a main class, the IDE
+automatically copies all of the JAR
+files on the projects classpath to your projects dist/lib folder. The IDE
+also adds each of the JAR files to the Class-Path element in the application
+JAR files manifest file (MANIFEST.MF).
+
+To run the project from the command line, go to the dist folder and
+type the following:
+
+java -jar "TestApp.jar"
+
+To distribute this project, zip up the dist folder (including the lib folder)
+and distribute the ZIP file.
+
+Notes:
+
+* If two JAR files on the project classpath have the same name, only the first
+JAR file is copied to the lib folder.
+* Only JAR files are copied to the lib folder.
+If the classpath contains other types of files or folders, none of the
+classpath elements are copied to the lib folder. In such a case,
+you need to copy the classpath elements to the lib folder manually after the build.
+* If a library on the projects classpath also has a Class-Path element
+specified in the manifest,the content of the Class-Path element has to be on
+the projects runtime path.
+* To set a main class in a standard Java project, right-click the project node
+in the Projects window and choose Properties. Then click Run and enter the
+class name in the Main Class field. Alternatively, you can manually type the
+class name in the manifest Main-Class element.
diff --git a/Master/Agile Software Development/TestApp/dist/TestApp.jar b/Master/Agile Software Development/TestApp/dist/TestApp.jar
new file mode 100644
index 0000000..20202bb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/TestApp.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/filterbuilder.jar b/Master/Agile Software Development/TestApp/dist/lib/filterbuilder.jar
new file mode 100644
index 0000000..b923d60
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/filterbuilder.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/forms-1.2.1.jar b/Master/Agile Software Development/TestApp/dist/lib/forms-1.2.1.jar
new file mode 100644
index 0000000..51c1f60
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/forms-1.2.1.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVUI.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVUI.exe
new file mode 100644
index 0000000..f86eec9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVUI.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVedit.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVedit.exe
new file mode 100644
index 0000000..af4d4b2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/GVedit.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/acyclic.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/acyclic.exe
new file mode 100644
index 0000000..ab6e564
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/acyclic.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/bcomps.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/bcomps.exe
new file mode 100644
index 0000000..9d89df8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/bcomps.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/ccomps.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/ccomps.exe
new file mode 100644
index 0000000..fe86da0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/ccomps.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/circo.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/circo.exe
new file mode 100644
index 0000000..7bd24e7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/circo.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/comdlg32.ocx b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/comdlg32.ocx
new file mode 100644
index 0000000..bb79309
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/comdlg32.ocx
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/config b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/config
new file mode 100644
index 0000000..3202ae3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/config
@@ -0,0 +1,184 @@
+# This file was generated by "dot -c" at time of install.
+
+# You may temporarily disable a plugin by removing or commenting out
+# a line in this file, or you can modify its "quality" value to affect
+# default plugin selection.
+
+# Manual edits to this file **will be lost** on upgrade.
+
+libgvplugin_core-5.dll core {
+ device {
+ dot:dot 1
+ canon:dot 1
+ plain:dot 1
+ plain-ext:dot 1
+ xdot:xdot 1
+ }
+ device {
+ fig:fig 1
+ }
+ device {
+ ismap:map 1
+ cmap:map 1
+ imap:map 1
+ cmapx:map 1
+ imap_np:map 1
+ cmapx_np:map 1
+ }
+ device {
+ ps:ps 1
+ ps2:ps 1
+ eps:ps 1
+ }
+ device {
+ svg:svg 1
+ svgz:svg 1
+ }
+ device {
+ tk:tk 1
+ }
+ device {
+ vml:vml 1
+ vmlz:vml 1
+ }
+ render {
+ dot 1
+ xdot 1
+ }
+ render {
+ fig 1
+ }
+ render {
+ map 1
+ }
+ render {
+ ps 1
+ }
+ render {
+ svg 1
+ }
+ render {
+ tk 1
+ }
+ render {
+ vml 1
+ }
+ loadimage {
+ png:svg 1
+ gif:svg 1
+ jpeg:svg 1
+ jpe:svg 1
+ jpg:svg 1
+ png:fig 1
+ gif:fig 1
+ jpeg:fig 1
+ jpe:fig 1
+ jpg:fig 1
+ png:vrml 1
+ gif:vrml 1
+ jpeg:vrml 1
+ jpe:vrml 1
+ jpg:vrml 1
+ ps:ps 1
+ (lib):ps 1
+ png:dot 1
+ gif:dot 1
+ jpeg:dot 1
+ jpe:dot 1
+ jpg:dot 1
+ ps:dot 1
+ svg:dot 1
+ png:xdot 1
+ gif:xdot 1
+ jpeg:xdot 1
+ jpe:xdot 1
+ jpg:xdot 1
+ ps:xdot 1
+ svg:xdot 1
+ svg:svg 1
+ }
+}
+libgvplugin_dot_layout-5.dll dot_layout {
+ layout {
+ dot 0
+ }
+}
+libgvplugin_gd-5.dll gd {
+ render {
+ gd 1
+ }
+ render {
+ vrml 1
+ }
+ textlayout {
+ textlayout 2
+ }
+ loadimage {
+ gd:gd 1
+ gd2:gd 1
+ gif:gd 1
+ jpeg:gd 1
+ jpe:gd 1
+ jpg:gd 1
+ png:gd 1
+ gd:ps 1
+ gd2:ps 1
+ gif:ps 1
+ jpeg:ps 1
+ jpg:ps 1
+ jpe:ps 1
+ png:ps 1
+ }
+ device {
+ gif:cairo 10
+ wbmp:cairo 5
+ jpe:cairo 5
+ jpeg:cairo 5
+ jpg:cairo 5
+ png:cairo 5
+ gd:cairo 5
+ gd2:cairo 5
+ }
+ device {
+ gif:gd 1
+ wbmp:gd 1
+ jpe:gd 1
+ jpeg:gd 1
+ jpg:gd 1
+ png:gd 1
+ gd:gd 1
+ gd2:gd 1
+ }
+ device {
+ vrml:vrml 1
+ }
+}
+libgvplugin_neato_layout-5.dll neato_layout {
+ layout {
+ neato 0
+ fdp 0
+ twopi 0
+ circo 0
+ nop 0
+ nop1 0
+ nop2 0
+ }
+}
+libgvplugin_pango-5.dll cairo {
+ render {
+ cairo 10
+ }
+ textlayout {
+ textlayout 10
+ }
+ loadimage {
+ png:cairo 1
+ png:ps 2
+ }
+ device {
+ png:cairo 10
+ ps:cairo -10
+ pdf:cairo 10
+ svg:cairo -10
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/diffimg.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/diffimg.exe
new file mode 100644
index 0000000..8e007ae
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/diffimg.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dijkstra.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dijkstra.exe
new file mode 100644
index 0000000..82fe3bc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dijkstra.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot.exe
new file mode 100644
index 0000000..7bd24e7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot2gxl.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot2gxl.exe
new file mode 100644
index 0000000..723ce8d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dot2gxl.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dotty.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dotty.exe
new file mode 100644
index 0000000..ef1acb5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/dotty.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cache.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cache.exe
new file mode 100644
index 0000000..7fc3ff4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cache.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cat.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cat.exe
new file mode 100644
index 0000000..0e522fa
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-cat.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-list.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-list.exe
new file mode 100644
index 0000000..067f9d1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-list.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-match.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-match.exe
new file mode 100644
index 0000000..230cc0b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fc-match.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fdp.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fdp.exe
new file mode 100644
index 0000000..7bd24e7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/fdp.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gc.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gc.exe
new file mode 100644
index 0000000..a040eeb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gc.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gv2gxl.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gv2gxl.exe
new file mode 100644
index 0000000..723ce8d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gv2gxl.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvcolor.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvcolor.exe
new file mode 100644
index 0000000..fc765eb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvcolor.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpack.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpack.exe
new file mode 100644
index 0000000..374ef00
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpack.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpr.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpr.exe
new file mode 100644
index 0000000..b3a9c5d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gvpr.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2dot.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2dot.exe
new file mode 100644
index 0000000..723ce8d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2dot.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2gv.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2gv.exe
new file mode 100644
index 0000000..723ce8d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/gxl2gv.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/iconv.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/iconv.dll
new file mode 100644
index 0000000..ef1baef
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/iconv.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/intl.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/intl.dll
new file mode 100644
index 0000000..802a6f3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/intl.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/jpeg62.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/jpeg62.dll
new file mode 100644
index 0000000..5f78c3a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/jpeg62.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lefty.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lefty.exe
new file mode 100644
index 0000000..91033db
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lefty.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcairo-2.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcairo-2.dll
new file mode 100644
index 0000000..0c47d03
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcairo-2.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcdt-4.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcdt-4.dll
new file mode 100644
index 0000000..94e7b41
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcdt-4.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcgraph-4.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcgraph-4.dll
new file mode 100644
index 0000000..90236bc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libcgraph-4.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libexpat.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libexpat.dll
new file mode 100644
index 0000000..fdbc758
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libexpat.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfontconfig-1.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfontconfig-1.dll
new file mode 100644
index 0000000..108875a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfontconfig-1.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfreetype-6.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfreetype-6.dll
new file mode 100644
index 0000000..3ae4433
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libfreetype-6.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgdk_pixbuf-2.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgdk_pixbuf-2.0-0.dll
new file mode 100644
index 0000000..936fddc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgdk_pixbuf-2.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libglib-2.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libglib-2.0-0.dll
new file mode 100644
index 0000000..a525e77
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libglib-2.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgmodule-2.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgmodule-2.0-0.dll
new file mode 100644
index 0000000..3eef44e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgmodule-2.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgobject-2.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgobject-2.0-0.dll
new file mode 100644
index 0000000..541a7c2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgobject-2.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgraph-4.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgraph-4.dll
new file mode 100644
index 0000000..a65af50
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgraph-4.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvc-4.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvc-4.dll
new file mode 100644
index 0000000..47b66e5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvc-4.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_core-5.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_core-5.dll
new file mode 100644
index 0000000..44437d6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_core-5.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_dot_layout-5.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_dot_layout-5.dll
new file mode 100644
index 0000000..d8e18d7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_dot_layout-5.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_gd-5.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_gd-5.dll
new file mode 100644
index 0000000..1ac95ba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_gd-5.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_neato_layout-5.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_neato_layout-5.dll
new file mode 100644
index 0000000..8ec05c4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_neato_layout-5.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_pango-5.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_pango-5.dll
new file mode 100644
index 0000000..bec2b23
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libgvplugin_pango-5.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libltdl-3.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libltdl-3.dll
new file mode 100644
index 0000000..68bc5fb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libltdl-3.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpango-1.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpango-1.0-0.dll
new file mode 100644
index 0000000..51406c5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpango-1.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangocairo-1.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangocairo-1.0-0.dll
new file mode 100644
index 0000000..bc3943f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangocairo-1.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangoft2-1.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangoft2-1.0-0.dll
new file mode 100644
index 0000000..fd28158
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangoft2-1.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangowin32-1.0-0.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangowin32-1.0-0.dll
new file mode 100644
index 0000000..6ee27f3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpangowin32-1.0-0.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpathplan-4.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpathplan-4.dll
new file mode 100644
index 0000000..e2b7a25
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpathplan-4.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpng12.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpng12.dll
new file mode 100644
index 0000000..865bcae
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libpng12.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libxml2.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libxml2.dll
new file mode 100644
index 0000000..035e9f3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/libxml2.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lneato.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lneato.exe
new file mode 100644
index 0000000..c17daa5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/lneato.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/mm2gv.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/mm2gv.exe
new file mode 100644
index 0000000..9ad5f1b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/mm2gv.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/neato.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/neato.exe
new file mode 100644
index 0000000..7bd24e7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/neato.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/nop.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/nop.exe
new file mode 100644
index 0000000..f2c0370
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/nop.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/props.txt b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/props.txt
new file mode 100644
index 0000000..8074142
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/props.txt
@@ -0,0 +1,97 @@
+"Damping", "0.99", GRAPH, NEATO
+"Epsilon", "", GRAPH, NEATO
+"URL", "", ANY_ELEMENT, ALL_ENGINES
+"arrowhead", "normal", EDGE, ALL_ENGINES
+"arrowsize", "1.0", EDGE, ALL_ENGINES
+"arrowtail", "normal", EDGE, ALL_ENGINES
+"bb", "", GRAPH, ALL_ENGINES
+"bgcolor", "", GRAPH Or CLUSTER, ALL_ENGINES
+"bottomlabel", "", NODE, ALL_ENGINES
+"center", "false", GRAPH, ALL_ENGINES
+"clusterrank", "local", GRAPH, DOT
+"color", "black", EDGE Or NODE Or CLUSTER, ALL_ENGINES
+"comment", "", EDGE Or NODE Or GRAPH, ALL_ENGINES
+"compound", "false", GRAPH, DOT
+"concentrate", "false", GRAPH, DOT
+"constraint", "true", EDGE, DOT
+"decorate", "false", EDGE, ALL_ENGINES
+"dir", "forward", EDGE, ALL_ENGINES
+"distortion", "0.0", NODE, ALL_ENGINES
+"fillcolor", "lightgrey", NODE Or CLUSTER, ALL_ENGINES
+"fixedsize", "false", NODE, ALL_ENGINES
+"fontcolor", "black", EDGE Or NODE Or GRAPH Or CLUSTER, ALL_ENGINES
+"fontname", "Times-Roman", EDGE Or NODE Or GRAPH Or CLUSTER, ALL_ENGINES
+"fontpath", "", GRAPH, ALL_ENGINES
+"fontsize", "14.0", EDGE Or NODE Or GRAPH Or CLUSTER, ALL_ENGINES
+"group", "", NODE, DOT
+"headURL", "", EDGE, ALL_ENGINES
+"headlabel", "", EDGE, ALL_ENGINES
+"headport", "center", EDGE, ALL_ENGINES
+"height", "0.5", NODE, ALL_ENGINES
+"label", "", EDGE Or NODE Or GRAPH Or CLUSTER, ALL_ENGINES
+"labelangle", "-25.0", EDGE, ALL_ENGINES
+"labeldistance", "1.0", EDGE, ALL_ENGINES
+"labelfloat", "false", EDGE, ALL_ENGINES
+"labelfontcolor", "black", EDGE, ALL_ENGINES
+"labelfontname", "Times-Roman", EDGE, ALL_ENGINES
+"labelfontsize", "11.0", EDGE, ALL_ENGINES
+"labeljust", "", ANY_ELEMENT, DOT
+"labelloc", "t", GRAPH Or CLUSTER, DOT
+"layer", "", EDGE Or NODE, ALL_ENGINES
+"layers", "", GRAPH, ALL_ENGINES
+"len", "1.0", EDGE, NEATO
+"lhead", "", EDGE, DOT
+"lp", "", EDGE Or GRAPH Or CLUSTER, ALL_ENGINES
+"ltail", "", EDGE, DOT
+"margin", "", GRAPH, ALL_ENGINES
+"maxiter", "", GRAPH, NEATO
+"mclimit", "1.0", GRAPH, DOT
+"minlen", "1", EDGE, DOT
+"model", "", GRAPH, NEATO
+"nodesep", "0.25", GRAPH, DOT
+"normalize", "false", GRAPH, NEATO
+"nslimit", "", GRAPH, DOT
+"ordering", "", GRAPH, DOT
+"orientation", "0.0", NODE, ALL_ENGINES
+"orientation", "", GRAPH, ALL_ENGINES
+"overlap", "", GRAPH, NEATO
+"pack", "false", GRAPH, NEATO
+"page", "", GRAPH, ALL_ENGINES
+"pagedir", "", GRAPH, ALL_ENGINES
+"pencolor", "black", CLUSTER, ALL_ENGINES
+"peripheries", "0", NODE, ALL_ENGINES
+"pin", "false", NODE, NEATO
+"pos", "", EDGE Or NODE, ALL_ENGINES
+"quantum", "0.0", GRAPH, ALL_ENGINES
+"rank", "", SUBGRAPH, DOT
+"rankdir", "", GRAPH, DOT
+"ranksep", "", GRAPH, ALL_ENGINES
+"ratio", "", GRAPH, ALL_ENGINES
+"rects", "", NODE, ALL_ENGINES
+"regular", "false", NODE, ALL_ENGINES
+"remincross", "false", GRAPH, DOT
+"rotate", "0", GRAPH, ALL_ENGINES
+"samehead", "", EDGE, DOT
+"sametail", "", EDGE, DOT
+"samplepoints", "8", GRAPH, ALL_ENGINES
+"searchsize", "30", GRAPH, DOT
+"sep", "0.01", GRAPH, NEATO
+"shape", "ellipse", NODE, ALL_ENGINES
+"shapefile", "", NODE, ALL_ENGINES
+"showboxes", "0", EDGE Or NODE Or GRAPH, DOT
+"sides", "4", NODE, ALL_ENGINES
+"size", "", GRAPH, ALL_ENGINES
+"skew", "0.0", NODE, ALL_ENGINES
+"splines", "false", GRAPH, NEATO
+"start", "", GRAPH, ALL_ENGINES
+"style", "", EDGE Or NODE, ALL_ENGINES
+"stylesheet", "", GRAPH, ALL_ENGINES
+"tailURL", "", EDGE, ALL_ENGINES
+"taillabel", "", EDGE, ALL_ENGINES
+"tailport", "center", EDGE, ALL_ENGINES
+"toplabel", "", NODE, ALL_ENGINES
+"vertices", "", NODE, ALL_ENGINES
+"voro_margin", "0.05", GRAPH, NEATO
+"weight", "", EDGE, DOT Or NEATO
+"width", "0.75", NODE, ALL_ENGINES
+"z", "0.0", NODE, ALL_ENGINES
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/prune.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/prune.exe
new file mode 100644
index 0000000..ae862a9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/prune.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/sccmap.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/sccmap.exe
new file mode 100644
index 0000000..11f989a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/sccmap.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/settings.ini b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/settings.ini
new file mode 100644
index 0000000..8b5ee33
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/settings.ini
@@ -0,0 +1,7 @@
+[Settings]
+Layout=1
+Output=6
+Preview=1
+InitialDir1=C:\
+InitialDir2=C:\
+InitialDir3=C:\
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/test.dot b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/test.dot
new file mode 100644
index 0000000..21a96b2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/test.dot
@@ -0,0 +1,10 @@
+digraph G {
+ main -> parse -> execute;
+ main -> init;
+ main -> cleanup;
+ execute -> make_string;
+ execute -> printf
+ init -> make_string;
+ main -> printf;
+ execute -> compare;
+} \ No newline at end of file
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/tred.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/tred.exe
new file mode 100644
index 0000000..39e22a0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/tred.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/twopi.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/twopi.exe
new file mode 100644
index 0000000..7bd24e7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/twopi.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/unflatten.exe b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/unflatten.exe
new file mode 100644
index 0000000..92c2abc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/unflatten.exe
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/zlib1.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/zlib1.dll
new file mode 100644
index 0000000..1cf8a47
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/bin/zlib1.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-autohint.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-autohint.conf
new file mode 100644
index 0000000..5406f4e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-autohint.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- debian/autohint.conf -->
+<fontconfig>
+<!-- Use the Autohinter -->
+ <match target="font">
+ <edit name="autohint" mode="assign"><bool>true</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-no-sub-pixel.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-no-sub-pixel.conf
new file mode 100644
index 0000000..5d64a0b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-no-sub-pixel.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <edit name="rgba" mode="assign"><const>none</const></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-bgr.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-bgr.conf
new file mode 100644
index 0000000..2aba95e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-bgr.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <edit name="rgba" mode="assign"><const>bgr</const></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-rgb.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-rgb.conf
new file mode 100644
index 0000000..c4e8a42
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-rgb.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <edit name="rgba" mode="assign"><const>rgb</const></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vbgr.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vbgr.conf
new file mode 100644
index 0000000..0cdad2a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vbgr.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <edit name="rgba" mode="assign"><const>vbgr</const></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vrgb.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vrgb.conf
new file mode 100644
index 0000000..60239e0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-sub-pixel-vrgb.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <edit name="rgba" mode="assign"><const>vrgb</const></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-unhinted.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-unhinted.conf
new file mode 100644
index 0000000..fb0b375
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/10-unhinted.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- debian/unhinted.conf -->
+<fontconfig>
+<!-- Disable hinting -->
+ <match target="font">
+ <edit name="hinting" mode="assign"><bool>false</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-fix-globaladvance.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-fix-globaladvance.conf
new file mode 100644
index 0000000..a62162c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-fix-globaladvance.conf
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ Some Asian fonts misadvertise themselves as monospaced when
+ in fact they are dual-spaced (half and full). This makes
+ FreeType very confused as it forces all widths to match.
+ Undo this magic by disabling the width forcing code -->
+ <match target="font">
+ <test name="family"><string>GulimChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>DotumChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>BatangChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>GungsuhChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-lohit-gujarati.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-lohit-gujarati.conf
new file mode 100644
index 0000000..1c29d0d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-lohit-gujarati.conf
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+<!-- Available Gujarti fonts look much better without hinting -->
+
+ <match target="font">
+ <test name="family"><string>Lohit Gujarati</string></test>
+ <edit name="hinting"><bool>false</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-unhint-small-vera.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-unhint-small-vera.conf
new file mode 100644
index 0000000..3078119
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/20-unhint-small-vera.conf
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ The Bitstream Vera fonts have GASP entries suggesting that hinting be
+ disabled below 8 ppem, but FreeType ignores those, preferring to use
+ the data found in the instructed hints. The initial Vera release
+ didn't include the right instructions in the 'prep' table. Fix this
+ by disabling hinting manually at smaller sizes (< 8ppem)
+ -->
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Sans</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Serif</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Sans Mono</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-amt-aliases.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-amt-aliases.conf
new file mode 100644
index 0000000..d6df67e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-amt-aliases.conf
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ AMT provides metric and shape compatible fonts for these three web font
+ families.
+ -->
+ <alias>
+ <family>Times New Roman</family>
+ <accept><family>Thorndale AMT</family></accept>
+ </alias>
+ <alias>
+ <family>Arial</family>
+ <accept><family>Albany AMT</family></accept>
+ </alias>
+ <alias>
+ <family>Courier New</family>
+ <accept><family>Cumberland AMT</family></accept>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-urw-aliases.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-urw-aliases.conf
new file mode 100644
index 0000000..cf90dd5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/30-urw-aliases.conf
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ URW provides metric and shape compatible fonts for these 10 Adobe families.
+ -->
+ <alias>
+ <family>Avant Garde</family>
+ <accept><family>URW Gothic L</family></accept>
+ </alias>
+ <alias>
+ <family>Bookman</family>
+ <accept><family>URW Bookman L</family></accept>
+ </alias>
+ <alias>
+ <family>Courier</family>
+ <accept><family>Nimbus Mono L</family></accept>
+ </alias>
+ <alias>
+ <family>Helvetica</family>
+ <accept><family>Nimbus Sans L</family></accept>
+ </alias>
+ <alias>
+ <family>New Century Schoolbook</family>
+ <accept><family>Century Schoolbook L</family></accept>
+ </alias>
+ <alias>
+ <family>Palatino</family>
+ <accept><family>URW Palladio L</family></accept>
+ </alias>
+ <alias>
+ <family>Times</family>
+ <accept><family>Nimbus Roman No9 L</family></accept>
+ </alias>
+ <alias>
+ <family>Zapf Chancery</family>
+ <accept><family>URW Chancery L</family></accept>
+ </alias>
+ <alias>
+ <family>Zapf Dingbats</family>
+ <accept><family>Dingbats</family></accept>
+ </alias>
+ <match target="pattern">
+ <test name="family">
+ <string>Symbol</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Standard Symbols L</string>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/40-generic.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/40-generic.conf
new file mode 100644
index 0000000..84e85e4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/40-generic.conf
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ Mark common families with their generics so we'll get
+ something reasonable
+-->
+
+<!--
+ Serif faces
+ -->
+ <alias>
+ <family>Bitstream Vera Serif</family>
+ <family>DejaVu Serif</family>
+ <family>Times New Roman</family>
+ <family>Times</family>
+ <family>Nimbus Roman No9 L</family>
+ <family>Luxi Serif</family>
+ <family>Kochi Mincho</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>MS 明朝</family>
+ <family>Baekmuk Batang</family>
+ <family>FreeSerif</family>
+ <family>MgOpen Canonica</family>
+ <default><family>serif</family></default>
+ </alias>
+<!--
+ Sans-serif faces
+ -->
+ <alias>
+ <family>Bitstream Vera Sans</family>
+ <family>DejaVu Sans</family>
+ <family>Helvetica</family>
+ <family>Arial</family>
+ <family>Verdana</family>
+ <family>Albany AMT</family>
+ <family>Nimbus Sans L</family>
+ <family>Luxi Sans</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>AR PL KaitiM Big5</family>
+ <family>MS ゴシック</family>
+ <family>Baekmuk Dotum</family>
+ <family>SimSun</family>
+ <family>FreeSans</family>
+ <family>MgOpen Modata</family>
+ <default><family>sans-serif</family></default>
+ </alias>
+<!--
+ Monospace faces
+ -->
+ <alias>
+ <family>Bitstream Vera Sans Mono</family>
+ <family>DejaVu Sans Mono</family>
+ <family>Courier</family>
+ <family>Courier New</family>
+ <family>Andale Mono</family>
+ <family>Luxi Mono</family>
+ <family>Cumberland AMT</family>
+ <family>Nimbus Mono L</family>
+ <family>NSimSun</family>
+ <family>FreeMono</family>
+ <default><family>monospace</family></default>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/49-sansserif.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/49-sansserif.conf
new file mode 100644
index 0000000..c6209a7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/49-sansserif.conf
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ If the font still has no generic name, add sans-serif
+ -->
+ <match target="pattern">
+ <test qual="all" name="family" compare="not_eq">
+ <string>sans-serif</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>serif</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="append_last">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/50-user.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/50-user.conf
new file mode 100644
index 0000000..9a38a40
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/50-user.conf
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.avail/50-user.conf file to configure system font access -->
+<fontconfig>
+ <!-- Load per-user customization file -->
+ <include ignore_missing="yes">~/.fonts.conf</include>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/51-local.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/51-local.conf
new file mode 100644
index 0000000..d35046e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/51-local.conf
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.avail/51-local.conf file to configure system font access -->
+<fontconfig>
+ <!-- Load local system customization file -->
+ <include ignore_missing="yes">local.conf</include>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/60-latin.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/60-latin.conf
new file mode 100644
index 0000000..06cdd7e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/60-latin.conf
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Bitstream Vera Serif</family>
+ <family>DejaVu Serif</family>
+ <family>Times New Roman</family>
+ <family>Thorndale AMT</family>
+ <family>Luxi Serif</family>
+ <family>Nimbus Roman No9 L</family>
+ <family>Times</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Bitstream Vera Sans</family>
+ <family>DejaVu Sans</family>
+ <family>Verdana</family>
+ <family>Arial</family>
+ <family>Albany AMT</family>
+ <family>Luxi Sans</family>
+ <family>Nimbus Sans L</family>
+ <family>Helvetica</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Bitstream Vera Sans Mono</family>
+ <family>DejaVu Sans Mono</family>
+ <family>Andale Mono</family>
+ <family>Courier New</family>
+ <family>Cumberland AMT</family>
+ <family>Luxi Mono</family>
+ <family>Nimbus Mono L</family>
+ <family>Courier</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-fonts-persian.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-fonts-persian.conf
new file mode 100644
index 0000000..e30c4d9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-fonts-persian.conf
@@ -0,0 +1,539 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.d/10-fonts-persian.conf -->
+<!--
+ fonts-persian.conf
+ To configure Persian fonts from The FarsiWeb Project.
+
+ Copyright (C) 2005 Sharif FarsiWeb, Inc. <license@farsiweb.info>
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Sharif FarsiWeb, Inc. not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Sharif FarsiWeb, Inc. makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ SHARIF FARSIWEB, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ ChangeLog:
+ 2005-04-03 Behdad Esfahbod: Initial revision.
+ 2005-10-09 Behdad Esfahbod: Turned off back-slant and Tahoma sections.
+ 2005-11-30 Behdad Esfahbod: Set Titr susbtitution size to 24 points.
+
+ Todo:
+ Add generic font "fantasy". Add some fonts into that category.
+ Maybe add a "cursive" generic font.
+ -->
+<fontconfig>
+
+
+<!--
+ We don't want weak bindings. So got to use the syntactical expansion
+ of alias tag to do binding=same :(. Please support that in alias.
+ -->
+
+
+<!-- Deprecated fonts are discouraged -->
+
+ <!-- Nesf[2] is officially deprecated and has problematic tables -->
+ <match>
+ <test name="family">
+ <string>Nesf</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Nesf2</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Nesf2</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Persian_sansserif_default</string>
+ </edit>
+ </match>
+
+ <!-- Tahoma looks awful (TURNED-OFF) -->
+ <!--match>
+ <test name="family">
+ <string>Tahoma</string>
+ </test>
+ <edit name="family" mode="prepend" binding="same">
+ <string>Persian_sansserif_default</string>
+ </edit>
+ </match-->
+
+<!-- Name changes and spelling variant aliases -->
+
+ <!-- Changed due to trademark problems -->
+ <match>
+ <test name="family">
+ <string>Nazanin</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Nazli</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Lotus</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Lotoos</string>
+ </edit>
+ </match>
+
+ <!-- Changed due to transcription orthography -->
+ <match>
+ <test name="family">
+ <string>Yaqut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Yagut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Yaghut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Traffic</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Terafik</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Ferdowsi</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Ferdosi</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Fantezy</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Fantezi</string>
+ </edit>
+ </match>
+
+
+<!-- Classify fonts. -->
+
+ <!-- Persian_title class -->
+ <match>
+ <test name="family">
+ <string>Jadid</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_title</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Titr</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_title</string>
+ </edit>
+ </match>
+
+ <!-- Persian_fantasy class -->
+ <match>
+ <test name="family">
+ <string>Kamran</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Homa</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Homa</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Kamran</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Fantezi</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Tabassom</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+
+ <!-- Persian_square class -->
+ <match>
+ <test name="family">
+ <string>Arshia</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Nasim</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Elham</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Farnaz</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Farnaz</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Elham</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Sina</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+
+<!-- Font ordering per class -->
+
+ <!-- Persian_title class -->
+ <match>
+ <test name="family">
+ <string>Persian_title</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_serif</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Jadid</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- Persian_fantasy class -->
+ <match>
+ <test name="family">
+ <string>Persian_fantasy</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Tabassom</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Fantezi</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Kamran</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Homa</string>
+ </edit>
+ </match>
+
+ <!-- Persian_square class -->
+ <match>
+ <test name="family">
+ <string>Persian_square</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_serif</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Sina</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Nasim</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Farnaz</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Elham</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Arshia</string>
+ </edit>
+ </match>
+
+<!-- Register the fonts that we actually do have -->
+
+ <match target="font">
+ <test name="family">
+ <string>Elham</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Homa</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Koodak</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Nazli</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Roya</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Terafik</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Titr</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+
+<!-- Our fonts should oblique to the other side (TURNED-OFF) -->
+
+ <match target="font">
+ <test name="foundry">
+ <!--string>farsiweb</string-->
+ <string>TURNED-OFF</string>
+ </test>
+ <test name="foundry">
+ <string>farsiweb</string>
+ </test>
+ <!-- check to see if the font is roman -->
+ <test name="slant">
+ <const>roman</const>
+ </test>
+ <!-- check to see if the pattern requested non-roman -->
+ <test target="pattern" name="slant" compare="not_eq">
+ <const>roman</const>
+ </test>
+ <!-- multiply the matrix to slant the font -->
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix><double>1</double><double>-0.2</double>
+ <double>0</double><double>1</double>
+ </matrix>
+ </times>
+ </edit>
+ <!-- pretend the font is oblique now -->
+ <edit name="slant" mode="assign">
+ <const>oblique</const>
+ </edit>
+ </match>
+
+
+<!--
+ We can't hint our fonts well, so turn off hinting.
+ Moreover, the bitmaps we have designed (well, they
+ have designed), suck, so disable them too.
+ -->
+
+ <match target="font">
+ <test name="foundry">
+ <string>farsiweb</string>
+ </test>
+ <edit name="autohint">
+ <bool>false</bool>
+ </edit>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ <edit name="embeddedbitmap">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+
+<!-- Alias our fonts to common families -->
+
+ <!-- Persian serif fonts -->
+ <alias>
+ <family>serif</family>
+ <accept>
+ <family>Nazli</family>
+ <family>Lotoos</family>
+ <family>Mitra</family>
+ <family>Ferdosi</family>
+ <family>Badr</family>
+ <family>Zar</family>
+ </accept>
+ </alias>
+
+ <!-- Persian sans-serif fonts -->
+ <alias>
+ <family>sans-serif</family>
+ <accept>
+ <family>Roya</family>
+ <family>Koodak</family>
+ <family>Terafik</family>
+ </accept>
+ </alias>
+
+ <!-- Persian monospace fonts -->
+ <alias>
+ <family>monospace</family>
+ <accept>
+ <!-- Not really monospace -->
+ <family>Terafik</family>
+ </accept>
+ </alias>
+
+
+<!-- Use Titr in titles -->
+
+ <!-- Both serif... -->
+ <match>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- and sans-serif. -->
+ <match>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- and more. -->
+ <match>
+ <test name="family">
+ <string>Persian_sansserif_default</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend" binding="same">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+
+<!-- Default substituted for deprecated sans-serif fonts -->
+
+ <match>
+ <test name="family">
+ <string>Persian_sansserif_default</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Roya</string>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-nonlatin.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-nonlatin.conf
new file mode 100644
index 0000000..f8dbb64
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/65-nonlatin.conf
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Frank Ruehl</family>
+ <family>MgOpen Canonica</family>
+ <family>Kochi Mincho</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>MS 明朝</family>
+ <family>Baekmuk Batang</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Nachlieli</family>
+ <family>MgOpen Modata</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>AR PL KaitiM Big5</family>
+ <family>MS ゴシック</family>
+ <family>Baekmuk Dotum</family>
+ <family>SimSun</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Miriam Mono</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>Baekmuk Dotum</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/69-unifont.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/69-unifont.conf
new file mode 100644
index 0000000..a784af9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/69-unifont.conf
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>FreeSerif</family>
+ <family>Code2000</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>FreeSans</family>
+ <family>Arial Unicode MS</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>FreeMono</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-no-bitmaps.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-no-bitmaps.conf
new file mode 100644
index 0000000..e8fb6a9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-no-bitmaps.conf
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.d/no-bitmaps.conf -->
+<fontconfig>
+<!-- Reject bitmap fonts -->
+ <selectfont>
+ <rejectfont>
+ <pattern>
+ <patelt name="scalable"><bool>false</bool></patelt>
+ </pattern>
+ </rejectfont>
+ </selectfont>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-yes-bitmaps.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-yes-bitmaps.conf
new file mode 100644
index 0000000..c539c70
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/70-yes-bitmaps.conf
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/yes-bitmaps.conf -->
+<fontconfig>
+<!-- Accept bitmap fonts -->
+ <selectfont>
+ <acceptfont>
+ <pattern>
+ <patelt name="scalable"><bool>false</bool></patelt>
+ </pattern>
+ </acceptfont>
+ </selectfont>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/80-delicious.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/80-delicious.conf
new file mode 100644
index 0000000..701429b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/80-delicious.conf
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.d/60-delicious.conf -->
+<fontconfig>
+<!-- Fix-ups for Delicious family -->
+
+<!-- Delicious 'heavy' variant says its Medium weight -->
+<match target="scan">
+ <test name="family">
+ <string>Delicious</string>
+ </test>
+ <test name="style">
+ <string>Heavy</string>
+ </test>
+ <edit name="weight">
+ <const>heavy</const>
+ </edit>
+</match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/90-synthetic.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/90-synthetic.conf
new file mode 100644
index 0000000..63d9b89
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/90-synthetic.conf
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ Artificial oblique for fonts without an italic or oblique version
+ -->
+
+ <match target="font">
+ <!-- check to see if the font is roman -->
+ <test name="slant">
+ <const>roman</const>
+ </test>
+ <!-- check to see if the pattern requested non-roman -->
+ <test target="pattern" name="slant" compare="not_eq">
+ <const>roman</const>
+ </test>
+ <!-- multiply the matrix to slant the font -->
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix><double>1</double><double>0.2</double>
+ <double>0</double><double>1</double>
+ </matrix>
+ </times>
+ </edit>
+ <!-- pretend the font is oblique now -->
+ <edit name="slant" mode="assign">
+ <const>oblique</const>
+ </edit>
+ <!-- and disable embedded bitmaps for artificial oblique -->
+ <edit name="embeddedbitmap" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+<!--
+ Synthetic emboldening for fonts that do not have bold face available
+ -->
+
+ <match target="font">
+ <!-- check to see if the font is just regular -->
+ <test name="weight" compare="less_eq">
+ <const>medium</const>
+ </test>
+ <!-- check to see if the pattern requests bold -->
+ <test target="pattern" name="weight" compare="more">
+ <const>medium</const>
+ </test>
+ <!--
+ set the embolden flag
+ needed for applications using cairo, e.g. gucharmap, gedit, ...
+ -->
+ <edit name="embolden" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <!--
+ set weight to bold
+ needed for applications using Xft directly, e.g. Firefox, ...
+ -->
+ <edit name="weight" mode="assign">
+ <const>bold</const>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/README b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/README
new file mode 100644
index 0000000..dbcfe21
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.avail/README
@@ -0,0 +1,48 @@
+conf.d/README
+
+Each file in this directory is a fontconfig configuration file. Fontconfig
+scans this directory, loading all files of the form [0-9][0-9]*. These files
+are normally installed in ../conf.avail and then symlinked here, allowing
+them to be easily installed and then enabled/disabled by adjusting the
+symlinks.
+
+The files are loaded in numeric order, the structure of the configuration
+has led to the following conventions in usage:
+
+ Files begining with: Contain:
+
+ 00 through 09 Font directories
+ 10 through 19 system rendering defaults (AA, etc)
+ 10-autohint.conf
+ 10-no-sub-pixel.conf
+ 10-sub-pixel-bgr.conf
+ 10-sub-pixel-rgb.conf
+ 10-sub-pixel-vbgr.conf
+ 10-sub-pixel-vrgb.conf
+ 10-unhinted.conf
+ 20 through 29 font rendering options
+ 20-fix-globaladvance.conf
+ 20-lohit-gujarati.conf
+ 20-unhint-small-vera.conf
+ 30 through 39 family substitution
+ 30-urw-aliases.conf
+ 30-amt-aliases.conf
+ 40 through 49 generic identification, map family->generic
+ 40-generic-id.conf
+ 49-sansserif.conf
+ 50 through 59 alternate config file loading
+ 50-user.conf Load ~/.fonts.conf
+ 51-local.conf Load local.conf
+ 60 through 69 generic aliases
+ 60-latin.conf
+ 65-fonts-persian.conf
+ 65-nonlatin.conf
+ 69-unifont.conf
+ 70 through 79 select font (adjust which fonts are available)
+ 70-no-bitmaps.conf
+ 70-yes-bitmaps.conf
+ 80 through 89 match target="scan" (modify scanned patterns)
+ 80-delicious.conf
+ 90 through 98 font synthesis
+ 90-synthetic.conf
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-fix-globaladvance.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-fix-globaladvance.conf
new file mode 100644
index 0000000..a62162c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-fix-globaladvance.conf
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ Some Asian fonts misadvertise themselves as monospaced when
+ in fact they are dual-spaced (half and full). This makes
+ FreeType very confused as it forces all widths to match.
+ Undo this magic by disabling the width forcing code -->
+ <match target="font">
+ <test name="family"><string>GulimChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>DotumChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>BatangChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+
+ <match target="font">
+ <test name="family"><string>GungsuhChe</string></test>
+ <edit name="globaladvance"><bool>false</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-lohit-gujarati.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-lohit-gujarati.conf
new file mode 100644
index 0000000..1c29d0d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-lohit-gujarati.conf
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+<!-- Available Gujarti fonts look much better without hinting -->
+
+ <match target="font">
+ <test name="family"><string>Lohit Gujarati</string></test>
+ <edit name="hinting"><bool>false</bool></edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-unhint-small-vera.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-unhint-small-vera.conf
new file mode 100644
index 0000000..3078119
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/20-unhint-small-vera.conf
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ The Bitstream Vera fonts have GASP entries suggesting that hinting be
+ disabled below 8 ppem, but FreeType ignores those, preferring to use
+ the data found in the instructed hints. The initial Vera release
+ didn't include the right instructions in the 'prep' table. Fix this
+ by disabling hinting manually at smaller sizes (< 8ppem)
+ -->
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Sans</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Serif</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Bitstream Vera Sans Mono</string>
+ </test>
+ <test name="pixelsize" compare="less">
+ <double>7.5</double>
+ </test>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-amt-aliases.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-amt-aliases.conf
new file mode 100644
index 0000000..d6df67e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-amt-aliases.conf
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ AMT provides metric and shape compatible fonts for these three web font
+ families.
+ -->
+ <alias>
+ <family>Times New Roman</family>
+ <accept><family>Thorndale AMT</family></accept>
+ </alias>
+ <alias>
+ <family>Arial</family>
+ <accept><family>Albany AMT</family></accept>
+ </alias>
+ <alias>
+ <family>Courier New</family>
+ <accept><family>Cumberland AMT</family></accept>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-urw-aliases.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-urw-aliases.conf
new file mode 100644
index 0000000..cf90dd5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/30-urw-aliases.conf
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- conf.d/sub-pixel.conf -->
+<fontconfig>
+<!--
+ URW provides metric and shape compatible fonts for these 10 Adobe families.
+ -->
+ <alias>
+ <family>Avant Garde</family>
+ <accept><family>URW Gothic L</family></accept>
+ </alias>
+ <alias>
+ <family>Bookman</family>
+ <accept><family>URW Bookman L</family></accept>
+ </alias>
+ <alias>
+ <family>Courier</family>
+ <accept><family>Nimbus Mono L</family></accept>
+ </alias>
+ <alias>
+ <family>Helvetica</family>
+ <accept><family>Nimbus Sans L</family></accept>
+ </alias>
+ <alias>
+ <family>New Century Schoolbook</family>
+ <accept><family>Century Schoolbook L</family></accept>
+ </alias>
+ <alias>
+ <family>Palatino</family>
+ <accept><family>URW Palladio L</family></accept>
+ </alias>
+ <alias>
+ <family>Times</family>
+ <accept><family>Nimbus Roman No9 L</family></accept>
+ </alias>
+ <alias>
+ <family>Zapf Chancery</family>
+ <accept><family>URW Chancery L</family></accept>
+ </alias>
+ <alias>
+ <family>Zapf Dingbats</family>
+ <accept><family>Dingbats</family></accept>
+ </alias>
+ <match target="pattern">
+ <test name="family">
+ <string>Symbol</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Standard Symbols L</string>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/40-generic.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/40-generic.conf
new file mode 100644
index 0000000..84e85e4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/40-generic.conf
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ Mark common families with their generics so we'll get
+ something reasonable
+-->
+
+<!--
+ Serif faces
+ -->
+ <alias>
+ <family>Bitstream Vera Serif</family>
+ <family>DejaVu Serif</family>
+ <family>Times New Roman</family>
+ <family>Times</family>
+ <family>Nimbus Roman No9 L</family>
+ <family>Luxi Serif</family>
+ <family>Kochi Mincho</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>MS 明朝</family>
+ <family>Baekmuk Batang</family>
+ <family>FreeSerif</family>
+ <family>MgOpen Canonica</family>
+ <default><family>serif</family></default>
+ </alias>
+<!--
+ Sans-serif faces
+ -->
+ <alias>
+ <family>Bitstream Vera Sans</family>
+ <family>DejaVu Sans</family>
+ <family>Helvetica</family>
+ <family>Arial</family>
+ <family>Verdana</family>
+ <family>Albany AMT</family>
+ <family>Nimbus Sans L</family>
+ <family>Luxi Sans</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>AR PL KaitiM Big5</family>
+ <family>MS ゴシック</family>
+ <family>Baekmuk Dotum</family>
+ <family>SimSun</family>
+ <family>FreeSans</family>
+ <family>MgOpen Modata</family>
+ <default><family>sans-serif</family></default>
+ </alias>
+<!--
+ Monospace faces
+ -->
+ <alias>
+ <family>Bitstream Vera Sans Mono</family>
+ <family>DejaVu Sans Mono</family>
+ <family>Courier</family>
+ <family>Courier New</family>
+ <family>Andale Mono</family>
+ <family>Luxi Mono</family>
+ <family>Cumberland AMT</family>
+ <family>Nimbus Mono L</family>
+ <family>NSimSun</family>
+ <family>FreeMono</family>
+ <default><family>monospace</family></default>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/49-sansserif.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/49-sansserif.conf
new file mode 100644
index 0000000..c6209a7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/49-sansserif.conf
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ If the font still has no generic name, add sans-serif
+ -->
+ <match target="pattern">
+ <test qual="all" name="family" compare="not_eq">
+ <string>sans-serif</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>serif</string>
+ </test>
+ <test qual="all" name="family" compare="not_eq">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="append_last">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/50-user.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/50-user.conf
new file mode 100644
index 0000000..9a38a40
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/50-user.conf
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.avail/50-user.conf file to configure system font access -->
+<fontconfig>
+ <!-- Load per-user customization file -->
+ <include ignore_missing="yes">~/.fonts.conf</include>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/51-local.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/51-local.conf
new file mode 100644
index 0000000..d35046e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/51-local.conf
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.avail/51-local.conf file to configure system font access -->
+<fontconfig>
+ <!-- Load local system customization file -->
+ <include ignore_missing="yes">local.conf</include>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/60-latin.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/60-latin.conf
new file mode 100644
index 0000000..06cdd7e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/60-latin.conf
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Bitstream Vera Serif</family>
+ <family>DejaVu Serif</family>
+ <family>Times New Roman</family>
+ <family>Thorndale AMT</family>
+ <family>Luxi Serif</family>
+ <family>Nimbus Roman No9 L</family>
+ <family>Times</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Bitstream Vera Sans</family>
+ <family>DejaVu Sans</family>
+ <family>Verdana</family>
+ <family>Arial</family>
+ <family>Albany AMT</family>
+ <family>Luxi Sans</family>
+ <family>Nimbus Sans L</family>
+ <family>Helvetica</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Bitstream Vera Sans Mono</family>
+ <family>DejaVu Sans Mono</family>
+ <family>Andale Mono</family>
+ <family>Courier New</family>
+ <family>Cumberland AMT</family>
+ <family>Luxi Mono</family>
+ <family>Nimbus Mono L</family>
+ <family>Courier</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-fonts-persian.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-fonts-persian.conf
new file mode 100644
index 0000000..e30c4d9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-fonts-persian.conf
@@ -0,0 +1,539 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.d/10-fonts-persian.conf -->
+<!--
+ fonts-persian.conf
+ To configure Persian fonts from The FarsiWeb Project.
+
+ Copyright (C) 2005 Sharif FarsiWeb, Inc. <license@farsiweb.info>
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the name of Sharif FarsiWeb, Inc. not be used in
+ advertising or publicity pertaining to distribution of the software without
+ specific, written prior permission. Sharif FarsiWeb, Inc. makes no
+ representations about the suitability of this software for any purpose. It
+ is provided "as is" without express or implied warranty.
+
+ SHARIF FARSIWEB, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
+
+ ChangeLog:
+ 2005-04-03 Behdad Esfahbod: Initial revision.
+ 2005-10-09 Behdad Esfahbod: Turned off back-slant and Tahoma sections.
+ 2005-11-30 Behdad Esfahbod: Set Titr susbtitution size to 24 points.
+
+ Todo:
+ Add generic font "fantasy". Add some fonts into that category.
+ Maybe add a "cursive" generic font.
+ -->
+<fontconfig>
+
+
+<!--
+ We don't want weak bindings. So got to use the syntactical expansion
+ of alias tag to do binding=same :(. Please support that in alias.
+ -->
+
+
+<!-- Deprecated fonts are discouraged -->
+
+ <!-- Nesf[2] is officially deprecated and has problematic tables -->
+ <match>
+ <test name="family">
+ <string>Nesf</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Nesf2</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Nesf2</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Persian_sansserif_default</string>
+ </edit>
+ </match>
+
+ <!-- Tahoma looks awful (TURNED-OFF) -->
+ <!--match>
+ <test name="family">
+ <string>Tahoma</string>
+ </test>
+ <edit name="family" mode="prepend" binding="same">
+ <string>Persian_sansserif_default</string>
+ </edit>
+ </match-->
+
+<!-- Name changes and spelling variant aliases -->
+
+ <!-- Changed due to trademark problems -->
+ <match>
+ <test name="family">
+ <string>Nazanin</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Nazli</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Lotus</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Lotoos</string>
+ </edit>
+ </match>
+
+ <!-- Changed due to transcription orthography -->
+ <match>
+ <test name="family">
+ <string>Yaqut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Yagut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Yaghut</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Yaghoot</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Traffic</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Terafik</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Ferdowsi</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Ferdosi</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Fantezy</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Fantezi</string>
+ </edit>
+ </match>
+
+
+<!-- Classify fonts. -->
+
+ <!-- Persian_title class -->
+ <match>
+ <test name="family">
+ <string>Jadid</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_title</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Titr</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_title</string>
+ </edit>
+ </match>
+
+ <!-- Persian_fantasy class -->
+ <match>
+ <test name="family">
+ <string>Kamran</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Homa</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Homa</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Kamran</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Fantezi</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Tabassom</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_fantasy</string>
+ </edit>
+ </match>
+
+ <!-- Persian_square class -->
+ <match>
+ <test name="family">
+ <string>Arshia</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Nasim</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Elham</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Farnaz</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Farnaz</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Elham</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+ <match>
+ <test name="family">
+ <string>Sina</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ </match>
+
+<!-- Font ordering per class -->
+
+ <!-- Persian_title class -->
+ <match>
+ <test name="family">
+ <string>Persian_title</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_serif</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Jadid</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- Persian_fantasy class -->
+ <match>
+ <test name="family">
+ <string>Persian_fantasy</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_square</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Tabassom</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Fantezi</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Kamran</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Homa</string>
+ </edit>
+ </match>
+
+ <!-- Persian_square class -->
+ <match>
+ <test name="family">
+ <string>Persian_square</string>
+ </test>
+ <edit name="family" mode="append" binding="same">
+ <string>Persian_serif</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Sina</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Nasim</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Farnaz</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Elham</string>
+ </edit>
+ <edit name="family" mode="append" binding="same">
+ <string>Arshia</string>
+ </edit>
+ </match>
+
+<!-- Register the fonts that we actually do have -->
+
+ <match target="font">
+ <test name="family">
+ <string>Elham</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Homa</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Koodak</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Nazli</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Roya</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Terafik</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+ <match target="font">
+ <test name="family">
+ <string>Titr</string>
+ </test>
+ <edit name="foundry">
+ <string>farsiweb</string>
+ </edit>
+ </match>
+
+
+<!-- Our fonts should oblique to the other side (TURNED-OFF) -->
+
+ <match target="font">
+ <test name="foundry">
+ <!--string>farsiweb</string-->
+ <string>TURNED-OFF</string>
+ </test>
+ <test name="foundry">
+ <string>farsiweb</string>
+ </test>
+ <!-- check to see if the font is roman -->
+ <test name="slant">
+ <const>roman</const>
+ </test>
+ <!-- check to see if the pattern requested non-roman -->
+ <test target="pattern" name="slant" compare="not_eq">
+ <const>roman</const>
+ </test>
+ <!-- multiply the matrix to slant the font -->
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix><double>1</double><double>-0.2</double>
+ <double>0</double><double>1</double>
+ </matrix>
+ </times>
+ </edit>
+ <!-- pretend the font is oblique now -->
+ <edit name="slant" mode="assign">
+ <const>oblique</const>
+ </edit>
+ </match>
+
+
+<!--
+ We can't hint our fonts well, so turn off hinting.
+ Moreover, the bitmaps we have designed (well, they
+ have designed), suck, so disable them too.
+ -->
+
+ <match target="font">
+ <test name="foundry">
+ <string>farsiweb</string>
+ </test>
+ <edit name="autohint">
+ <bool>false</bool>
+ </edit>
+ <edit name="hinting">
+ <bool>false</bool>
+ </edit>
+ <edit name="embeddedbitmap">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+
+<!-- Alias our fonts to common families -->
+
+ <!-- Persian serif fonts -->
+ <alias>
+ <family>serif</family>
+ <accept>
+ <family>Nazli</family>
+ <family>Lotoos</family>
+ <family>Mitra</family>
+ <family>Ferdosi</family>
+ <family>Badr</family>
+ <family>Zar</family>
+ </accept>
+ </alias>
+
+ <!-- Persian sans-serif fonts -->
+ <alias>
+ <family>sans-serif</family>
+ <accept>
+ <family>Roya</family>
+ <family>Koodak</family>
+ <family>Terafik</family>
+ </accept>
+ </alias>
+
+ <!-- Persian monospace fonts -->
+ <alias>
+ <family>monospace</family>
+ <accept>
+ <!-- Not really monospace -->
+ <family>Terafik</family>
+ </accept>
+ </alias>
+
+
+<!-- Use Titr in titles -->
+
+ <!-- Both serif... -->
+ <match>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- and sans-serif. -->
+ <match>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+ <!-- and more. -->
+ <match>
+ <test name="family">
+ <string>Persian_sansserif_default</string>
+ </test>
+ <test name="weight" compare="more_eq">
+ <int>200</int>
+ </test>
+ <test name="size" compare="more_eq">
+ <double>24</double>
+ </test>
+ <edit name="family" mode="prepend" binding="same">
+ <string>Titr</string>
+ </edit>
+ </match>
+
+
+<!-- Default substituted for deprecated sans-serif fonts -->
+
+ <match>
+ <test name="family">
+ <string>Persian_sansserif_default</string>
+ </test>
+ <edit name="family" mode="assign" binding="same">
+ <string>Roya</string>
+ </edit>
+ </match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-nonlatin.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-nonlatin.conf
new file mode 100644
index 0000000..f8dbb64
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/65-nonlatin.conf
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Frank Ruehl</family>
+ <family>MgOpen Canonica</family>
+ <family>Kochi Mincho</family>
+ <family>AR PL SungtiL GB</family>
+ <family>AR PL Mingti2L Big5</family>
+ <family>MS 明朝</family>
+ <family>Baekmuk Batang</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Nachlieli</family>
+ <family>MgOpen Modata</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>AR PL KaitiM Big5</family>
+ <family>MS ゴシック</family>
+ <family>Baekmuk Dotum</family>
+ <family>SimSun</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Miriam Mono</family>
+ <family>Kochi Gothic</family>
+ <family>AR PL KaitiM GB</family>
+ <family>Baekmuk Dotum</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/69-unifont.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/69-unifont.conf
new file mode 100644
index 0000000..a784af9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/69-unifont.conf
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>FreeSerif</family>
+ <family>Code2000</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>FreeSans</family>
+ <family>Arial Unicode MS</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>FreeMono</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/80-delicious.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/80-delicious.conf
new file mode 100644
index 0000000..701429b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/80-delicious.conf
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/conf.d/60-delicious.conf -->
+<fontconfig>
+<!-- Fix-ups for Delicious family -->
+
+<!-- Delicious 'heavy' variant says its Medium weight -->
+<match target="scan">
+ <test name="family">
+ <string>Delicious</string>
+ </test>
+ <test name="style">
+ <string>Heavy</string>
+ </test>
+ <edit name="weight">
+ <const>heavy</const>
+ </edit>
+</match>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/90-synthetic.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/90-synthetic.conf
new file mode 100644
index 0000000..63d9b89
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/conf.d/90-synthetic.conf
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+<!--
+ Artificial oblique for fonts without an italic or oblique version
+ -->
+
+ <match target="font">
+ <!-- check to see if the font is roman -->
+ <test name="slant">
+ <const>roman</const>
+ </test>
+ <!-- check to see if the pattern requested non-roman -->
+ <test target="pattern" name="slant" compare="not_eq">
+ <const>roman</const>
+ </test>
+ <!-- multiply the matrix to slant the font -->
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix><double>1</double><double>0.2</double>
+ <double>0</double><double>1</double>
+ </matrix>
+ </times>
+ </edit>
+ <!-- pretend the font is oblique now -->
+ <edit name="slant" mode="assign">
+ <const>oblique</const>
+ </edit>
+ <!-- and disable embedded bitmaps for artificial oblique -->
+ <edit name="embeddedbitmap" mode="assign">
+ <bool>false</bool>
+ </edit>
+ </match>
+
+<!--
+ Synthetic emboldening for fonts that do not have bold face available
+ -->
+
+ <match target="font">
+ <!-- check to see if the font is just regular -->
+ <test name="weight" compare="less_eq">
+ <const>medium</const>
+ </test>
+ <!-- check to see if the pattern requests bold -->
+ <test target="pattern" name="weight" compare="more">
+ <const>medium</const>
+ </test>
+ <!--
+ set the embolden flag
+ needed for applications using cairo, e.g. gucharmap, gedit, ...
+ -->
+ <edit name="embolden" mode="assign">
+ <bool>true</bool>
+ </edit>
+ <!--
+ set weight to bold
+ needed for applications using Xft directly, e.g. Firefox, ...
+ -->
+ <edit name="weight" mode="assign">
+ <const>bold</const>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.conf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.conf
new file mode 100644
index 0000000..a2b8293
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.conf
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/fonts.conf file to configure system font access -->
+<fontconfig>
+
+<!--
+ DO NOT EDIT THIS FILE.
+ IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
+ LOCAL CHANGES BELONG IN 'local.conf'.
+
+ The intent of this standard configuration file is to be adequate for
+ most environments. If you have a reasonably normal environment and
+ have found problems with this configuration, they are probably
+ things that others will also want fixed. Please submit any
+ problems to the fontconfig bugzilla system located at fontconfig.org
+
+ Note that the normal 'make install' procedure for fontconfig is to
+ replace any existing fonts.conf file with the new version. Place
+ any local customizations in local.conf which this file references.
+
+ Keith Packard
+-->
+
+
+<!-- Font directory list -->
+
+ <dir>#FONTDIR#</dir>
+ <dir>~/.fonts</dir>
+
+<!-- Font cache directory list-->
+
+ <cachedir>c:/windows</cachedir>
+ <cachedir>~/.fontconfig</cachedir>
+
+
+<!--
+ Accept deprecated 'mono' alias, replacing it with 'monospace'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>mono</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>monospace</string>
+ </edit>
+ </match>
+
+
+
+
+<!--
+ Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans serif</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+
+
+<!--
+ Accept deprecated 'sans' alias, replacing it with 'sans-serif'
+-->
+ <match target="pattern">
+ <test qual="any" name="family">
+ <string>sans</string>
+ </test>
+ <edit name="family" mode="assign">
+ <string>sans-serif</string>
+ </edit>
+ </match>
+<!--
+ Load local system customization file
+-->
+ <include ignore_missing="yes">conf.d</include>
+
+ <config>
+<!--
+ These are the default Unicode chars that are expected to be blank
+ in fonts. All other blank chars are assumed to be broken and
+ won't appear in the resulting charsets
+ -->
+ <blank>
+ <int>0x0020</int> <!-- SPACE -->
+ <int>0x00A0</int> <!-- NO-BREAK SPACE -->
+ <int>0x00AD</int> <!-- SOFT HYPHEN -->
+ <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
+ <int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
+ <int>0x0601</int> <!-- ARABIC SIGN SANAH -->
+ <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
+ <int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
+ <int>0x06DD</int> <!-- ARABIC END OF AYAH -->
+ <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
+ <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
+ <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
+ <int>0x1680</int> <!-- OGHAM SPACE MARK -->
+ <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
+ <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
+ <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
+ <int>0x2000</int> <!-- EN QUAD -->
+ <int>0x2001</int> <!-- EM QUAD -->
+ <int>0x2002</int> <!-- EN SPACE -->
+ <int>0x2003</int> <!-- EM SPACE -->
+ <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
+ <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
+ <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
+ <int>0x2007</int> <!-- FIGURE SPACE -->
+ <int>0x2008</int> <!-- PUNCTUATION SPACE -->
+ <int>0x2009</int> <!-- THIN SPACE -->
+ <int>0x200A</int> <!-- HAIR SPACE -->
+ <int>0x200B</int> <!-- ZERO WIDTH SPACE -->
+ <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
+ <int>0x200D</int> <!-- ZERO WIDTH JOINER -->
+ <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
+ <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
+ <int>0x2028</int> <!-- LINE SEPARATOR -->
+ <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
+ <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
+ <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
+ <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
+ <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
+ <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
+ <int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
+ <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
+ <int>0x2060</int> <!-- WORD JOINER -->
+ <int>0x2061</int> <!-- FUNCTION APPLICATION -->
+ <int>0x2062</int> <!-- INVISIBLE TIMES -->
+ <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
+ <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
+ <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
+ <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
+ <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
+ <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
+ <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
+ <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
+ <int>0x3164</int> <!-- HANGUL FILLER -->
+ <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
+ <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
+ <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
+ <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
+ <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
+ </blank>
+<!--
+ Rescan configuration every 30 seconds when FcFontSetList is called
+ -->
+ <rescan>
+ <int>30</int>
+ </rescan>
+ </config>
+
+</fontconfig>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.dtd b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.dtd
new file mode 100644
index 0000000..a5c54f9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/fonts/fonts.dtd
@@ -0,0 +1,222 @@
+<!-- This is the Document Type Definition for font configuration files -->
+<!ELEMENT fontconfig (dir |
+ cache |
+ cachedir |
+ include |
+ config |
+ selectfont |
+ match |
+ alias)* >
+
+<!--
+ Add a directory that provides fonts
+-->
+<!ELEMENT dir (#PCDATA)>
+<!ATTLIST dir xml:space (default|preserve) 'preserve'>
+
+<!--
+ Define the per-user file that holds cache font information.
+
+ If the filename begins with '~', it is replaced with the users
+ home directory path.
+-->
+<!ELEMENT cache (#PCDATA)>
+<!ATTLIST cache xml:space (default|preserve) 'preserve'>
+
+<!--
+ Add a directory that is searched for font cache files.
+ These hold per-directory cache data and are searched in
+ order for each directory. When writing cache files, the first
+ directory which allows the cache file to be created is used.
+
+ A leading '~' in a directory name is replaced with the users
+ home directory path.
+-->
+<!ELEMENT cachedir (#PCDATA)>
+<!ATTLIST cachedir xml:space (default|preserve) 'preserve'>
+
+<!--
+ Reference another configuration file; note that this
+ is another complete font configuration file and not
+ just a file included by the XML parser.
+
+ Set 'ignore_missing' to 'yes' if errors are to be ignored.
+
+ If the filename begins with '~', it is replaced with the users
+ home directory path.
+-->
+<!ELEMENT include (#PCDATA)>
+<!ATTLIST include
+ ignore_missing (no|yes) "no"
+ xml:space (default|preserve) "preserve">
+
+<!--
+ Global library configuration data
+ -->
+<!ELEMENT config (blank|rescan)*>
+
+<!--
+ Specify the set of Unicode encoding values which
+ represent glyphs that are allowed to contain no
+ data. With this list, fontconfig can examine
+ fonts for broken glyphs and eliminate them from
+ the set of valid Unicode chars. This idea
+ was borrowed from Mozilla
+ -->
+<!ELEMENT blank (int)*>
+
+<!--
+ Aliases are just a special case for multiple match elements
+
+ They are syntactically equivalent to:
+
+ <match>
+ <test name="family">
+ <string value=[family]/>
+ </test>
+ <edit name="family" mode="prepend">
+ <string value=[prefer]/>
+ ...
+ </edit>
+ <edit name="family" mode="append">
+ <string value=[accept]/>
+ ...
+ </edit>
+ <edit name="family" mode="append_last">
+ <string value=[default]/>
+ ...
+ </edit>
+ </match>
+-->
+<!--
+ Periodically rescan the font configuration and
+ directories to synch internal state with filesystem
+ -->
+<!ELEMENT rescan (int)>
+
+<!--
+ Edit list of available fonts at startup/reload time
+ -->
+<!ELEMENT selectfont (rejectfont | acceptfont)* >
+
+<!ELEMENT rejectfont (glob | pattern)*>
+
+<!ELEMENT acceptfont (glob | pattern)*>
+
+<!ELEMENT glob (#PCDATA)>
+
+<!ELEMENT pattern (patelt)*>
+
+<!ENTITY % constant 'int|double|string|matrix|bool|charset|const'>
+
+<!ELEMENT patelt (%constant;)*>
+<!ATTLIST patelt
+ name CDATA #REQUIRED>
+
+<!ELEMENT alias (family*, prefer?, accept?, default?)>
+<!ELEMENT prefer (family)*>
+<!ELEMENT accept (family)*>
+<!ELEMENT default (family)*>
+<!ELEMENT family (#PCDATA)>
+<!ATTLIST family xml:space (default|preserve) 'preserve'>
+
+<!ENTITY % expr 'int|double|string|matrix|bool|charset
+ |name|const
+ |or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
+ |plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
+
+<!--
+ Match and edit patterns.
+
+ If 'target' is 'pattern', execute the match before selecting a font.
+ if 'target' is 'font', execute the match on the result of a font
+ selection.
+-->
+<!ELEMENT match (test*, edit*)>
+<!ATTLIST match
+ target (pattern|font|scan) "pattern">
+
+<!--
+ Match a field in a pattern
+
+ if 'qual' is 'any', then the match succeeds if any value in the field matches.
+ if 'qual' is 'all', then the match succeeds only if all values match.
+ if 'qual' is 'first', then the match succeeds only if the first value matches.
+ if 'qual' is 'not_first', then the match succeeds only if any value other than
+ the first matches.
+ For match elements with target=font, if test 'target' is 'pattern',
+ then the test is applied to the pattern used in matching rather than
+ to the resulting font.
+
+ Match elements with target=scan are applied as fonts are scanned.
+ They edit the pattern generated from the scanned font and affect
+ what the fontconfig database contains.
+-->
+<!ELEMENT test (%expr;)*>
+<!ATTLIST test
+ qual (any|all|first|not_first) "any"
+ name CDATA #REQUIRED
+ target (pattern|font|default) "default"
+ compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains) "eq">
+
+<!--
+ Edit a field in a pattern
+
+ The enclosed values are used together to edit the list of values
+ associated with 'name'.
+
+ If 'name' matches one of those used in a test element for this match element:
+ if 'mode' is 'assign', replace the matched value.
+ if 'mode' is 'assign_replace', replace all of the values
+ if 'mode' is 'prepend', insert before the matched value
+ if 'mode' is 'append', insert after the matched value
+ if 'mode' is 'prepend_first', insert before all of the values
+ if 'mode' is 'append_last', insert after all of the values
+ If 'name' doesn't match any of those used in a test element:
+ if 'mode' is 'assign' or 'assign_replace, replace all of the values
+ if 'mode' is 'prepend' or 'prepend_first', insert before all of the values
+ if 'mode' is 'append' or 'append_last', insert after all of the values
+-->
+<!ELEMENT edit (%expr;)*>
+<!ATTLIST edit
+ name CDATA #REQUIRED
+ mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign"
+ binding (weak|strong|same) "weak">
+
+<!--
+ Elements of expressions follow
+-->
+<!ELEMENT int (#PCDATA)>
+<!ATTLIST int xml:space (default|preserve) 'preserve'>
+<!ELEMENT double (#PCDATA)>
+<!ATTLIST double xml:space (default|preserve) 'preserve'>
+<!ELEMENT string (#PCDATA)>
+<!ATTLIST string xml:space (default|preserve) 'preserve'>
+<!ELEMENT matrix (double,double,double,double)>
+<!ELEMENT bool (#PCDATA)>
+<!ELEMENT charset (#PCDATA)>
+<!ATTLIST charset xml:space (default|preserve) 'preserve'>
+<!ELEMENT name (#PCDATA)>
+<!ATTLIST name xml:space (default|preserve) 'preserve'>
+<!ELEMENT const (#PCDATA)>
+<!ATTLIST const xml:space (default|preserve) 'preserve'>
+<!ELEMENT or (%expr;)*>
+<!ELEMENT and (%expr;)*>
+<!ELEMENT eq ((%expr;), (%expr;))>
+<!ELEMENT not_eq ((%expr;), (%expr;))>
+<!ELEMENT less ((%expr;), (%expr;))>
+<!ELEMENT less_eq ((%expr;), (%expr;))>
+<!ELEMENT more ((%expr;), (%expr;))>
+<!ELEMENT more_eq ((%expr;), (%expr;))>
+<!ELEMENT contains ((%expr;), (%expr;))>
+<!ELEMENT not_contains ((%expr;), (%expr;))>
+<!ELEMENT plus (%expr;)*>
+<!ELEMENT minus (%expr;)*>
+<!ELEMENT times (%expr;)*>
+<!ELEMENT divide (%expr;)*>
+<!ELEMENT not (%expr;)>
+<!ELEMENT if ((%expr;), (%expr;), (%expr;))>
+<!ELEMENT floor (%expr;)>
+<!ELEMENT ceil (%expr;)>
+<!ELEMENT round (%expr;)>
+<!ELEMENT trunc (%expr;)>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gdk-pixbuf.loaders b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gdk-pixbuf.loaders
new file mode 100644
index 0000000..fc61dd0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gdk-pixbuf.loaders
@@ -0,0 +1,114 @@
+# GdkPixbuf Image Loader Modules file
+# Automatically generated file, do not edit
+# Created by gdk-pixbuf-query-loaders.exe from gtk+-2.10.6
+#
+# LoaderDir = /target/lib/gtk-2.0/2.10.0/loaders
+#
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ani.dll"
+"ani" 4 "gtk20" "The ANI image format"
+"application/x-navi-animation" ""
+"ani" ""
+"RIFF ACON" " xxxx " 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-bmp.dll"
+"bmp" 5 "gtk20" "The BMP image format"
+"image/bmp" "image/x-bmp" "image/x-MS-bmp" ""
+"bmp" ""
+"BM" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-gif.dll"
+"gif" 4 "gtk20" "The GIF image format"
+"image/gif" ""
+"gif" ""
+"GIF8" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ico.dll"
+"ico" 5 "gtk20" "The ICO image format"
+"image/x-icon" ""
+"ico" "cur" ""
+" \001 " "zz znz" 100
+" \002 " "zz znz" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-jpeg.dll"
+"jpeg" 5 "gtk20" "The JPEG image format"
+"image/jpeg" ""
+"jpeg" "jpe" "jpg" ""
+"\377\330" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pcx.dll"
+"pcx" 4 "gtk20" "The PCX image format"
+"image/x-pcx" ""
+"pcx" ""
+"\n \001" "" 100
+"\n\002\001" "" 100
+"\n\003\001" "" 100
+"\n\004\001" "" 100
+"\n\005\001" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.dll"
+"png" 5 "gtk20" "The PNG image format"
+"image/png" ""
+"png" ""
+"\211PNG\r\n\032\n" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-pnm.dll"
+"pnm" 4 "gtk20" "The PNM/PBM/PGM/PPM image format family"
+"image/x-portable-anymap" "image/x-portable-bitmap" "image/x-portable-graymap" "image/x-portable-pixmap" ""
+"pnm" "pbm" "pgm" "ppm" ""
+"P1" "" 100
+"P2" "" 100
+"P3" "" 100
+"P4" "" 100
+"P5" "" 100
+"P6" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-ras.dll"
+"ras" 4 "gtk20" "The Sun raster image format"
+"image/x-cmu-raster" "image/x-sun-raster" ""
+"ras" ""
+"Y\246j\225" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tga.dll"
+"tga" 4 "gtk20" "The Targa image format"
+"image/x-tga" ""
+"tga" "targa" ""
+" \001\001" "x " 100
+" \001\t" "x " 100
+" \002" "xz " 99
+" \003" "xz " 100
+" \n" "xz " 100
+" \013" "xz " 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-tiff.dll"
+"tiff" 1 "gtk20" "The TIFF image format"
+"image/tiff" ""
+"tiff" "tif" ""
+"MM *" " z " 100
+"II* " " z" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-wbmp.dll"
+"wbmp" 4 "gtk20" "The WBMP image format"
+"image/vnd.wap.wbmp" ""
+"wbmp" ""
+" " "z" 1
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xbm.dll"
+"xbm" 4 "gtk20" "The XBM image format"
+"image/x-xbitmap" ""
+"xbm" ""
+"#define " "" 100
+"/*" "" 50
+
+"/target/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-xpm.dll"
+"xpm" 4 "gtk20" "The XPM image format"
+"image/x-xpixmap" ""
+"xpm" ""
+"/* XPM */" "" 100
+
+"/target/lib/gtk-2.0/2.10.0/loaders/svg_loader.dll"
+"svg" 2 "gtk20" "Scalable Vector Graphics"
+"image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" ""
+"svg" "svgz" "svg.gz" ""
+" <svg" "* " 100
+" <!DOCTYPE svg" "* " 100
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtk.immodules b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtk.immodules
new file mode 100644
index 0000000..0a62739
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtk.immodules
@@ -0,0 +1,36 @@
+# GTK+ Input Method Modules file
+# Automatically generated file, do not edit
+# Created by gtk-query-immodules-2.0.exe from gtk+-2.10.6
+#
+# ModulesPath = /target/lib/gtk-2.0/2.4.0/immodules
+#
+"/target/lib/gtk-2.0/2.10.0/immodules/im-am-et.dll"
+"am_et" "Amharic (EZ+)" "gtk20" "${prefix}/share/locale" "am"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll"
+"cedilla" "Cedilla" "gtk+" "${prefix}/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.dll"
+"cyrillic_translit" "Cyrillic (Transliterated)" "gtk20" "${prefix}/share/locale" ""
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-ime.dll"
+"ime" "Windows IME" "gtk+" "" "ja:ko:zh"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.dll"
+"inuktitut" "Inuktitut (Transliterated)" "gtk20" "${prefix}/share/locale" "iu"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-ipa.dll"
+"ipa" "IPA" "gtk20" "${prefix}/share/locale" ""
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-thai-broken.dll"
+"thai_broken" "Thai (Broken)" "gtk20" "${prefix}/share/locale" ""
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-ti-er.dll"
+"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk20" "${prefix}/share/locale" "ti"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-ti-et.dll"
+"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk20" "${prefix}/share/locale" "ti"
+
+"/target/lib/gtk-2.0/2.10.0/immodules/im-viqr.dll"
+"viqr" "Vietnamese (VIQR)" "gtk20" "${prefix}/share/locale" "vi"
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtkrc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtkrc
new file mode 100644
index 0000000..4a0ddd0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/gtk-2.0/gtkrc
@@ -0,0 +1 @@
+gtk-theme-name = "MS-Windows"
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.aliases b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.aliases
new file mode 100644
index 0000000..1d1894a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.aliases
@@ -0,0 +1,7 @@
+courier = "courier new"
+
+tahoma = "tahoma,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal"
+sans = "arial,browallia new,mingliu,simhei,gulimche,ms gothic,latha,mangal"
+serif = "times new roman,angsana new,mingliu,simsun,gulimche,ms gothic,latha,mangal"
+monospace = "courier new,courier monothai,mingliu,simsun,gulimche,ms gothic,latha,mangal"
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.modules b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.modules
new file mode 100644
index 0000000..d364a6a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/etc/pango/pango.modules
@@ -0,0 +1,35 @@
+# Pango Modules file
+# Automatically generated file, do not edit
+#
+# ModulesPath = /target/lib/pango/1.6.0/modules
+#
+"/target/lib/pango/1.6.0/modules/pango-arabic-fc.dll" ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:*
+"/target/lib/pango/1.6.0/modules/pango-arabic-lang.dll" ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
+"/target/lib/pango/1.6.0/modules/pango-basic-fc.dll" BasicScriptEngineFc PangoEngineShape PangoRenderFc armenian:* bopomofo:* cherokee:* coptic:* cyrillic:* deseret:* ethiopic:* georgian:* gothic:* greek:* han:* hiragana:* katakana:* latin:* ogham:* old-italic:* runic:* canadian-aboriginal:* yi:* braille:* cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* phoenician:* common:
+"/target/lib/pango/1.6.0/modules/pango-basic-win32.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
+"/target/lib/pango/1.6.0/modules/pango-hangul-fc.dll" HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:*
+"/target/lib/pango/1.6.0/modules/pango-hebrew-fc.dll" HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" devaScriptEngineFc PangoEngineShape PangoRenderFc devanagari:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" bengScriptEngineFc PangoEngineShape PangoRenderFc bengali:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" guruScriptEngineFc PangoEngineShape PangoRenderFc gurmukhi:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" gujrScriptEngineFc PangoEngineShape PangoRenderFc gujarati:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" oryaScriptEngineFc PangoEngineShape PangoRenderFc oriya:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" tamlScriptEngineFc PangoEngineShape PangoRenderFc tamil:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" teluScriptEngineFc PangoEngineShape PangoRenderFc telugu:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" kndaScriptEngineFc PangoEngineShape PangoRenderFc kannada:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" mlymScriptEngineFc PangoEngineShape PangoRenderFc malayalam:*
+"/target/lib/pango/1.6.0/modules/pango-indic-fc.dll" sinhScriptEngineFc PangoEngineShape PangoRenderFc sinhala:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
+"/target/lib/pango/1.6.0/modules/pango-indic-lang.dll" sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*
+"/target/lib/pango/1.6.0/modules/pango-khmer-fc.dll" KhmerScriptEngineFc PangoEngineShape PangoRenderFc khmer:*
+"/target/lib/pango/1.6.0/modules/pango-syriac-fc.dll" SyriacScriptEngineFc PangoEngineShape PangoRenderFc syriac:*
+"/target/lib/pango/1.6.0/modules/pango-thai-fc.dll" ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* lao:*
+"/target/lib/pango/1.6.0/modules/pango-tibetan-fc.dll" TibetanScriptEngineFc PangoEngineShape PangoRenderFc tibetan:*
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/arith.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/arith.h
new file mode 100644
index 0000000..812be55
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/arith.h
@@ -0,0 +1,102 @@
+/* $Id: arith.h,v 1.12 2008/05/15 14:51:09 ellson Exp $ $Revision: 1.12 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+/* geometric functions (e.g. on points and boxes) with application to, but
+ * no specific dependance on graphs */
+
+#ifndef GV_ARITH_H
+#define GV_ARITH_H
+
+/* for sincos */
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE 1
+#endif
+
+#include <limits.h>
+#ifdef HAVE_VALUES_H
+#include <values.h>
+#endif
+#include <math.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef MIN
+#undef MIN
+#endif
+#define MIN(a,b) ((a)<(b)?(a):(b))
+
+#ifdef MAX
+#undef MAX
+#endif
+#define MAX(a,b) ((a)>(b)?(a):(b))
+
+#ifdef ABS
+#undef ABS
+#endif
+#define ABS(a) ((a) >= 0 ? (a) : -(a))
+
+#ifndef INT_MAX
+#define INT_MAX ((int)(~(unsigned)0 >> 1))
+#endif
+
+#ifndef INT_MIN
+#define INT_MIN (-INT_MAX - 1)
+#endif
+
+#ifndef MAXSHORT
+#define MAXSHORT (0x7fff)
+#endif
+
+#ifndef MAXDOUBLE
+#define MAXDOUBLE 1.7976931348623157e+308
+#endif
+
+#ifndef MAXFLOAT
+#define MAXFLOAT ((float)3.40282347e+38)
+#endif
+
+#ifdef BETWEEN
+#undef BETWEEN
+#endif
+#define BETWEEN(a,b,c) (((a) <= (b)) && ((b) <= (c)))
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+#ifndef SQRT2
+#define SQRT2 1.41421356237309504880
+#endif
+
+#define ROUND(f) ((f>=0)?(int)(f + .5):(int)(f - .5))
+#define RADIANS(deg) ((deg)/180.0 * M_PI)
+#define DEGREES(rad) ((rad)/M_PI * 180.0)
+
+#define SQR(a) ((a) * (a))
+
+#ifdef HAVE_SINCOS
+ extern void sincos(double x, double *s, double *c);
+#else
+# define sincos(x,s,c) *s = sin(x); *c = cos(x)
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cdt.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cdt.h
new file mode 100644
index 0000000..5471d62
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cdt.h
@@ -0,0 +1,249 @@
+/* $Id: cdt.h,v 1.5 2007/05/11 17:06:35 erg Exp $ $Revision: 1.5 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef _CDT_H
+#define _CDT_H 1
+
+/* Public interface for the dictionary library
+**
+** Written by Kiem-Phong Vo (05/25/96)
+*/
+
+#define CDT_VERSION 19991101L
+
+#define Void_t void
+#define _ARG_(x) x
+#ifndef NIL
+#define NIL(type) ((type)0)
+#endif
+
+#include <string.h>
+
+#if _PACKAGE_ast
+# include <ast_std.h>
+#elif _BLD_cdt
+# include "ast_common.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ typedef struct _dtlink_s Dtlink_t;
+ typedef struct _dthold_s Dthold_t;
+ typedef struct _dtdisc_s Dtdisc_t;
+ typedef struct _dtmethod_s Dtmethod_t;
+ typedef struct _dtdata_s Dtdata_t;
+ typedef struct _dt_s Dt_t;
+ typedef struct _dt_s Dict_t; /* for libdict compatibility */
+ typedef struct _dtstat_s Dtstat_t;
+ typedef Void_t *(*Dtsearch_f) _ARG_((Dt_t *, Void_t *, int));
+ typedef Void_t *(*Dtmake_f) _ARG_((Dt_t *, Void_t *, Dtdisc_t *));
+ typedef void (*Dtfree_f) _ARG_((Dt_t *, Void_t *, Dtdisc_t *));
+ typedef int (*Dtcompar_f)
+ _ARG_((Dt_t *, Void_t *, Void_t *, Dtdisc_t *));
+ typedef unsigned int (*Dthash_f) _ARG_((Dt_t *, Void_t *, Dtdisc_t *));
+ typedef Void_t *(*Dtmemory_f)
+ _ARG_((Dt_t *, Void_t *, size_t, Dtdisc_t *));
+ typedef int (*Dtevent_f) _ARG_((Dt_t *, int, Void_t *, Dtdisc_t *));
+
+ struct _dtlink_s {
+ Dtlink_t *right; /* right child */
+ union {
+ unsigned int _hash; /* hash value */
+ Dtlink_t *_left; /* left child */
+ } hl;
+ };
+
+/* private structure to hold an object */
+ struct _dthold_s {
+ Dtlink_t hdr; /* header */
+ Void_t *obj; /* user object */
+ };
+
+/* method to manipulate dictionary structure */
+ struct _dtmethod_s {
+ Dtsearch_f searchf; /* search function */
+ int type; /* type of operation */
+ };
+
+/* stuff that may be in shared memory */
+ struct _dtdata_s {
+ int type; /* type of dictionary */
+ Dtlink_t *here; /* finger to last search element */
+ union {
+ Dtlink_t **_htab; /* hash table */
+ Dtlink_t *_head; /* linked list */
+ } hh;
+ int ntab; /* number of hash slots */
+ int size; /* number of objects */
+ int loop; /* number of nested loops */
+ };
+
+/* structure to hold methods that manipulate an object */
+ struct _dtdisc_s {
+ int key; /* where the key begins in an object */
+ int size; /* key size and type */
+ int link; /* offset to Dtlink_t field */
+ Dtmake_f makef; /* object constructor */
+ Dtfree_f freef; /* object destructor */
+ Dtcompar_f comparf; /* to compare two objects */
+ Dthash_f hashf; /* to compute hash value of an object */
+ Dtmemory_f memoryf; /* to allocate/free memory */
+ Dtevent_f eventf; /* to process events */
+ };
+
+/* the dictionary structure itself */
+ struct _dt_s {
+ Dtsearch_f searchf; /* search function */
+ Dtdisc_t *disc; /* method to manipulate objs */
+ Dtdata_t *data; /* sharable data */
+ Dtmemory_f memoryf; /* function to alloc/free memory */
+ Dtmethod_t *meth; /* dictionary method */
+ int type; /* type information */
+ int nview; /* number of parent view dictionaries */
+ Dt_t *view; /* next on viewpath */
+ Dt_t *walk; /* dictionary being walked */
+ };
+
+/* structure to get status of a dictionary */
+ struct _dtstat_s {
+ int dt_meth; /* method type */
+ int dt_size; /* number of elements */
+ int dt_n; /* number of chains or levels */
+ int dt_max; /* max size of a chain or a level */
+ int *dt_count; /* counts of chains or levels by size */
+ };
+
+/* supported storage methods */
+#define DT_SET 0000001 /* set with unique elements */
+#define DT_BAG 0000002 /* multiset */
+#define DT_OSET 0000004 /* ordered set (self-adjusting tree) */
+#define DT_OBAG 0000010 /* ordered multiset */
+#define DT_LIST 0000020 /* linked list */
+#define DT_STACK 0000040 /* stack */
+#define DT_QUEUE 0000100 /* queue */
+#define DT_METHODS 0000177 /* all currently supported methods */
+
+/* asserts to dtdisc() */
+#define DT_SAMECMP 0000001 /* compare methods equivalent */
+#define DT_SAMEHASH 0000002 /* hash methods equivalent */
+
+/* types of search */
+#define DT_INSERT 0000001 /* insert object if not found */
+#define DT_DELETE 0000002 /* delete object if found */
+#define DT_SEARCH 0000004 /* look for an object */
+#define DT_NEXT 0000010 /* look for next element */
+#define DT_PREV 0000020 /* find previous element */
+#define DT_RENEW 0000040 /* renewing an object */
+#define DT_CLEAR 0000100 /* clearing all objects */
+#define DT_FIRST 0000200 /* get first object */
+#define DT_LAST 0000400 /* get last object */
+#define DT_MATCH 0001000 /* find object matching key */
+#define DT_VSEARCH 0002000 /* search using internal representation */
+#define DT_ATTACH 0004000 /* attach an object to the dictionary */
+#define DT_DETACH 0010000 /* attach an object to the dictionary */
+
+/* events */
+#define DT_OPEN 1 /* a dictionary is being opened */
+#define DT_CLOSE 2 /* a dictionary is being closed */
+#define DT_DISC 3 /* discipline is about to be changed */
+#define DT_METH 4 /* method is about to be changed */
+
+#if _BLD_cdt && defined(__EXPORT__)
+#define extern __EXPORT__
+#endif
+#if !_BLD_cdt && defined(GVDLL)
+#define extern __declspec(dllimport)
+#endif
+#if !_BLD_cdt && defined(__IMPORT__)
+#define extern __IMPORT__
+#endif
+ extern Dtmethod_t *Dtset;
+ extern Dtmethod_t *Dtbag;
+ extern Dtmethod_t *Dtoset;
+ extern Dtmethod_t *Dtobag;
+ extern Dtmethod_t *Dtlist;
+ extern Dtmethod_t *Dtstack;
+ extern Dtmethod_t *Dtqueue;
+
+/* compatibility stuff; will go away */
+#ifndef KPVDEL
+ extern Dtmethod_t *Dtorder;
+ extern Dtmethod_t *Dttree;
+ extern Dtmethod_t *Dthash;
+ extern Dtmethod_t _Dttree;
+ extern Dtmethod_t _Dthash;
+ extern Dtmethod_t _Dtlist;
+ extern Dtmethod_t _Dtqueue;
+ extern Dtmethod_t _Dtstack;
+#endif
+
+#undef extern
+#if _BLD_cdt && defined(__EXPORT__)
+#define extern __EXPORT__
+#endif
+#if !_BLD_cdt && defined(__IMPORT__) && defined(__EXPORT__)
+#define extern __IMPORT__
+#endif
+ extern Dt_t *dtopen _ARG_((Dtdisc_t *, Dtmethod_t *));
+ extern int dtclose _ARG_((Dt_t *));
+ extern Dt_t *dtview _ARG_((Dt_t *, Dt_t *));
+ extern Dtdisc_t *dtdisc _ARG_((Dt_t * dt, Dtdisc_t *, int));
+ extern Dtmethod_t *dtmethod _ARG_((Dt_t *, Dtmethod_t *));
+
+ extern Dtlink_t *dtflatten _ARG_((Dt_t *));
+ extern Dtlink_t *dtextract _ARG_((Dt_t *));
+ extern int dtrestore _ARG_((Dt_t *, Dtlink_t *));
+
+ extern int dtwalk
+ _ARG_((Dt_t *, int (*)(Dt_t *, Void_t *, Void_t *), Void_t *));
+
+ extern Void_t *dtrenew _ARG_((Dt_t *, Void_t *));
+
+ extern int dtsize _ARG_((Dt_t *));
+ extern int dtstat _ARG_((Dt_t *, Dtstat_t *, int));
+ extern unsigned int dtstrhash _ARG_((unsigned int, Void_t *, int));
+
+#undef extern
+
+#define _DT_(d) ((Dt_t*)(d))
+#define dtvnext(d) (_DT_(d)->view)
+#define dtvcount(d) (_DT_(d)->nview)
+#define dtvhere(d) (_DT_(d)->walk)
+#define dtlink(d,e) (((Dtlink_t*)(e))->right)
+#define dtobj(d,e) ((_DT_(d)->disc->link < 0) ? (((Dthold_t*)(e))->obj) : \
+ (Void_t*)((char*)(e) - _DT_(d)->disc->link) )
+#define dtfinger(d) (_DT_(d)->data->here ? dtobj((d),_DT_(d)->data->here) : \
+ (Void_t*)(0) )
+#define dtfirst(d) (*(_DT_(d)->searchf))((d),(Void_t*)(0),DT_FIRST)
+#define dtnext(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_NEXT)
+#define dtlast(d) (*(_DT_(d)->searchf))((d),(Void_t*)(0),DT_LAST)
+#define dtprev(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_PREV)
+#define dtsearch(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_SEARCH)
+#define dtmatch(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_MATCH)
+#define dtinsert(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_INSERT)
+#define dtdelete(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_DELETE)
+#define dtattach(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_ATTACH)
+#define dtdetach(d,o) (*(_DT_(d)->searchf))((d),(Void_t*)(o),DT_DETACH)
+#define dtclear(d) (*(_DT_(d)->searchf))((d),(Void_t*)(0),DT_CLEAR)
+/* A linear congruential hash: h*17 + c + 97531 */
+#define dtcharhash(h,c) ((((unsigned int)(h))<<4) + ((unsigned int)(h)) + \
+ ((unsigned char)(c)) + 97531 )
+#ifdef __cplusplus
+}
+#endif
+#endif /* _CDT_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cgraph.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cgraph.h
new file mode 100644
index 0000000..aa2c27d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/cgraph.h
@@ -0,0 +1,454 @@
+/* $Id: cgraph.h,v 1.7 2008/04/28 16:35:09 erg Exp $ $Revision: 1.7 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef ATT_GRAPH_H
+#define ATT_GRAPH_H
+
+#include <cdt.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef FALSE
+#define FALSE (0)
+#endif
+#ifndef TRUE
+#define TRUE (!FALSE)
+#endif
+#ifndef NOT
+#define NOT(x) (!(x))
+#endif
+#ifndef NIL
+#define NIL(type) ((type)0)
+#endif
+#define NILgraph NIL(Agraph_t*)
+#define NILnode NIL(Agnode_t*)
+#define NILedge NIL(Agedge_t*)
+#define NILsym NIL(Agsym_t*)
+
+/* forward struct type declarations */
+typedef struct Agtag_s Agtag_t;
+typedef struct Agobj_s Agobj_t; /* generic object header */
+typedef struct Agraph_s Agraph_t; /* graph, subgraph (or hyperedge) */
+typedef struct Agnode_s Agnode_t; /* node (atom) */
+typedef struct Agedge_s Agedge_t; /* node pair */
+typedef struct Agdesc_s Agdesc_t; /* graph descriptor */
+typedef struct Agmemdisc_s Agmemdisc_t; /* memory allocator */
+typedef struct Agiddisc_s Agiddisc_t; /* object ID allocator */
+typedef struct Agiodisc_s Agiodisc_t; /* IO services */
+typedef struct Agdisc_s Agdisc_t; /* union of client discipline methods */
+typedef struct Agdstate_s Agdstate_t; /* client state (closures) */
+typedef struct Agsym_s Agsym_t; /* string attribute descriptors */
+typedef struct Agattr_s Agattr_t; /* string attribute container */
+typedef struct Agcbdisc_s Agcbdisc_t; /* client event callbacks */
+typedef struct Agcbstack_s Agcbstack_t; /* enclosing state for cbdisc */
+typedef struct Agclos_s Agclos_t; /* common fields for graph/subgs */
+typedef struct Agrec_s Agrec_t; /* generic runtime record */
+typedef struct Agdatadict_s Agdatadict_t; /* set of dictionaries per graph */
+typedef struct Agedgepair_s Agedgepair_t; /* the edge object */
+typedef struct Agsubnode_s Agsubnode_t;
+
+/* Header of a user record. These records are attached by client programs
+dynamically at runtime. A unique string ID must be given to each record
+attached to the same object. Cgraph has functions to create, search for,
+and delete these records. The records are maintained in a circular list,
+with obj->data pointing somewhere in the list. The search function has
+an option to lock this pointer on a given record. The application must
+be written so only one such lock is outstanding at a time. */
+
+struct Agrec_s {
+ char *name;
+ Agrec_t *next;
+ /* following this would be any programmer-defined data */
+};
+
+/* Object tag for graphs, nodes, and edges. While there may be several structs
+for a given node or edges, there is only one unique ID (per main graph). */
+struct Agtag_s {
+ unsigned objtype:2; /* see literal tags below */
+ unsigned mtflock:1; /* move-to-front lock, see above */
+ unsigned attrwf:1; /* attrs written (parity, write.c) */
+ unsigned seq:(sizeof(unsigned) * 8 - 4); /* sequence no. */
+ unsigned long id; /* client ID */
+};
+
+ /* object tags */
+#define AGRAPH 0 /* can't exceed 2 bits. see Agtag_t. */
+#define AGNODE 1
+#define AGOUTEDGE 2
+#define AGINEDGE 3 /* (1 << 1) indicates an edge tag. */
+#define AGEDGE AGOUTEDGE /* synonym in object kind args */
+
+ /* a generic graph/node/edge header */
+struct Agobj_s {
+ Agtag_t tag;
+ Agrec_t *data;
+};
+
+#define AGTAG(obj) (((Agobj_t*)(obj))->tag)
+#define AGTYPE(obj) (AGTAG(obj).objtype)
+#define AGID(obj) (AGTAG(obj).id)
+#define AGSEQ(obj) (AGTAG(obj).seq)
+#define AGATTRWF(obj) (AGTAG(obj).attrwf)
+#define AGDATA(obj) (((Agobj_t*)(obj))->data)
+
+/* This is the node struct allocated per graph (or subgraph). It resides
+in the n_dict of the graph. The node set is maintained by libdict, but
+transparently to libgraph callers. Every node may be given an optional
+string name at its time of creation, or it is permissible to pass NIL(char*)
+for the name. */
+
+struct Agsubnode_s { /* the node-per-graph-or-subgraph record */
+ Dtlink_t seq_link; /* must be first */
+ Dtlink_t id_link;
+ Agnode_t *node; /* the object */
+ Dtlink_t *in_id, *out_id; /* by node/ID for random access */
+ Dtlink_t *in_seq, *out_seq; /* by node/sequence for serial access */
+};
+
+struct Agnode_s {
+ Agobj_t base;
+ Agraph_t *root;
+ Agsubnode_t mainsub; /* embedded for main graph */
+};
+
+struct Agedge_s {
+ Agobj_t base;
+ Dtlink_t id_link; /* main graph only */
+ Dtlink_t seq_link;
+ Agnode_t *node; /* the endpoint node */
+};
+
+struct Agedgepair_s {
+ Agedge_t out, in;
+};
+
+struct Agdesc_s { /* graph descriptor */
+ unsigned directed:1; /* if edges are asymmetric */
+ unsigned strict:1; /* if and self, multi-edges forbidden */
+ unsigned maingraph:1; /* if this is the top level graph */
+ unsigned flatlock:1; /* if sets are flattened into lists in cdt */
+ unsigned no_write:1; /* if a temporary subgraph */
+ unsigned has_attrs:1; /* if string attr tables should be initialized */
+ unsigned has_cmpnd:1; /* if may contain collapsed nodes */
+};
+
+/* disciplines for external resources needed by libgraph */
+
+struct Agmemdisc_s { /* memory allocator */
+ void *(*open) (void); /* independent of other resources */
+ void *(*alloc) (void *state, size_t req);
+ void *(*resize) (void *state, void *ptr, size_t old, size_t req);
+ void (*free) (void *state, void *ptr);
+ void (*close) (void *state);
+};
+
+struct Agiddisc_s { /* object ID allocator */
+ void *(*open) (Agraph_t * g); /* associated with a graph */
+ long (*map) (void *state, int objtype, char *str, unsigned long *id,
+ int createflag);
+ long (*alloc) (void *state, int objtype, unsigned long id);
+ void (*free) (void *state, int objtype, unsigned long id);
+ char *(*print) (void *state, int objtype, unsigned long id);
+ void (*close) (void *state);
+};
+
+struct Agiodisc_s {
+ int (*afread) (void *chan, char *buf, int bufsize);
+ int (*putstr) (void *chan, char *str);
+ int (*flush) (void *chan); /* sync */
+ /* error messages? */
+};
+
+struct Agdisc_s { /* user's discipline */
+ Agmemdisc_t *mem;
+ Agiddisc_t *id;
+ Agiodisc_t *io;
+};
+
+ /* default resource disciplines */
+#if !defined(_BLD_cgraph) && defined(GVDLL)
+#define extern __declspec(dllimport)
+#endif
+
+extern Agmemdisc_t AgMemDisc;
+extern Agiddisc_t AgIdDisc;
+extern Agiodisc_t AgIoDisc;
+
+extern Agdisc_t AgDefaultDisc;
+#undef extern
+
+struct Agdstate_s {
+ void *mem;
+ void *id;
+ /* IO must be initialized and finalized outside Cgraph,
+ * and channels (FILES) are passed as void* arguments. */
+};
+
+typedef void (*agobjfn_t) (Agraph_t * g, Agobj_t * obj, void *arg);
+typedef void (*agobjupdfn_t) (Agraph_t * g, Agobj_t * obj, void *arg,
+ Agsym_t * sym);
+
+struct Agcbdisc_s {
+ struct {
+ agobjfn_t ins;
+ agobjupdfn_t mod;
+ agobjfn_t del;
+ } graph, node, edge;
+};
+
+struct Agcbstack_s { /* object event callbacks */
+ Agcbdisc_t *f; /* methods */
+ void *state; /* closure */
+ Agcbstack_t *prev; /* kept in a stack, unlike other disciplines */
+};
+
+struct Agclos_s {
+ Agdisc_t disc; /* resource discipline functions */
+ Agdstate_t state; /* resource closures */
+ Dict_t *strdict; /* shared string dict */
+ unsigned long seq[3]; /* local object sequence number counter */
+ Agcbstack_t *cb; /* user and system callback function stacks */
+ unsigned char callbacks_enabled; /* issue user callbacks or hold them? */
+ Dict_t *lookup_by_name[3];
+ Dict_t *lookup_by_id[3];
+};
+
+struct Agraph_s {
+ Agobj_t base;
+ Agdesc_t desc;
+ Dtlink_t link;
+ Dict_t *n_seq; /* the node set in sequence */
+ Dict_t *n_id; /* the node set indexed by ID */
+ Dict_t *e_seq, *e_id; /* holders for edge sets */
+ Dict_t *g_dict; /* subgraphs - descendants */
+ Agraph_t *parent, *root; /* subgraphs - ancestors */
+ Agclos_t *clos; /* shared resources */
+};
+
+
+#if _PACKAGE_ast
+/* fine control of object callbacks */
+# if defined(_BLD_cgraph) && defined(__EXPORT__)
+# define extern __EXPORT__
+# endif
+# if !defined(_BLD_cgraph) && defined(__IMPORT__)
+# define extern __IMPORT__
+# endif
+#endif
+
+extern void agpushdisc(Agraph_t * g, Agcbdisc_t * disc, void *state);
+extern int agpopdisc(Agraph_t * g, Agcbdisc_t * disc);
+extern int agcallbacks(Agraph_t * g, int flag); /* return prev value */
+
+/* graphs */
+extern Agraph_t *agopen(char *name, Agdesc_t desc, Agdisc_t * disc);
+extern int agclose(Agraph_t * g);
+extern Agraph_t *agread(void *chan, Agdisc_t * disc);
+extern void agreadline(int);
+extern void agsetfile(char *);
+extern Agraph_t *agconcat(Agraph_t * g, void *chan, Agdisc_t * disc);
+extern int agwrite(Agraph_t * g, void *chan);
+extern int agisdirected(Agraph_t * g);
+extern int agisundirected(Agraph_t * g);
+extern int agisstrict(Agraph_t * g);
+
+/* nodes */
+extern Agnode_t *agnode(Agraph_t * g, char *name, int createflag);
+extern Agnode_t *agidnode(Agraph_t * g, unsigned long id, int createflag);
+extern Agnode_t *agsubnode(Agraph_t * g, Agnode_t * n, int createflag);
+extern Agnode_t *agfstnode(Agraph_t * g);
+extern Agnode_t *agnxtnode(Agraph_t * g, Agnode_t * n);
+extern Agnode_t *aglstnode(Agraph_t * g);
+extern Agnode_t *agprvnode(Agraph_t * g, Agnode_t * n);
+
+extern Agsubnode_t *agsubrep(Agraph_t * g, Agnode_t * n);
+
+/* edges */
+extern Agedge_t *agedge(Agraph_t * g, Agnode_t * t, Agnode_t * h,
+ char *name, int createflag);
+extern Agedge_t *agidedge(Agraph_t * g, Agnode_t * t, Agnode_t * h,
+ unsigned long id, int createflag);
+extern Agedge_t *agsubedge(Agraph_t * g, Agedge_t * e, int createflag);
+extern Agedge_t *agfstin(Agraph_t * g, Agnode_t * n);
+extern Agedge_t *agnxtin(Agraph_t * g, Agedge_t * e);
+extern Agedge_t *agfstout(Agraph_t * g, Agnode_t * n);
+extern Agedge_t *agnxtout(Agraph_t * g, Agedge_t * e);
+extern Agedge_t *agfstedge(Agraph_t * g, Agnode_t * n);
+extern Agedge_t *agnxtedge(Agraph_t * g, Agedge_t * e, Agnode_t * n);
+
+/* generic */
+extern Agraph_t *agraphof(void *);
+extern char *agnameof(void *);
+extern int agrelabel(void *obj, char *name); /* scary */
+extern int agrelabel_node(Agnode_t * n, char *newname);
+extern int agdelete(Agraph_t * g, void *obj);
+extern long agdelsubg(Agraph_t * g, Agraph_t * sub); /* could be agclose */
+extern int agdelnode(Agraph_t * g, Agnode_t * arg_n);
+extern int agdeledge(Agraph_t * g, Agedge_t * arg_e);
+extern int agobjkind(void *);
+
+/* strings */
+extern char *agstrdup(Agraph_t *, char *);
+extern char *agstrdup_html(Agraph_t *, char *);
+extern int aghtmlstr(char *);
+extern char *agstrbind(Agraph_t * g, char *);
+extern int agstrfree(Agraph_t *, char *);
+extern char *agstrcanon(char *, char *);
+char *agcanonStr(char *str); /* manages its own buf */
+
+/* definitions for dynamic string attributes */
+struct Agattr_s { /* dynamic string attributes */
+ Agrec_t h; /* common data header */
+ Dict_t *dict; /* shared dict to interpret attr field */
+ char **str; /* the attribute string values */
+};
+
+struct Agsym_s { /* symbol in one of the above dictionaries */
+ Dtlink_t link;
+ char *name; /* attribute's name */
+ char *defval; /* its default value for initialization */
+ int id; /* its index in attr[] */
+ unsigned char kind; /* referent object type */
+ unsigned char fixed; /* immutable value */
+};
+
+struct Agdatadict_s { /* set of dictionaries per graph */
+ Agrec_t h; /* installed in list of graph recs */
+ struct {
+ Dict_t *n, *e, *g;
+ } dict;
+};
+
+extern Agsym_t *agattr(Agraph_t * g, int kind, char *name, char *value);
+extern Agsym_t *agattrsym(void *obj, char *name);
+extern Agsym_t *agnxtattr(Agraph_t * g, int kind, Agsym_t * attr);
+extern int agcopyattr(void *oldobj, void *newobj);
+
+extern void *agbindrec(void *obj, char *name, unsigned int size,
+ int move_to_front);
+extern Agrec_t *aggetrec(void *obj, char *name, int move_to_front);
+extern int agdelrec(void *obj, char *name);
+extern void aginit(Agraph_t * g, int kind, char *rec_name, int rec_size,
+ int move_to_front);
+extern void agclean(Agraph_t * g, int kind, char *rec_name);
+
+extern char *agget(void *obj, char *name);
+extern char *agxget(void *obj, Agsym_t * sym);
+extern int agset(void *obj, char *name, char *value);
+extern int agxset(void *obj, Agsym_t * sym, char *value);
+extern int agsafeset(void* obj, char* name, char* value, char* def);
+
+/* defintions for subgraphs */
+extern Agraph_t *agsubg(Agraph_t * g, char *name, int cflag); /* constructor */
+extern Agraph_t *agidsubg(Agraph_t * g, unsigned long id, int cflag); /* constructor */
+extern Agraph_t *agfstsubg(Agraph_t * g), *agnxtsubg(Agraph_t * subg);
+extern Agraph_t *agparent(Agraph_t * g), *agroot(Agraph_t * g);
+
+/* set cardinality */
+extern int agnnodes(Agraph_t * g), agnedges(Agraph_t * g);
+extern int agdegree(Agraph_t * g, Agnode_t * n, int in, int out);
+
+/* memory */
+extern void *agalloc(Agraph_t * g, size_t size);
+extern void *agrealloc(Agraph_t * g, void *ptr, size_t oldsize,
+ size_t size);
+extern void agfree(Agraph_t * g, void *ptr);
+extern struct _vmalloc_s *agheap(Agraph_t * g);
+
+/* an engineering compromise is a joy forever */
+extern void aginternalmapclearlocalnames(Agraph_t * g);
+
+#define agnew(g,t) ((t*)agalloc(g,sizeof(t)))
+#define agnnew(g,n,t) ((t*)agalloc(g,(n)*sizeof(t)))
+
+/* error handling */
+typedef enum { AGWARN, AGERR, AGMAX, AGPREV } agerrlevel_t;
+extern agerrlevel_t agerrno;
+extern void agseterr(agerrlevel_t);
+extern char *aglasterr(void);
+extern int agerr(agerrlevel_t level, char *fmt, ...);
+extern void agerrorf(char *fmt, ...);
+extern void agwarningf(char *fmt, ...);
+extern int agerrors(void);
+
+/* data access macros */
+/* this assumes that e[0] is out and e[1] is inedge, see edgepair in edge.c */
+#define AGIN2OUT(e) ((e)-1)
+#define AGOUT2IN(e) ((e)+1)
+#define AGOPP(e) ((AGTYPE(e)==AGINEDGE)?AGIN2OUT(e):AGOUT2IN(e))
+#define AGMKOUT(e) (AGTYPE(e) == AGOUTEDGE? (e): AGIN2OUT(e))
+#define AGMKIN(e) (AGTYPE(e) == AGINEDGE? (e): AGOUT2IN(e))
+#define AGTAIL(e) (AGMKIN(e)->node)
+#define AGHEAD(e) (AGMKOUT(e)->node)
+#define agtail(e) AGTAIL(e)
+#define aghead(e) AGHEAD(e)
+#define agopp(e) AGOPP(e)
+
+#define TAILPORT_ID "tailport"
+#define HEADPORT_ID "headport"
+
+#if _PACKAGE_ast
+# if !defined(_BLD_cgraph) && defined(__IMPORT__)
+# define extern __IMPORT__
+# endif
+#endif
+#if !defined(_BLD_cgraph) && defined(GVDLL)
+#define extern __declspec(dllimport)
+#endif
+
+extern Agdesc_t Agdirected, Agstrictdirected, Agundirected,
+ Agstrictundirected;
+
+#undef extern
+
+/* fast graphs */
+void agflatten(Agraph_t * g, int flag);
+typedef Agsubnode_t Agnoderef_t;
+typedef Dtlink_t Agedgeref_t;
+
+#define AGHEADPOINTER(g) ((Agnoderef_t*)(g->n_seq->data->hh._head))
+#define AGRIGHTPOINTER(rep) ((Agnoderef_t*)((rep)->seq_link.right?((void*)((rep)->seq_link.right) - offsetof(Agsubnode_t,seq_link)):0))
+#define AGLEFTPOINTER(rep) ((Agnoderef_t*)((rep)->seq_link.hl._left?((void*)((rep)->seq_link.hl._left) - offsetof(Agsubnode_t,seq_link)):0))
+
+#define FIRSTNREF(g) (agflatten(g,1), AGHEADPOINTER(g))
+
+#define NEXTNREF(g,rep) (AGRIGHTPOINTER(rep) == AGHEADPOINTER(g)?0:AGRIGHTPOINTER(rep))
+
+#define PREVNREF(g,rep) (((rep)==AGHEADPOINTER(g))?0:(AGLEFTPOINTER(rep)))
+
+#define LASTNREF(g) (agflatten(g,1), AGHEADPOINTER(g)?AGLEFTPOINTER(AGHEADPOINTER(g)):0)
+#define NODEOF(rep) ((rep)->node)
+
+#define FIRSTOUTREF(g,sn) (agflatten(g,1), (sn)->out_seq)
+#define LASTOUTREF(g,sn) (agflatten(g,1), (Agedgeref_t*)dtlast(sn->out_seq))
+#define FIRSTINREF(g,sn) (agflatten(g,1), (sn)->in_seq)
+#define NEXTEREF(g,rep) ((rep)->right)
+#define PREVEREF(g,rep) ((rep)->hl._left)
+/* this is expedient but a bit slimey because it "knows" that dict entries of both nodes
+and edges are embedded in main graph objects but allocated separately in subgraphs */
+#define AGSNMAIN(sn) ((sn)==(&((sn)->node->mainsub)))
+#define EDGEOF(sn,rep) (AGSNMAIN(sn)?((Agedge_t*)((unsigned char*)(rep) - offsetof(Agedge_t,seq_link))) : ((Dthold_t*)(rep))->obj)
+
+#undef extern
+#if _PACKAGE_ast
+_END_EXTERNS_
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/color.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/color.h
new file mode 100644
index 0000000..cb024d9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/color.h
@@ -0,0 +1,57 @@
+/* $Id: color.h,v 1.5 2006/12/07 23:42:18 erg Exp $ $Revision: 1.5 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GV_COLOR_H
+#define GV_COLOR_H
+
+/* #include "arith.h" */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct hsvrgbacolor_t {
+ char *name;
+ unsigned char h, s, v;
+ unsigned char r, g, b, a;
+} hsvrgbacolor_t;
+
+/* possible representations of color in gvcolor_t */
+typedef enum { HSVA_DOUBLE, RGBA_BYTE, RGBA_WORD, CMYK_BYTE,
+ RGBA_DOUBLE, COLOR_STRING, COLOR_INDEX } color_type_t;
+
+/* gvcolor_t can hold a color spec in a choice or representations */
+typedef struct color_s {
+ union {
+ double RGBA[4];
+ double HSVA[4];
+ unsigned char rgba[4];
+ unsigned char cmyk[4];
+ int rrggbbaa[4];
+ char *string;
+ int index;
+ } u;
+ color_type_t type;
+} gvcolor_t;
+
+#define COLOR_MALLOC_FAIL -1
+#define COLOR_UNKNOWN 1
+#define COLOR_OK 0
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/demand_loading.c b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/demand_loading.c
new file mode 100644
index 0000000..884e6ee
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/demand_loading.c
@@ -0,0 +1,17 @@
+/* $Id: demand_loading.c,v 1.2 2006/12/07 22:49:36 erg Exp $ $Revision: 1.2 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+const int Demand_Loading = 1;
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/dot_builtins.c b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/dot_builtins.c
new file mode 100644
index 0000000..249bff5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/dot_builtins.c
@@ -0,0 +1,101 @@
+/* $Id: dot_builtins.c,v 1.10 2007/05/30 22:28:27 erg Exp $ $Revision: 1.10 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gvplugin.h"
+
+#if defined(GVDLL) && !defined(ENABLE_LTDL)
+#define extern __declspec(dllimport)
+#endif
+
+extern gvplugin_library_t gvplugin_dot_layout_LTX_library;
+extern gvplugin_library_t gvplugin_neato_layout_LTX_library;
+#ifdef HAVE_LIBGD
+extern gvplugin_library_t gvplugin_gd_LTX_library;
+#endif
+#ifdef HAVE_PANGOCAIRO
+extern gvplugin_library_t gvplugin_pango_LTX_library;
+#endif
+extern gvplugin_library_t gvplugin_core_LTX_library;
+
+#if defined(GVDLL) && !defined(ENABLE_LTDL)
+lt_symlist_t lt_preloaded_symbols[] = {
+ { "gvplugin_dot_layout_LTX_library", 0},
+ { "gvplugin_neato_layout_LTX_library", 0},
+#ifdef HAVE_PANGOCAIRO
+ { "gvplugin_pango_LTX_library", 0},
+#endif
+#ifdef HAVE_LIBGD
+ { "gvplugin_gd_LTX_library", 0},
+#endif
+ { "gvplugin_core_LTX_library", 0},
+ { 0, 0 }
+};
+
+static void*
+lt_lookup (const char* name)
+{
+ void* addr = 0;
+ switch (*(name + 9)) { /* skip "gvplugin_" */
+ case 'c' :
+ addr = &gvplugin_core_LTX_library;
+ break;
+ case 'd' :
+ addr = &gvplugin_dot_layout_LTX_library;
+ break;
+#ifdef HAVE_LIBGD
+ case 'g' :
+ addr = &gvplugin_gd_LTX_library;
+ break;
+#endif
+ case 'n' :
+ addr = &gvplugin_neato_layout_LTX_library;
+ break;
+#ifdef HAVE_PANGOCAIRO
+ case 'p' :
+ addr = &gvplugin_pango_LTX_library;
+ break;
+#endif
+ }
+ return addr;
+}
+
+void
+init_lt_preloaded_symbols()
+{
+ const char* s;
+ int i;
+ for (i = 0; (s = lt_preloaded_symbols[i].name); i++) {
+ lt_preloaded_symbols[0].address = lt_lookup (s);
+ }
+}
+#else
+const lt_symlist_t lt_preloaded_symbols[] = {
+ { "gvplugin_dot_layout_LTX_library", (void*)(&gvplugin_dot_layout_LTX_library) },
+ { "gvplugin_neato_layout_LTX_library", (void*)(&gvplugin_neato_layout_LTX_library) },
+#ifdef HAVE_PANGOCAIRO
+ { "gvplugin_pango_LTX_library", (void*)(&gvplugin_pango_LTX_library) },
+#endif
+#ifdef HAVE_LIBGD
+ { "gvplugin_gd_LTX_library", (void*)(&gvplugin_gd_LTX_library) },
+#endif
+ { "gvplugin_core_LTX_library", (void*)(&gvplugin_core_LTX_library) },
+ { 0, 0 }
+};
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/geom.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/geom.h
new file mode 100644
index 0000000..f276749
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/geom.h
@@ -0,0 +1,79 @@
+/* $Id: geom.h,v 1.10 2007/12/27 20:13:13 ellson Exp $ $Revision: 1.10 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+/* geometric types and macros (e.g. points and boxes) with application to, but
+ * no specific dependance on graphs */
+
+#ifndef GV_GEOM_H
+#define GV_GEOM_H
+
+#ifdef HAVE_CONFIG_H
+#include "arith.h"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct { int x, y; } point;
+
+typedef struct pointf_s { double x, y; } pointf;
+
+/* tell pathplan/pathgeom.h */
+#define HAVE_POINTF_S
+
+typedef struct { point LL, UR; } box;
+
+typedef struct { pointf LL, UR; } boxf;
+
+#ifdef HAVE_CONFIG_H
+/* true if point p is inside box b */
+#define INSIDE(p,b) (BETWEEN((b).LL.x,(p).x,(b).UR.x) && BETWEEN((b).LL.y,(p).y,(b).UR.y))
+/* true if boxes b0 and b1 overlap */
+#define OVERLAP(b0,b1) (((b0).UR.x >= (b1).LL.x) && ((b1).UR.x >= (b0).LL.x) && ((b0).UR.y >= (b1).LL.y) && ((b1).UR.y >= (b0).LL.y))
+/* true if box b0 completely contains b1*/
+#define CONTAINS(b0,b1) (((b0).UR.x >= (b1).UR.x) && ((b0).UR.y >= (b1).UR.y) && ((b0).LL.x <= (b1).LL.x) && ((b0).LL.y <= (b1).LL.y))
+
+/* expand box b as needed to enclose point p */
+#define EXPANDBP(b, p) (b.LL.x = MIN(b.LL.x, p.x), b.LL.y = MIN(b.LL.y, p.y), b.UR.x = MAX(b.UR.x, p.x), b.UR.y = MAX(b.UR.y, p.y))
+/* expand box b0 as needed to enclose box b1 */
+#define EXPANDBB(b0, b1) (b0.LL.x = MIN(b0.LL.x, b1.LL.x), b0.LL.y = MIN(b0.LL.y, b1.LL.y), b0.UR.x = MAX(b0.UR.x, b1.UR.x), b0.UR.y = MAX(b0.UR.y, b1.UR.y))
+/* clip box b0 to fit box b1 */
+#define CLIPBB(b0, b1) (b0.LL.x = MAX(b0.LL.x, b1.LL.x), b0.LL.y = MAX(b0.LL.y, b1.LL.y), b0.UR.x = MIN(b0.UR.x, b1.UR.x), b0.UR.y = MIN(b0.UR.y, b1.UR.y))
+
+#define DIST2(p1,p2) (SQR((p1.x) - (p2.x))) + (SQR((p1.y) - (p2.y)))
+#define DIST(p1,p2) (sqrt(DIST2((p1),(p2))))
+
+#define POINTS_PER_INCH 72
+#define POINTS_PER_PC ((double)POINTS_PER_INCH / 6)
+#define POINTS_PER_CM ((double)POINTS_PER_INCH * 0.393700787)
+#define POINTS_PER_MM ((double)POINTS_PER_INCH * 0.0393700787)
+
+#define POINTS(f_inch) (ROUND((f_inch)*POINTS_PER_INCH))
+#define PS2INCH(ps) ((ps)/(double)POINTS_PER_INCH)
+
+#define P2PF(p, pf) (pf.x = p.x, pf.y = p.y)
+#define PF2P(pf, p) (p.x = ROUND (pf.x), p.y = ROUND (pf.y))
+#define B2BF(b, bf) (bf.LL.x = b.LL.x, bf.LL.y = b.LL.y, bf.UR.x = b.UR.x, bf.UR.y = b.UR.y)
+#define BF2B(bf, b) (b.LL.x = ROUND (bf.LL.x), b.LL.y = ROUND (bf.LL.y), b.UR.x = ROUND (bf.UR.x), b.UR.y = ROUND (bf.UR.y))
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/graph.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/graph.h
new file mode 100644
index 0000000..f762d9e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/graph.h
@@ -0,0 +1,222 @@
+/* $Id: graph.h,v 1.11 2008/06/09 16:57:01 erg Exp $ $Revision: 1.11 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+
+
+#ifndef _GRAPH_H
+#define _GRAPH_H 1
+
+#if _PACKAGE_ast
+#include <ast.h>
+#else
+#include <sys/types.h>
+#include <stdlib.h>
+#endif
+#include <stdio.h>
+#include "cdt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define TAIL_ID "tailport"
+#define HEAD_ID "headport"
+
+ typedef struct Agraph_t Agraph_t;
+ typedef struct Agnode_t Agnode_t;
+ typedef struct Agedge_t Agedge_t;
+ typedef struct Agdict_t Agdict_t;
+ typedef struct Agsym_t Agsym_t;
+ typedef struct Agdata_t Agdata_t;
+ typedef struct Agproto_t Agproto_t;
+
+ typedef char *(*gets_f) (char *ubuf, int n, FILE * fp);
+
+#define AGFLAG_DIRECTED (1<<0)
+#define AGFLAG_STRICT (1<<1)
+#define AGFLAG_METAGRAPH (1<<2)
+
+#define AGRAPH 0
+#define AGRAPHSTRICT (AGRAPH | AGFLAG_STRICT)
+#define AGDIGRAPH AGFLAG_DIRECTED
+#define AGDIGRAPHSTRICT (AGDIGRAPH | AGFLAG_STRICT)
+#define AGMETAGRAPH (AGFLAG_DIRECTED | AGFLAG_STRICT | AGFLAG_METAGRAPH)
+
+#define AG_IS_DIRECTED(g) ((g)->kind & AGFLAG_DIRECTED)
+#define AG_IS_STRICT(g) ((g)->kind & AGFLAG_STRICT)
+#define AG_IS_METAGRAPH(g) ((g)->kind & AGFLAG_METAGRAPH)
+#define aginit() aginitlib(sizeof(Agraph_t),sizeof(Agnode_t),sizeof(Agedge_t))
+
+ struct Agraph_t {
+ int tag:4;
+ int kind:4;
+ int handle:24;
+ char **attr;
+ char *didset;
+ char *name;
+ Agdata_t *univ;
+ Dict_t *nodes, *inedges, *outedges;
+ Agraph_t *root;
+ Agnode_t *meta_node;
+ Agproto_t *proto;
+ Agraphinfo_t u;
+ };
+
+ struct Agnode_t {
+ int tag:4;
+ int pad:4;
+ int handle:24;
+ char **attr;
+ char *didset;
+ char *name;
+ int id;
+ Agraph_t *graph;
+ Agnodeinfo_t u;
+ };
+
+ struct Agedge_t {
+ int tag:4;
+ int printkey:4;
+ int handle:24;
+ char **attr;
+ char *didset;
+ Agnode_t *head, *tail;
+ int id;
+ Agedgeinfo_t u;
+ };
+
+ struct Agdata_t { /* for main graph */
+ Dict_t *node_dict;
+ Agdict_t *nodeattr;
+ Agdict_t *edgeattr;
+ Agdict_t *globattr;
+ int max_node_id, max_edge_id;
+ };
+
+ struct Agsym_t {
+ char *name, *value;
+ int index;
+ unsigned char printed;
+ unsigned char fixed;
+ };
+
+ struct Agdict_t {
+ char *name;
+ Dict_t *dict;
+ Agsym_t **list;
+ };
+
+ struct Agproto_t {
+ Agnode_t *n;
+ Agedge_t *e;
+ Agproto_t *prev;
+ };
+
+#if _PACKAGE_ast
+ _BEGIN_EXTERNS_ /* public data */
+#if _BLD_graph && defined(__EXPORT__)
+#define extern __EXPORT__
+#endif
+#if !_BLD_graph && defined(__IMPORT__) && 0
+#define extern __IMPORT__
+#endif
+#endif
+ extern char *agstrcanon(char *, char *);
+ extern char *agcanonical(char *);
+ extern char *agcanon(char *);
+ extern int aghtmlstr(char *s);
+ extern char *agget(void *, char *);
+ extern char *agxget(void *, int);
+ extern int agset(void *, char *, char *);
+ extern int agsafeset(void *, char *, char *, char*);
+ extern int agxset(void *, int, char *);
+ extern int agindex(void *, char *);
+
+ extern void aginitlib(int, int, int);
+ extern Agraph_t *agopen(char *, int);
+ extern Agraph_t *agsubg(Agraph_t *, char *);
+ extern Agraph_t *agfindsubg(Agraph_t *, char *);
+ extern void agclose(Agraph_t *);
+ extern Agraph_t *agread(FILE *);
+ extern Agraph_t *agread_usergets(FILE *, gets_f);
+ extern void agreadline(int);
+ extern void agsetfile(char *);
+ extern Agraph_t *agmemread(char *);
+ extern int agwrite(Agraph_t *, FILE *);
+ extern int agerrors(void);
+ extern Agraph_t *agprotograph(void);
+ extern Agnode_t *agprotonode(Agraph_t *);
+ extern Agedge_t *agprotoedge(Agraph_t *);
+ extern Agraph_t *agusergraph(Agnode_t *);
+ extern int agnnodes(Agraph_t *);
+ extern int agnedges(Agraph_t *);
+
+ extern void aginsert(Agraph_t *, void *);
+ extern void agdelete(Agraph_t *, void *);
+ extern int agcontains(Agraph_t *, void *);
+
+ extern Agnode_t *agnode(Agraph_t *, char *);
+ extern Agnode_t *agfindnode(Agraph_t *, char *);
+ extern Agnode_t *agfstnode(Agraph_t *);
+ extern Agnode_t *agnxtnode(Agraph_t *, Agnode_t *);
+ extern Agnode_t *aglstnode(Agraph_t *);
+ extern Agnode_t *agprvnode(Agraph_t *, Agnode_t *);
+
+ extern Agedge_t *agedge(Agraph_t *, Agnode_t *, Agnode_t *);
+ extern Agedge_t *agfindedge(Agraph_t *, Agnode_t *, Agnode_t *);
+ extern Agedge_t *agfstedge(Agraph_t *, Agnode_t *);
+ extern Agedge_t *agnxtedge(Agraph_t *, Agedge_t *, Agnode_t *);
+ extern Agedge_t *agfstin(Agraph_t *, Agnode_t *);
+ extern Agedge_t *agnxtin(Agraph_t *, Agedge_t *);
+ extern Agedge_t *agfstout(Agraph_t *, Agnode_t *);
+ extern Agedge_t *agnxtout(Agraph_t *, Agedge_t *);
+
+ extern Agsym_t *agattr(void *, char *, char *);
+ extern Agsym_t *agraphattr(Agraph_t *, char *, char *);
+ extern Agsym_t *agnodeattr(Agraph_t *, char *, char *);
+ extern Agsym_t *agedgeattr(Agraph_t *, char *, char *);
+ extern Agsym_t *agfindattr(void *, char *);
+ extern Agsym_t *agfstattr(void *);
+ extern Agsym_t *agnxtattr(void *, Agsym_t *);
+ extern Agsym_t *aglstattr(void *);
+ extern Agsym_t *agprvattr(void *, Agsym_t *);
+ extern int agcopyattr(void *, void *);
+
+ typedef enum { AGWARN, AGERR, AGMAX, AGPREV } agerrlevel_t;
+ extern agerrlevel_t agerrno;
+ extern void agseterr(agerrlevel_t);
+ extern char *aglasterr(void);
+ extern int agerr(agerrlevel_t level, char *fmt, ...);
+ extern void agerrorf(char *fmt, ...);
+ extern void agwarningf(char *fmt, ...);
+
+ extern char *agstrdup(char *);
+ extern char *agstrdup_html(char *s);
+ extern void agstrfree(char *);
+
+ typedef enum { AGNODE = 1, AGEDGE, AGGRAPH } agobjkind_t;
+#define agobjkind(p) ((agobjkind_t)(((Agraph_t*)(p))->tag))
+
+#define agmetanode(g) ((g)->meta_node)
+
+#undef extern
+#if _PACKAGE_ast
+ _END_EXTERNS_
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif /* _GRAPH_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.cpp b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.cpp
new file mode 100644
index 0000000..3ffebaa
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.cpp
@@ -0,0 +1,936 @@
+/* $Id: gv.cpp,v 1.47 2008/04/27 21:48:34 ellson Exp $ $Revision: 1.47 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#include <string.h>
+#include "gvc.h"
+
+extern void gv_binding_init(GVC_t *gvc);
+static char emptystring[] = {'\0'};
+
+static GVC_t *gvc;
+
+static void gv_init(void) {
+ gvc = gvContext();
+ gv_binding_init(gvc);
+}
+
+Agraph_t *graph(char *name)
+{
+ if (!gvc)
+ gv_init();
+ return agopen(name, AGRAPH);
+}
+
+Agraph_t *digraph(char *name)
+{
+ if (!gvc)
+ gv_init();
+ return agopen(name, AGDIGRAPH);
+}
+
+Agraph_t *strictgraph(char *name)
+{
+ if (!gvc)
+ gv_init();
+ return agopen(name, AGRAPHSTRICT);
+}
+
+Agraph_t *strictdigraph(char *name)
+{
+ if (!gvc)
+ gv_init();
+ return agopen(name, AGDIGRAPHSTRICT);
+}
+
+Agraph_t *readstring(char *string)
+{
+ if (!gvc)
+ gv_init();
+ return agmemread(string);
+}
+
+Agraph_t *read(FILE *f)
+{
+ if (!gvc)
+ gv_init();
+ return agread(f);
+}
+
+Agraph_t *read(char *filename)
+{
+ FILE *f;
+ Agraph_t *g;
+
+ f = fopen(filename, "r");
+ if (!f)
+ return NULL;
+ if (!gvc)
+ gv_init();
+ g = agread(f);
+ fclose(f);
+ return g;
+}
+
+//-------------------------------------------------
+Agraph_t *graph(Agraph_t *g, char *name)
+{
+ if (!gvc)
+ gv_init();
+ return agsubg(g, name);
+}
+
+Agnode_t *node(Agraph_t *g, char *name)
+{
+ // creating a protonode is not permitted
+ if (!gvc || (name[0] == '\001' && strcmp (name, "\001proto") == 0))
+ return NULL;
+ return agnode(g, name);
+}
+
+Agedge_t *edge(Agnode_t *t, Agnode_t *h)
+{
+ // edges from/to the protonode are not permitted
+ if (!gvc || !t || !h
+ || (t->name[0] == '\001' && strcmp (t->name, "\001proto") == 0)
+ || (h->name[0] == '\001' && strcmp (h->name, "\001proto") == 0))
+ return NULL;
+ return agedge(t->graph, t, h);
+}
+
+// induce tail if necessary
+Agedge_t *edge(char *tname, Agnode_t *h)
+{
+ return edge(node(h->graph, tname), h);
+}
+
+// induce head if necessary
+Agedge_t *edge(Agnode_t *t, char *hname)
+{
+ return edge(t, node(t->graph, hname));
+}
+
+// induce tail/head if necessary
+Agedge_t *edge(Agraph_t *g, char *tname, char *hname)
+{
+ return edge(node(g, tname), node(g, hname));
+}
+
+//-------------------------------------------------
+static char* myagxget(void *obj, Agsym_t *a)
+{
+ int len;
+ char *val, *hs;
+
+ if (!obj || !a)
+ return emptystring;
+ val = agxget(obj, a->index);
+ if (!val)
+ return emptystring;
+ if (a->name[0] == 'l' && strcmp(a->name, "label") == 0 && aghtmlstr(val)) {
+ len = strlen(val);
+ hs = (char*)malloc(len + 3);
+ hs[0] = '<';
+ strcpy(hs+1, val);
+ hs[len+1] = '>';
+ hs[len+2] = '\0';
+ return hs;
+ }
+ return val;
+}
+char *getv(Agraph_t *g, Agsym_t *a)
+{
+ return myagxget(g, a);
+}
+char *getv(Agraph_t *g, char *attr)
+{
+ Agsym_t *a;
+
+ if (!g || !attr)
+ return NULL;
+ a = agfindattr(g->root, attr);
+ return myagxget(g, a);
+}
+static void myagxset(void *obj, Agsym_t *a, char *val)
+{
+ int len;
+ char *hs;
+
+ if (a->name[0] == 'l' && val[0] == '<' && strcmp(a->name, "label") == 0) {
+ len = strlen(val);
+ if (val[len-1] == '>') {
+ hs = strdup(val+1);
+ *(hs+len-2) = '\0';
+ val = agstrdup_html(hs);
+ free(hs);
+ }
+ }
+ agxset(obj, a->index, val);
+}
+char *setv(Agraph_t *g, Agsym_t *a, char *val)
+{
+ if (!g || !a || !val)
+ return NULL;
+ myagxset(g, a, val);
+ return val;
+}
+char *setv(Agraph_t *g, char *attr, char *val)
+{
+ Agsym_t *a;
+
+ if (!g || !attr || !val)
+ return NULL;
+ a = agfindattr(g->root, attr);
+ if (!a)
+ a = agraphattr(g->root, attr, emptystring);
+ myagxset(g, a, val);
+ return val;
+}
+//-------------------------------------------------
+char *getv(Agnode_t *n, Agsym_t *a)
+{
+ return myagxget(n, a);
+}
+char *getv(Agnode_t *n, char *attr)
+{
+ Agraph_t *g;
+ Agsym_t *a;
+
+ if (!n || !attr)
+ return NULL;
+ g = n->graph->root;
+ a = agfindattr(g->proto->n, attr);
+ return myagxget(n, a);
+}
+char *setv(Agnode_t *n, Agsym_t *a, char *val)
+{
+ if (!n || !a || !val)
+ return NULL;
+ myagxset(n, a, val);
+ return val;
+}
+char *setv(Agnode_t *n, char *attr, char *val)
+{
+ Agraph_t *g;
+ Agsym_t *a;
+
+ if (!n || !attr || !val)
+ return NULL;
+ g = n->graph->root;
+ a = agfindattr(g->proto->n, attr);
+ if (!a)
+ a = agnodeattr(g, attr, emptystring);
+ myagxset(n, a, val);
+ return val;
+}
+//-------------------------------------------------
+char *getv(Agedge_t *e, Agsym_t *a)
+{
+ return myagxget(e, a);
+}
+char *getv(Agedge_t *e, char *attr)
+{
+ Agraph_t *g;
+ Agsym_t *a;
+
+ if (!e || !attr)
+ return NULL;
+ g = e->tail->graph;
+ a = agfindattr(g->proto->e, attr);
+ return myagxget(e, a);
+}
+char *setv(Agedge_t *e, Agsym_t *a, char *val)
+{
+ if (!e || !a || !val)
+ return NULL;
+ myagxset(e, a, val);
+ return val;
+}
+char *setv(Agedge_t *e, char *attr, char *val)
+{
+ Agraph_t *g;
+ Agsym_t *a;
+
+ if (!e || !attr || !val)
+ return NULL;
+ g = e->tail->graph->root;
+ a = agfindattr(g->proto->e, attr);
+ if (!a)
+ a = agedgeattr(g, attr, emptystring);
+ myagxset(e, a, val);
+ return val;
+}
+//-------------------------------------------------
+Agraph_t *findsubg(Agraph_t *g, char *name)
+{
+ if (!g || !name)
+ return NULL;
+ return agfindsubg(g, name);
+}
+
+Agnode_t *findnode(Agraph_t *g, char *name)
+{
+ if (!g || !name)
+ return NULL;
+ return agfindnode(g, name);
+}
+
+Agedge_t *findedge(Agnode_t *t, Agnode_t *h)
+{
+ if (!t || !h)
+ return NULL;
+ return agfindedge(t->graph, t, h);
+}
+
+Agsym_t *findattr(Agraph_t *g, char *name)
+{
+ if (!g || !name)
+ return NULL;
+ return agfindattr(g, name);
+}
+
+Agsym_t *findattr(Agnode_t *n, char *name)
+{
+ if (!n || !name)
+ return NULL;
+ return agfindattr(n, name);
+}
+
+Agsym_t *findattr(Agedge_t *e, char *name)
+{
+ if (!e || !name)
+ return NULL;
+ return agfindattr(e, name);
+}
+
+//-------------------------------------------------
+
+Agnode_t *headof(Agedge_t *e)
+{
+ if (!e)
+ return NULL;
+ return e->head;
+}
+
+Agnode_t *tailof(Agedge_t *e)
+{
+ if (!e)
+ return NULL;
+ return e->tail;
+}
+
+Agraph_t *graphof(Agraph_t *g)
+{
+ if (!g || g == g->root)
+ return NULL;
+ return g->root;
+}
+
+Agraph_t *graphof(Agedge_t *e)
+{
+ if (!e)
+ return NULL;
+ return e->tail->graph;
+}
+
+Agraph_t *graphof(Agnode_t *n)
+{
+ if (!n)
+ return NULL;
+ return n->graph;
+}
+
+Agraph_t *rootof(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return g->root;
+}
+
+//-------------------------------------------------
+Agnode_t *protonode(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return g->proto->n;
+}
+
+Agedge_t *protoedge(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return g->proto->e;
+}
+
+//-------------------------------------------------
+char *nameof(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return g->name;
+}
+char *nameof(Agnode_t *n)
+{
+ if (!n)
+ return NULL;
+ return n->name;
+}
+//char *nameof(Agedge_t *e)
+//{
+// if (!e)
+// return NULL;
+// return e->name;
+//}
+char *nameof(Agsym_t *a)
+{
+ if (!a)
+ return NULL;
+ return a->name;
+}
+
+//-------------------------------------------------
+bool ok(Agraph_t *g)
+{
+ if (!g)
+ return false;
+ return true;
+}
+bool ok(Agnode_t *n)
+{
+ if (!n)
+ return false;
+ return true;
+}
+bool ok(Agedge_t *e)
+{
+ if (!e)
+ return false;
+ return true;
+}
+bool ok(Agsym_t *a)
+{
+ if (!a)
+ return false;
+ return true;
+}
+//-------------------------------------------------
+Agraph_t *firstsubg(Agraph_t *g)
+{
+ Agraph_t *mg;
+ Agnode_t *n;
+ Agedge_t *e;
+
+ if (!g)
+ return NULL;
+ n = g->meta_node;
+ if (!n)
+ return NULL;
+ mg = n->graph;
+ if (!mg)
+ return NULL;
+ e = agfstout(mg, n);
+ if (!e)
+ return NULL;
+ return agusergraph(e->head);
+}
+
+Agraph_t *nextsubg(Agraph_t *g, Agraph_t *sg)
+{
+ Agraph_t *mg;
+ Agnode_t *ng, *nsg;
+ Agedge_t *e;
+
+ if (!g || !sg)
+ return NULL;
+ ng = g->meta_node;
+ nsg = sg->meta_node;
+ if (!ng || !nsg)
+ return NULL;
+ mg = ng->graph;
+ if (!mg)
+ return NULL;
+ e = agfindedge(mg, ng, nsg);
+ if (!e)
+ return NULL;
+ e = agnxtout(mg, e);
+ if (!e)
+ return NULL;
+ return agusergraph(e->head);
+}
+
+Agraph_t *firstsupg(Agraph_t *g)
+{
+ Agraph_t *mg;
+ Agnode_t *n;
+ Agedge_t *e;
+
+ if (!g)
+ return NULL;
+ n = g->meta_node;
+ if (!n)
+ return NULL;
+ mg = n->graph;
+ if (!mg)
+ return NULL;
+ e = agfstin(mg, n);
+ if (!e)
+ return NULL;
+ return agusergraph(e->tail);
+}
+
+Agraph_t *nextsupg(Agraph_t *g, Agraph_t *sg)
+{
+ Agraph_t *mg;
+ Agnode_t *ng, *nsg;
+ Agedge_t *e;
+
+ if (!g || !sg)
+ return NULL;
+ ng = g->meta_node;
+ nsg = sg->meta_node;
+ if (!ng || !nsg)
+ return NULL;
+ mg = ng->graph;
+ if (!mg)
+ return NULL;
+ e = agfindedge(mg, nsg, ng);
+ if (!e)
+ return NULL;
+ e = agnxtin(mg, e);
+ if (!e)
+ return NULL;
+ return agusergraph(e->tail);
+}
+
+Agedge_t *firstout(Agraph_t *g)
+{
+ Agnode_t *n;
+
+ if (!g)
+ return NULL;
+ n = agfstnode(g);
+ if (!n)
+ return NULL;
+ return agfstout(g, n);
+}
+
+Agedge_t *nextout(Agraph_t *g, Agedge_t *e)
+{
+ Agnode_t *n;
+ Agedge_t *ne;
+
+ if (!g || !e)
+ return NULL;
+ ne = agnxtout(g, e);
+ if (ne)
+ return (ne);
+ n = agnxtnode(g, e->tail);
+ if (!n)
+ return NULL;
+ return agfstout(g, n);
+}
+
+Agedge_t *firstedge(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return firstout(g);
+}
+
+Agedge_t *nextedge(Agraph_t *g, Agedge_t *e)
+{
+ if (!g || !e)
+ return NULL;
+ return nextout(g, e);
+}
+
+Agedge_t *firstout(Agnode_t *n)
+{
+ if (!n)
+ return NULL;
+ return agfstout(n->graph, n);
+}
+
+Agedge_t *nextout(Agnode_t *n, Agedge_t *e)
+{
+ if (!n || !e)
+ return NULL;
+ return agnxtout(n->graph, e);
+}
+
+Agnode_t *firsthead(Agnode_t *n)
+{
+ Agedge_t *e;
+
+ if (!n)
+ return NULL;
+ e = agfstout(n->graph, n);
+ if (!e)
+ return NULL;
+ return e->head;
+}
+
+Agnode_t *nexthead(Agnode_t *n, Agnode_t *h)
+{
+ Agedge_t *e;
+
+ if (!n || !h)
+ return NULL;
+ e = agfindedge(n->graph, n, h);
+ if (!e)
+ return NULL;
+ do {
+ e = agnxtout(n->graph, e);
+ if (!e)
+ return NULL;
+ } while (e->head == h);
+ return e->head;
+}
+
+Agedge_t *firstedge(Agnode_t *n)
+{
+ if (!n)
+ return NULL;
+ return agfstedge(n->graph, n);
+}
+
+Agedge_t *nextedge(Agnode_t *n, Agedge_t *e)
+{
+ if (!n || !e)
+ return NULL;
+ return agnxtedge(n->graph, e, n);
+}
+
+Agedge_t *firstin(Agraph_t *g)
+{
+ Agnode_t *n;
+
+ if (!g)
+ return NULL;
+ n = agfstnode(g);
+ if (!n)
+ return NULL;
+ return agfstin(g, n);
+}
+
+Agedge_t *nextin(Agraph_t *g, Agedge_t *e)
+{
+ Agnode_t *n;
+ Agedge_t *ne;
+
+ if (!g || !e)
+ return NULL;
+ ne = agnxtin(g, e);
+ if (ne)
+ return (ne);
+ n = agnxtnode(g, e->head);
+ if (!n)
+ return NULL;
+ return agfstin(g, n);
+}
+
+Agedge_t *firstin(Agnode_t *n)
+{
+ if (!n)
+ return NULL;
+ return agfstin(n->graph, n);
+}
+
+Agedge_t *nextin(Agnode_t *n, Agedge_t *e)
+{
+ if (!n || !e)
+ return NULL;
+ return agnxtin(n->graph, e);
+}
+
+Agnode_t *firsttail(Agnode_t *n)
+{
+ Agedge_t *e;
+
+ if (!n)
+ return NULL;
+ e = agfstin(n->graph, n);
+ if (!e)
+ return NULL;
+ return e->tail;
+}
+
+Agnode_t *nexttail(Agnode_t *n, Agnode_t *t)
+{
+ Agedge_t *e;
+
+ if (!n || !t)
+ return NULL;
+ e = agfindedge(n->graph, t, n);
+ if (!e)
+ return NULL;
+ do {
+ e = agnxtout(n->graph, e);
+ if (!e)
+ return NULL;
+ } while (e->tail == t);
+ return e->tail;
+}
+
+Agnode_t *firstnode(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ return agfstnode(g);
+}
+
+Agnode_t *nextnode(Agraph_t *g, Agnode_t *n)
+{
+ if (!g || !n)
+ return NULL;
+ return agnxtnode(g, n);
+}
+
+Agnode_t *firstnode(Agedge_t *e)
+{
+ if (!e)
+ return NULL;
+ return e->tail;
+}
+
+Agnode_t *nextnode(Agedge_t *e, Agnode_t *n)
+{
+ if (!e || n != e->tail)
+ return NULL;
+ return e->head;
+}
+
+Agsym_t *firstattr(Agraph_t *g)
+{
+ if (!g)
+ return NULL;
+ g = g->root;
+ if (dtsize(g->univ->globattr->dict) == 0)
+ return NULL;
+ return g->univ->globattr->list[0];
+}
+
+Agsym_t *nextattr(Agraph_t *g, Agsym_t *a)
+{
+ int i;
+
+ if (!g || !a)
+ return NULL;
+ g = g->root;
+ for (i = 0; i < dtsize(g->univ->globattr->dict); i++)
+ if (a == g->univ->globattr->list[i])
+ break;
+ i++;
+ if (i > dtsize(g->univ->globattr->dict))
+ return NULL;
+ return g->univ->globattr->list[i];
+}
+
+Agsym_t *firstattr(Agnode_t *n)
+{
+ Agraph_t *g;
+
+ if (!n)
+ return NULL;
+ g = n->graph;
+ if (dtsize(g->univ->nodeattr->dict) == 0)
+ return NULL;
+ return g->univ->nodeattr->list[0];
+}
+
+Agsym_t *nextattr(Agnode_t *n, Agsym_t *a)
+{
+ Agraph_t *g;
+ int i;
+
+ if (!n || !a)
+ return NULL;
+ g = n->graph;
+ for (i = 0; i < dtsize(g->univ->nodeattr->dict); i++)
+ if (a == g->univ->nodeattr->list[i])
+ break;
+ i++;
+ if (i > dtsize(g->univ->nodeattr->dict))
+ return NULL;
+ return g->univ->nodeattr->list[i];
+}
+
+Agsym_t *firstattr(Agedge_t *e)
+{
+ Agraph_t *g;
+
+ if (!e)
+ return NULL;
+ g = e->tail->graph;
+ if (dtsize(g->univ->edgeattr->dict) == 0)
+ return NULL;
+ return g->univ->edgeattr->list[0];
+}
+
+Agsym_t *nextattr(Agedge_t *e, Agsym_t *a)
+{
+ Agraph_t *g;
+ int i;
+
+ if (!e || !a)
+ return NULL;
+ g = e->tail->graph;
+ for (i = 0; i < dtsize(g->univ->edgeattr->dict); i++)
+ if (a == g->univ->edgeattr->list[i])
+ break;
+ i++;
+ if (i > dtsize(g->univ->edgeattr->dict))
+ return NULL;
+ return g->univ->edgeattr->list[i];
+}
+
+bool rm(Agraph_t *g)
+{
+ Agedge_t *e;
+
+ if (!g)
+ return false;
+ if (g->meta_node) {
+ for (e = agfstout(g->meta_node->graph, g->meta_node); e;
+ e = agnxtout(g->meta_node->graph, e)) {
+ rm(agusergraph(e->head));
+ }
+ if (g == g->root) {
+ agclose(g);
+ } else {
+ agdelete(g->meta_node->graph, g->meta_node);
+ }
+ return true;
+ }
+ fprintf(stderr, "subgraph has no meta_node\n");
+ return false;
+}
+
+bool rm(Agnode_t *n)
+{
+ if (!n)
+ return false;
+ // removal of the protonode is not permitted
+ if (n->name[0] == '\001' && strcmp (n->name, "\001proto") ==0)
+ return false;
+ agdelete(n->graph, n);
+ return true;
+}
+
+bool rm(Agedge_t *e)
+{
+ if (!e)
+ return false;
+ // removal of the protoedge is not permitted
+ if ((e->head->name[0] == '\001' && strcmp (e->head->name, "\001proto") == 0)
+ || (e->tail->name[0] == '\001' && strcmp (e->tail->name, "\001proto") == 0))
+ return false;
+ agdelete(e->head->graph->root, e);
+ return true;
+}
+
+bool layout(Agraph_t *g, char *engine)
+{
+ int err;
+
+ if (!g)
+ return false;
+ err = gvFreeLayout(gvc, g); /* ignore errors */
+ err = gvLayout(gvc, g, engine);
+ return (! err);
+}
+
+// annotate the graph with layout information
+bool render(Agraph_t *g)
+{
+ if (!g)
+ return false;
+ attach_attrs(g);
+ return true;
+}
+
+// render to a filename
+bool render(Agraph_t *g, char *format, char *filename)
+{
+ int err;
+
+ if (!g)
+ return false;
+ err = gvRenderFilename(gvc, g, format, filename);
+ return (! err);
+}
+
+// render to stdout
+bool render(Agraph_t *g, char *format)
+{
+ int err;
+
+ if (!g)
+ return false;
+ err = gvRender(gvc, g, format, stdout);
+ return (! err);
+}
+
+// render to a FILE
+bool render(Agraph_t *g, char *format, FILE *f)
+{
+ int err;
+
+ if (!g)
+ return false;
+ err = gvRender(gvc, g, format, f);
+ return (! err);
+}
+
+ // render to a data string
+char* renderdata(Agraph_t *g, char *format)
+{
+ int err;
+ char *data;
+ unsigned int length;
+
+ if (!g)
+ return NULL;
+ err = gvRenderData(gvc, g, format, &data, &length);
+ if (err)
+ return NULL;
+ data = (char*)realloc(data, length + 1);
+ return data;
+}
+
+bool write(Agraph_t *g, FILE *f)
+{
+ int err;
+
+ if (!g)
+ return false;
+ err = agwrite(g, f);
+ return (! err);
+}
+
+bool write(Agraph_t *g, char *filename)
+{
+ FILE *f;
+ int err;
+
+ if (!g)
+ return false;
+ f = fopen(filename, "w");
+ if (!f)
+ return false;
+ err = agwrite(g, f);
+ fclose(f);
+ return (! err);
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.i b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.i
new file mode 100644
index 0000000..3c11f3e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gv.i
@@ -0,0 +1,388 @@
+/* $Id: gv.i,v 1.35 2008/06/13 13:39:04 ellson Exp $ $Revision: 1.35 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+%module gv
+%{
+
+/* some language headers (e.g. php.h, ruby.h) leave these defined */
+#undef PACKAGE_BUGREPORT
+#undef PACKAGE_STRING
+#undef PACKAGE_TARNAME
+#undef PACKAGE_VERSION
+#undef PACKAGE_NAME
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "gvc.h"
+
+/** New graphs */
+/*** New empty graph */
+extern Agraph_t *graph(char *name);
+extern Agraph_t *digraph(char *name);
+extern Agraph_t *strictgraph(char *name);
+extern Agraph_t *strictdigraph(char *name);
+/*** New graph from a dot-syntax string or file */
+extern Agraph_t *readstring(char *string);
+extern Agraph_t *read(char *filename);
+extern Agraph_t *read(FILE *f);
+/*** Add new subgraph to existing graph */
+extern Agraph_t *graph(Agraph_t *g, char *name);
+
+/** New nodes */
+/*** Add new node to existing graph */
+extern Agnode_t *node(Agraph_t *g, char *name);
+
+/** New edges */
+/*** Add new edge between existing nodes */
+extern Agedge_t *edge(Agnode_t *t, Agnode_t *h);
+/*** Add a new edge between an existing tail node, and a named head node which will be induced in the graph if it doesn't already exist */
+extern Agedge_t *edge(Agnode_t *t, char *hname);
+/*** Add a new edge between an existing head node, and a named tail node which will be induced in the graph if it doesn't already exist */
+extern Agedge_t *edge(char *tname, Agnode_t *h);
+/*** Add a new edge between named tail and head nodes which will be induced in the graph if they don't already exist */
+extern Agedge_t *edge(Agraph_t *g, char *tname, char *hname);
+
+/** Setting attribute values */
+/*** Set value of named attribute of graph/node/edge - creating attribute if necessary */
+extern char *setv(Agraph_t *g, char *attr, char *val);
+extern char *setv(Agnode_t *n, char *attr, char *val);
+extern char *setv(Agedge_t *e, char *attr, char *val);
+
+/*** Set value of existing attribute of graph/node/edge (using attribute handle) */
+extern char *setv(Agraph_t *g, Agsym_t *a, char *val);
+extern char *setv(Agnode_t *n, Agsym_t *a, char *val);
+extern char *setv(Agedge_t *e, Agsym_t *a, char *val);
+
+/** Getting attribute values */
+/*** Get value of named attribute of graph/node/edge */
+extern char *getv(Agraph_t *g, char *attr);
+extern char *getv(Agnode_t *n, char *attr);
+extern char *getv(Agedge_t *e, char *attr);
+
+/*** Get value of attribute of graph/node/edge (using attribute handle) */
+extern char *getv(Agraph_t *g, Agsym_t *a);
+extern char *getv(Agnode_t *n, Agsym_t *a);
+extern char *getv(Agedge_t *e, Agsym_t *a);
+
+/** Obtain names from handles */
+extern char *nameof(Agraph_t *g);
+extern char *nameof(Agnode_t *n);
+//extern char *nameof(Agedge_t *e);
+extern char *nameof(Agsym_t *a);
+
+/** Find handles from names */
+extern Agraph_t *findsubg(Agraph_t *g, char *name);
+extern Agnode_t *findnode(Agraph_t *g, char *name);
+extern Agedge_t *findedge(Agnode_t *t, Agnode_t *h);
+
+/** */
+extern Agsym_t *findattr(Agraph_t *g, char *name);
+extern Agsym_t *findattr(Agnode_t *n, char *name);
+extern Agsym_t *findattr(Agedge_t *e, char *name);
+
+/** Misc graph navigators returning handles */
+extern Agnode_t *headof(Agedge_t *e);
+extern Agnode_t *tailof(Agedge_t *e);
+extern Agraph_t *graphof(Agraph_t *g);
+extern Agraph_t *graphof(Agedge_t *e);
+extern Agraph_t *graphof(Agnode_t *n);
+extern Agraph_t *rootof(Agraph_t *g);
+
+/** Obtain handles of proto node/edge for setting default attribute values */
+extern Agnode_t *protonode(Agraph_t *g);
+extern Agedge_t *protoedge(Agraph_t *g);
+
+/** Iterators */
+/*** Iteration termination tests */
+extern bool ok(Agraph_t *g);
+extern bool ok(Agnode_t *n);
+extern bool ok(Agedge_t *e);
+extern bool ok(Agsym_t *a);
+
+/*** Iterate over subgraphs of a graph */
+extern Agraph_t *firstsubg(Agraph_t *g);
+extern Agraph_t *nextsubg(Agraph_t *g, Agraph_t *sg);
+
+/*** Iterate over supergraphs of a graph (obscure and rarely useful) */
+extern Agraph_t *firstsupg(Agraph_t *g);
+extern Agraph_t *nextsupg(Agraph_t *g, Agraph_t *sg);
+
+/*** Iterate over edges of a graph */
+extern Agedge_t *firstedge(Agraph_t *g);
+extern Agedge_t *nextedge(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over outedges of a graph */
+extern Agedge_t *firstout(Agraph_t *g);
+extern Agedge_t *nextout(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over edges of a node */
+extern Agedge_t *firstedge(Agnode_t *n);
+extern Agedge_t *nextedge(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over out-edges of a node */
+extern Agedge_t *firstout(Agnode_t *n);
+extern Agedge_t *nextout(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over head nodes reachable from out-edges of a node */
+extern Agnode_t *firsthead(Agnode_t *n);
+extern Agnode_t *nexthead(Agnode_t *n, Agnode_t *h);
+
+/*** Iterate over in-edges of a graph */
+extern Agedge_t *firstin(Agraph_t *g);
+extern Agedge_t *nextin(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over in-edges of a node */
+extern Agedge_t *firstin(Agnode_t *n);
+extern Agedge_t *nextin(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over tail nodes reachable from in-edges of a node */
+extern Agnode_t *firsttail(Agnode_t *n);
+extern Agnode_t *nexttail(Agnode_t *n, Agnode_t *t);
+
+/*** Iterate over nodes of a graph */
+extern Agnode_t *firstnode(Agraph_t *g);
+extern Agnode_t *nextnode(Agraph_t *g, Agnode_t *n);
+
+/*** Iterate over nodes of an edge */
+extern Agnode_t *firstnode(Agedge_t *e);
+extern Agnode_t *nextnode(Agedge_t *e, Agnode_t *n);
+
+/*** Iterate over attributes of a graph */
+extern Agsym_t *firstattr(Agraph_t *g);
+extern Agsym_t *nextattr(Agraph_t *g, Agsym_t *a);
+
+/*** Iterate over attributes of an edge */
+extern Agsym_t *firstattr(Agedge_t *e);
+extern Agsym_t *nextattr(Agedge_t *e, Agsym_t *a);
+
+/*** Iterate over attributes of a node */
+extern Agsym_t *firstattr(Agnode_t *n);
+extern Agsym_t *nextattr(Agnode_t *n, Agsym_t *a);
+
+/** Remove graph objects */
+extern bool rm(Agraph_t *g);
+extern bool rm(Agnode_t *n);
+extern bool rm(Agedge_t *e);
+
+/** Layout */
+/*** Annotate a graph with layout attributes and values using a specific layout engine */
+extern bool layout(Agraph_t *g, char *engine);
+
+/** Render */
+/*** Render a layout into attributes of the graph */
+extern bool render(Agraph_t *g);
+
+/*** Render a layout in a specific format */
+extern bool render(Agraph_t *g, char *format);
+extern bool render(Agraph_t *g, char *format, char *filename);
+extern bool render(Agraph_t *g, char *format, FILE *f);
+
+extern char* renderdata(Agraph_t *g, char *format);
+
+
+/*** Writing graph back to file */
+extern bool write(Agraph_t *g, char *filename);
+extern bool write(Agraph_t *g, FILE *f);
+
+%}
+
+%inline %{
+
+/** New graphs */
+/*** New empty graph */
+extern Agraph_t *graph(char *name);
+extern Agraph_t *digraph(char *name);
+extern Agraph_t *strictgraph(char *name);
+extern Agraph_t *strictdigraph(char *name);
+/*** New graph from a dot-syntax string or file */
+extern Agraph_t *readstring(char *string);
+extern Agraph_t *read(char *filename);
+extern Agraph_t *read(FILE *f);
+/*** Add new subgraph to existing graph */
+extern Agraph_t *graph(Agraph_t *g, char *name);
+
+/** New nodes */
+/*** Add new node to existing graph */
+extern Agnode_t *node(Agraph_t *g, char *name);
+
+/** New edges */
+/*** Add new edge between existing nodes */
+extern Agedge_t *edge(Agnode_t *t, Agnode_t *h);
+/*** Add a new edge between an existing tail node, and a named head node which will be induced in the graph if it doesn't already exist */
+extern Agedge_t *edge(Agnode_t *t, char *hname);
+/*** Add a new edge between an existing head node, and a named tail node which will be induced in the graph if it doesn't already exist */
+extern Agedge_t *edge(char *tname, Agnode_t *h);
+/*** Add a new edge between named tail and head nodes which will be induced in the graph if they don't already exist */
+extern Agedge_t *edge(Agraph_t *g, char *tname, char *hname);
+
+/** Setting attribute values */
+/*** Set value of named attribute of graph/node/edge - creating attribute if necessary */
+extern char *setv(Agraph_t *g, char *attr, char *val);
+extern char *setv(Agnode_t *n, char *attr, char *val);
+extern char *setv(Agedge_t *e, char *attr, char *val);
+
+/*** Set value of existing attribute of graph/node/edge (using attribute handle) */
+extern char *setv(Agraph_t *g, Agsym_t *a, char *val);
+extern char *setv(Agnode_t *n, Agsym_t *a, char *val);
+extern char *setv(Agedge_t *e, Agsym_t *a, char *val);
+
+/** Getting attribute values */
+/*** Get value of named attribute of graph/node/edge */
+extern char *getv(Agraph_t *g, char *attr);
+extern char *getv(Agnode_t *n, char *attr);
+extern char *getv(Agedge_t *e, char *attr);
+
+/*** Get value of attribute of graph/node/edge (using attribute handle) */
+extern char *getv(Agraph_t *g, Agsym_t *a);
+extern char *getv(Agnode_t *n, Agsym_t *a);
+extern char *getv(Agedge_t *e, Agsym_t *a);
+
+/** Obtain names from handles */
+extern char *nameof(Agraph_t *g);
+extern char *nameof(Agnode_t *n);
+//extern char *nameof(Agedge_t *e);
+extern char *nameof(Agsym_t *a);
+
+/** Find handles from names */
+extern Agraph_t *findsubg(Agraph_t *g, char *name);
+extern Agnode_t *findnode(Agraph_t *g, char *name);
+extern Agedge_t *findedge(Agnode_t *t, Agnode_t *h);
+
+/** */
+extern Agsym_t *findattr(Agraph_t *g, char *name);
+extern Agsym_t *findattr(Agnode_t *n, char *name);
+extern Agsym_t *findattr(Agedge_t *e, char *name);
+
+/** Misc graph navigators returning handles */
+extern Agnode_t *headof(Agedge_t *e);
+extern Agnode_t *tailof(Agedge_t *e);
+extern Agraph_t *graphof(Agraph_t *g);
+extern Agraph_t *graphof(Agedge_t *e);
+extern Agraph_t *graphof(Agnode_t *n);
+extern Agraph_t *rootof(Agraph_t *g);
+
+/** Obtain handles of proto node/edge for setting default attribute values */
+extern Agnode_t *protonode(Agraph_t *g);
+extern Agedge_t *protoedge(Agraph_t *g);
+
+/** Iterators */
+/*** Iteration termination tests */
+extern bool ok(Agraph_t *g);
+extern bool ok(Agnode_t *n);
+extern bool ok(Agedge_t *e);
+extern bool ok(Agsym_t *a);
+
+/*** Iterate over subgraphs of a graph */
+extern Agraph_t *firstsubg(Agraph_t *g);
+extern Agraph_t *nextsubg(Agraph_t *g, Agraph_t *sg);
+
+/*** Iterate over supergraphs of a graph (obscure and rarely useful) */
+extern Agraph_t *firstsupg(Agraph_t *g);
+extern Agraph_t *nextsupg(Agraph_t *g, Agraph_t *sg);
+
+/*** Iterate over edges of a graph */
+extern Agedge_t *firstedge(Agraph_t *g);
+extern Agedge_t *nextedge(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over outedges of a graph */
+extern Agedge_t *firstout(Agraph_t *g);
+extern Agedge_t *nextout(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over edges of a node */
+extern Agedge_t *firstedge(Agnode_t *n);
+extern Agedge_t *nextedge(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over out-edges of a node */
+extern Agedge_t *firstout(Agnode_t *n);
+extern Agedge_t *nextout(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over head nodes reachable from out-edges of a node */
+extern Agnode_t *firsthead(Agnode_t *n);
+extern Agnode_t *nexthead(Agnode_t *n, Agnode_t *h);
+
+/*** Iterate over in-edges of a graph */
+extern Agedge_t *firstin(Agraph_t *g);
+extern Agedge_t *nextin(Agnode_t *n, Agedge_t *e);
+
+/*** Iterate over in-edges of a node */
+extern Agedge_t *firstin(Agnode_t *n);
+extern Agedge_t *nextin(Agraph_t *g, Agedge_t *e);
+
+/*** Iterate over tail nodes reachable from in-edges of a node */
+extern Agnode_t *firsttail(Agnode_t *n);
+extern Agnode_t *nexttail(Agnode_t *n, Agnode_t *t);
+
+/*** Iterate over nodes of a graph */
+extern Agnode_t *firstnode(Agraph_t *g);
+extern Agnode_t *nextnode(Agraph_t *g, Agnode_t *n);
+
+/*** Iterate over nodes of an edge */
+extern Agnode_t *firstnode(Agedge_t *e);
+extern Agnode_t *nextnode(Agedge_t *e, Agnode_t *n);
+
+/*** Iterate over attributes of a graph */
+extern Agsym_t *firstattr(Agraph_t *g);
+extern Agsym_t *nextattr(Agraph_t *g, Agsym_t *a);
+
+/*** Iterate over attributes of an edge */
+extern Agsym_t *firstattr(Agedge_t *e);
+extern Agsym_t *nextattr(Agedge_t *e, Agsym_t *a);
+
+/*** Iterate over attributes of a node */
+extern Agsym_t *firstattr(Agnode_t *n);
+extern Agsym_t *nextattr(Agnode_t *n, Agsym_t *a);
+
+/** Remove graph objects */
+extern bool rm(Agraph_t *g);
+extern bool rm(Agnode_t *n);
+extern bool rm(Agedge_t *e);
+
+/** Layout */
+/*** Annotate a graph with layout attributes and values using a specific layout engine */
+extern bool layout(Agraph_t *g, char *engine);
+
+/** Render */
+/*** Render a layout into attributes of the graph */
+extern bool render(Agraph_t *g);
+
+/*** Render a layout in a specific format */
+extern bool render(Agraph_t *g, char *format);
+extern bool render(Agraph_t *g, char *format, char *filename);
+extern bool render(Agraph_t *g, char *format, FILE *f);
+
+extern char* renderdata(Agraph_t *g, char *format);
+
+
+/*** Writing graph back to file */
+extern bool write(Agraph_t *g, char *filename);
+extern bool write(Agraph_t *g, FILE *f);
+
+
+#ifdef SWIGTCL
+// A typemap telling SWIG to ignore an argument for input
+// However, we still need to pass a pointer to the C function
+%typemap(in,numinputs=0) char *outdata (char *temp) {
+ $1 = &temp;
+}
+// A typemap defining how to return an argument by appending it to the result
+%typemap(argout) char *outdata {
+ Tcl_Obj *o = Tcl_NewStringObj($1);
+ Tcl_ListObjAppendElement(interp,$result,o);
+}
+#endif
+
+%}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvc.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvc.h
new file mode 100644
index 0000000..4095c59
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvc.h
@@ -0,0 +1,113 @@
+/* $Id: gvc.h,v 1.40 2008/05/23 14:34:36 glenlow Exp $ $Revision: 1.40 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+ * * This software is part of the graphviz package *
+ * * http://www.graphviz.org/ *
+ * * *
+ * * Copyright (c) 1994-2004 AT&T Corp. *
+ * * and is licensed under the *
+ * * Common Public License, Version 1.0 *
+ * * by AT&T Corp. *
+ * * *
+ * * Information and Software Systems Research *
+ * * AT&T Research, Florham Park NJ *
+ * **********************************************************/
+
+#ifndef GVC_H
+#define GVC_H
+
+#include "types.h"
+#include "graph.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define dotneato_initialize dotneato_initialize_DEPRECATED_BY_gvParseArgs
+#define parse_args parse_args_DEPRECATED_BY_gvParseArgs
+
+#define dot_layout dot_layout_DEPRECATED_BY_gvLayout
+#define neato_layout dot_layout_DEPRECATED_BY_gvLayout
+#define fdp_layout dot_layout_DEPRECATED_BY_gvLayout
+#define circo_layout dot_layout_DEPRECATED_BY_gvLayout
+#define twopi_layout dot_layout_DEPRECATED_BY_gvLayout
+#define gvBindContext gvBindContext_DEPRECATED_BY_gvLayout
+#define gvlayout_layout gvlayout_layout_DEPRECATED_BY_gvLayoutJobs
+
+#define emit_jobs emit_jobs_DEPRECATED_BY_gvRenderJobs
+#define dotneato_write dotneato_write_DEPRECATED_BY_gvRenderJobs
+
+#define dot_cleanup dot_cleanup_DEPRECATED_BY_gvFreeLayout
+#define neato_cleanup dot_cleanup_DEPRECATED_BY_gvFreeLayout
+#define fdp_cleanup dot_cleanup_DEPRECATED_BY_gvFreeLayout
+#define circo_cleanup dot_cleanup_DEPRECATED_BY_gvFreeLayout
+#define twopi_cleanup dot_cleanup_DEPRECATED_BY_gvFreeLayout
+#define gvlayout_cleanup gvlayout_cleanup_DEPRECATED_BY_gvFreeLayout
+
+#define gvCleanup gvCleanup_DEPRECATED_BY_gvFreeContext
+#define dotneato_terminate dotneato_terminate_DEPRECATED_BY_gvFreeContext
+#define next_input_graph next_input_graph_DEPRECATED_BY_gvNextInputGraph
+
+/* misc */
+/* FIXME - this needs eliminating or renaming */
+extern void gvToggle(int);
+
+/* set up a graphviz context */
+extern GVC_t *gvNEWcontext(char **info, char *user);
+extern char *gvUsername(void);
+
+/* set up a graphviz context - alternative */
+/* (wraps the above two functions using info built into libgvc) */
+extern GVC_t *gvContext(void);
+
+/* get information associated with a graphviz context */
+extern char **gvcInfo(GVC_t*);
+extern char *gvcVersion(GVC_t*);
+extern char *gvcBuildDate(GVC_t*);
+extern char *gvcUsername(GVC_t*);
+
+/* get plugins associated with a graphviz context */
+extern gvplugin_available_t *gvFirstPlugin(GVC_t *gvc, api_t api);
+extern gvplugin_available_t *gvNextPlugin(gvplugin_available_t *plugin);
+extern char *gvPluginType(gvplugin_available_t *plugin);
+
+/* parse command line args - minimally argv[0] sets layout engine */
+extern int gvParseArgs(GVC_t *gvc, int argc, char **argv);
+extern graph_t *gvNextInputGraph(GVC_t *gvc);
+
+/* Compute a layout using a specified engine */
+extern int gvLayout(GVC_t *gvc, graph_t *g, char *engine);
+
+/* Compute a layout using layout engine from command line args */
+extern int gvLayoutJobs(GVC_t *gvc, graph_t *g);
+
+/* Render layout into string attributes of the graph */
+extern void attach_attrs(graph_t *g);
+
+/* Parse an html string */
+extern char *agstrdup_html(char *s);
+extern int aghtmlstr(char *s);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRender(GVC_t *gvc, graph_t *g, char *format, FILE *out);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRenderFilename(GVC_t *gvc, graph_t *g, char *format, char *filename);
+
+/* Render layout in a specified format to a malloc'ed string */
+extern int gvRenderData(GVC_t *gvc, graph_t *g, char *format, char **result, unsigned int *length);
+
+/* Render layout according to -T and -o options found by gvParseArgs */
+extern int gvRenderJobs(GVC_t *gvc, graph_t *g);
+
+/* Clean up layout data structures - layouts are not nestable (yet) */
+extern int gvFreeLayout(GVC_t *gvc, graph_t *g);
+
+/* Clean up graphviz context */
+extern int gvFreeContext(GVC_t *gvc);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVC_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcext.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcext.h
new file mode 100644
index 0000000..6ec3d7c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcext.h
@@ -0,0 +1,83 @@
+/* $Id: gvcext.h,v 1.8 2008/05/23 14:34:36 glenlow Exp $ $Revision: 1.8 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+/* Common header used by both clients and plugins */
+
+#ifndef GVCEXT_H
+#define GVCEXT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef WITH_CODEGENS
+ typedef struct codegen_s codegen_t;
+ typedef struct codegen_info_s codegen_info_t;
+#endif
+
+/*
+ * Define an apis array of name strings using an enumerated api_t as index.
+ * The enumerated type is defined here. The apis array is
+ * inititialized in gvplugin.c by redefining ELEM and reinvoking APIS.
+ */
+#define APIS ELEM(render) ELEM(layout) ELEM(textlayout) ELEM(device) ELEM(loadimage)
+
+/*
+ * Define api_t using names based on the plugin names with API_ prefixed.
+ */
+#define ELEM(x) API_##x,
+ typedef enum { APIS _DUMMY_ELEM_=0 } api_t; /* API_render, API_layout, ... */
+ /* Stupid but true: The sole purpose of "_DUMMY_ELEM_=0"
+ * is to avoid a "," after the last element of the enum
+ * because some compilers when using "-pedantic"
+ * generate an error for about the dangling ","
+ * but only if this header is used from a .cpp file!
+ * Setting it to 0 makes sure that the enumeration
+ * does not define an extra value. (It does however
+ * define _DUMMY_ELEM_ as an enumeration symbol,
+ * but its value duplicates that of the first
+ * symbol in the enumeration - in this case "render".)
+ */
+
+ /* One could wonder why trailing "," in:
+ * int nums[]={1,2,3,};
+ * is OK, but in:
+ * typedef enum {a,b,c,} abc_t;
+ * is not!!!
+ */
+#undef ELEM
+
+ typedef struct GVJ_s GVJ_t;
+ typedef struct GVC_s GVC_t;
+
+ typedef struct {
+ const char *name;
+ void* address;
+ } lt_symlist_t;
+
+ typedef struct gvplugin_available_s gvplugin_available_t;
+
+#if defined(GVDLL) && !defined(ENABLE_LTDL)
+ extern lt_symlist_t lt_preloaded_symbols[];
+#else
+ extern const lt_symlist_t lt_preloaded_symbols[];
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcjob.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcjob.h
new file mode 100644
index 0000000..a6da5bf
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcjob.h
@@ -0,0 +1,379 @@
+/* $Id: gvcjob.h,v 1.72 2008/03/14 22:08:40 ellson Exp $ $Revision: 1.72 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+/* Common header used by both clients and plugins */
+
+#ifndef GVCJOB_H
+#define GVCJOB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "gvcommon.h"
+#include "color.h"
+
+#define ARRAY_SIZE(A) (sizeof(A)/sizeof(A[0]))
+
+ typedef struct gvdevice_engine_s gvdevice_engine_t;
+ typedef struct gvformatter_engine_s gvformatter_engine_t;
+ typedef struct gvrender_engine_s gvrender_engine_t;
+ typedef struct gvlayout_engine_s gvlayout_engine_t;
+ typedef struct gvtextlayout_engine_s gvtextlayout_engine_t;
+ typedef struct gvloadimage_engine_s gvloadimage_engine_t;
+
+ typedef enum { PEN_NONE, PEN_DASHED, PEN_DOTTED, PEN_SOLID } pen_type;
+ typedef enum { FILL_NONE, FILL_SOLID } fill_type;
+ typedef enum { FONT_REGULAR, FONT_BOLD, FONT_ITALIC } font_type;
+#define PENWIDTH_NORMAL 1.
+#define PENWIDTH_BOLD 2.
+ typedef enum { GVATTR_STRING, GVATTR_BOOL, GVATTR_COLOR } gvattr_t;
+
+/* The -T output formats listed below are examples only, they are not definitive or inclusive,
+ other outputs may use the flags now, or in the future
+
+ Default emit order is breadth first graph walk order
+ EMIT_SORTED emits nodes before edges
+ EMIT_COLORS emits colors before nodes or edge -Tfig
+ EMIT_CLUSTERS_LAST emits cluster after nodes and edges
+ EMIT_PREORDER emit in preorder traversal ???
+ EMIT_EDGE_SORTED emits edges before nodes
+
+ GVDEVICE_DOES_PAGES provides pagination support -Tps
+ GVDEVICE_DOES_LAYERS provides support for layers -Tps
+ GVDEVICE_EVENTS supports mouse events -Tgtk, -Txlib
+ GVDEVICE_DOES_TRUECOLOR supports alph channel -Tpng, -Tgtk, -Txlib
+ GVDEVICE_BINARY_FORMAT Suppresses \r\n substitution for linends
+ GVDEVICE_COMPRESSED_FORMAT controls libz compression
+ GVDEVICE_NO_WRITER used when gvdevice is not used because device uses its own writer, -Tming, devil outputs (FIXME seems to overlap OUTPUT_NOT_REQUIRED)
+
+ GVRENDER_Y_GOES_DOWN device origin top left, y goes down, otherwise
+ device origin lower left, y goes up
+ GVRENDER_DOES_TRANSFORM device uses scale, translate, rotate to do its own
+ coordinate transformations, otherwise coordinates
+ are pre-transformed
+ GVRENDER_DOES_ARROWS renderer has its own idea of arrow shapes (deprecated)
+ GVRENDER_DOES_LABELS basically, maps don't need labels
+ GVRENDER_DOES_MAPS renderer encodes mapping information for mouse events -Tcmapx -Tsvg
+ GVRENDER_DOES_MAP_RECTANGLE supports a 2 coord rectngle optimization
+ GVRENDER_DOES_MAP_CIRCLE supports a 1 coord + radius circle optimization
+ GVRENDER_DOES_MAP_POLYGON supports polygons (basically, -Tsvg uses anchors, so doesn't need to support any map shapes)
+ GVRENDER_DOES_MAP_ELLIPSE supports a 2 coord ellipse optimization
+ GVRENDER_DOES_MAP_BSPLINE supports mapping of splines
+ GVRENDER_DOES_TOOLTIPS can represent tooltip info -Tcmapx, -Tsvg
+ GVRENDER_DOES_TARGETS can represent target info (open link in a new tab or window)
+ GVRENDER_DOES_Z render support 2.5D representation -Tvrml
+ GVRENDER_NO_BG don't paint white background, assumes white paper -Tps
+ LAYOUT_NOT_REQUIRED don't perform layout -Tcanon
+ OUTPUT_NOT_REQUIRED don't use gvdevice for output (basically when agwrite() used instead) -Tcanon, -Txdot
+ */
+
+
+#define EMIT_SORTED (1<<0)
+#define EMIT_COLORS (1<<1)
+#define EMIT_CLUSTERS_LAST (1<<2)
+#define EMIT_PREORDER (1<<3)
+#define EMIT_EDGE_SORTED (1<<4)
+#define GVDEVICE_DOES_PAGES (1<<5)
+#define GVDEVICE_DOES_LAYERS (1<<6)
+#define GVDEVICE_EVENTS (1<<7)
+#define GVDEVICE_DOES_TRUECOLOR (1<<8)
+#define GVDEVICE_BINARY_FORMAT (1<<9)
+#define GVDEVICE_COMPRESSED_FORMAT (1<<10)
+#define GVDEVICE_NO_WRITER (1<<11)
+#define GVRENDER_Y_GOES_DOWN (1<<12)
+#define GVRENDER_DOES_TRANSFORM (1<<13)
+#define GVRENDER_DOES_ARROWS (1<<14)
+#define GVRENDER_DOES_LABELS (1<<15)
+#define GVRENDER_DOES_MAPS (1<<16)
+#define GVRENDER_DOES_MAP_RECTANGLE (1<<17)
+#define GVRENDER_DOES_MAP_CIRCLE (1<<18)
+#define GVRENDER_DOES_MAP_POLYGON (1<<19)
+#define GVRENDER_DOES_MAP_ELLIPSE (1<<20)
+#define GVRENDER_DOES_MAP_BSPLINE (1<<21)
+#define GVRENDER_DOES_TOOLTIPS (1<<22)
+#define GVRENDER_DOES_TARGETS (1<<23)
+#define GVRENDER_DOES_Z (1<<24)
+#define GVRENDER_NO_BG (1<<25)
+#define LAYOUT_NOT_REQUIRED (1<<26)
+#define OUTPUT_NOT_REQUIRED (1<<27)
+
+ typedef struct {
+ int flags;
+ double default_pad; /* graph units */
+ char **knowncolors;
+ int sz_knowncolors;
+ color_type_t color_type;
+ } gvrender_features_t;
+
+ typedef struct {
+ int flags;
+ pointf default_margin; /* left/right, top/bottom - points */
+ pointf default_pagesize;/* default page width, height - points */
+ pointf default_dpi;
+ } gvdevice_features_t;
+
+#define LAYOUT_USES_RANKDIR (1<<0)
+
+ typedef struct gvplugin_active_device_s {
+ gvdevice_engine_t *engine;
+ int id;
+ gvdevice_features_t *features;
+ char *type;
+ } gvplugin_active_device_t;
+
+ typedef struct gvplugin_active_render_s {
+ gvrender_engine_t *engine;
+ int id;
+ gvrender_features_t *features;
+ char *type;
+ } gvplugin_active_render_t;
+
+ typedef struct gvplugin_active_loadimage_t {
+ gvloadimage_engine_t *engine;
+ int id;
+ char *type;
+ } gvplugin_active_loadimage_t;
+
+ typedef struct gv_argvlist_s {
+ char **argv;
+ int argc;
+ int alloc;
+ } gv_argvlist_t;
+
+ typedef struct gvdevice_callbacks_s {
+ void (*refresh) (GVJ_t * job);
+ void (*button_press) (GVJ_t * job, int button, pointf pointer);
+ void (*button_release) (GVJ_t * job, int button, pointf pointer);
+ void (*motion) (GVJ_t * job, pointf pointer);
+ void (*modify) (GVJ_t * job, char *name, char *value);
+ void (*del) (GVJ_t * job); /* can't use "delete" 'cos C++ stole it */
+ void (*read) (GVJ_t * job, char *filename, char *layout);
+ void (*layout) (GVJ_t * job, char *layout);
+ void (*render) (GVJ_t * job, char *format, char *filename);
+ } gvdevice_callbacks_t;
+
+ typedef int (*gvevent_key_callback_t) (GVJ_t * job);
+
+ typedef struct gvevent_key_binding_s {
+ char *keystring;
+ gvevent_key_callback_t callback;
+ } gvevent_key_binding_t;
+
+ typedef enum {MAP_RECTANGLE, MAP_CIRCLE, MAP_POLYGON, } map_shape_t;
+
+ typedef enum {ROOTGRAPH_OBJTYPE, CLUSTER_OBJTYPE, NODE_OBJTYPE, EDGE_OBJTYPE} obj_type;
+
+ /* See comment in gvrender_core_dot.c */
+ typedef enum {
+ EMIT_GDRAW, EMIT_CDRAW, EMIT_TDRAW, EMIT_HDRAW,
+ EMIT_GLABEL, EMIT_CLABEL, EMIT_TLABEL, EMIT_HLABEL,
+ EMIT_NDRAW, EMIT_EDRAW, EMIT_NLABEL, EMIT_ELABEL,
+ } emit_state_t;
+
+ typedef struct obj_state_s obj_state_t;
+
+ struct obj_state_s {
+ obj_state_t *parent;
+
+ obj_type type;
+ union {
+ graph_t *g;
+ graph_t *sg;
+ node_t *n;
+ edge_t *e;
+ } u;
+
+ emit_state_t emit_state;
+
+ gvcolor_t pencolor, fillcolor;
+ pen_type pen;
+ fill_type fill;
+ double penwidth;
+ char **rawstyle;
+
+ double z, tail_z, head_z; /* z depths for 2.5D renderers such as vrml */
+
+ /* fully substituted text strings */
+ char *label;
+ char *taillabel;
+ char *headlabel;
+
+ char *url; /* if GVRENDER_DOES_MAPS */
+ char *labelurl;
+ char *tailurl;
+ char *headurl;
+
+ char *tooltip; /* if GVRENDER_DOES_TOOLTIPS */
+ char *labeltooltip;
+ char *tailtooltip;
+ char *headtooltip;
+
+ char *target; /* if GVRENDER_DOES_TARGETS */
+ char *labeltarget;
+ char *tailtarget;
+ char *headtarget;
+
+ int explicit_tooltip:1;
+ int explicit_tailtooltip:1;
+ int explicit_headtooltip:1;
+ int explicit_labeltooltip:1;
+ int explicit_tailtarget:1;
+ int explicit_headtarget:1;
+ int explicit_edgetarget:1;
+ int explicit_tailurl:1;
+ int explicit_headurl:1;
+
+ /* primary mapped region - node shape, edge labels */
+ map_shape_t url_map_shape;
+ int url_map_n; /* number of points for url map if GVRENDER_DOES_MAPS */
+ pointf *url_map_p;
+
+ /* additonal mapped regions for edges */
+ int url_bsplinemap_poly_n; /* number of polygons in url bspline map
+ if GVRENDER_DOES_MAPS && GVRENDER_DOES_MAP_BSPLINES */
+ int *url_bsplinemap_n; /* array of url_bsplinemap_poly_n ints
+ of number of points in each polygon */
+ pointf *url_bsplinemap_p; /* all the polygon points */
+
+ int tailendurl_map_n; /* tail end intersection with node */
+ pointf *tailendurl_map_p;
+
+ int headendurl_map_n; /* head end intersection with node */
+ pointf *headendurl_map_p;
+ };
+
+/* Note on units:
+ * points - a physical distance (1/72 inch) unaffected by zoom or dpi.
+ * graph units - related to physical distance by zoom. Equals points at zoom=1
+ * device units - related to physical distance in points by dpi/72
+ */
+
+ struct GVJ_s {
+ GVC_t *gvc; /* parent gvc */
+ GVJ_t *next; /* linked list of jobs */
+ GVJ_t *next_active; /* linked list of active jobs (e.g. multiple windows) */
+
+ GVCOMMON_t *common;
+
+ obj_state_t *obj; /* objects can be nested (at least clusters can)
+ so keep object state on a stack */
+ char *input_filename;
+ int graph_index;
+
+ char *layout_type;
+
+ char *output_filename;
+ FILE *output_file;
+ char *output_data;
+ unsigned int output_data_allocated;
+ unsigned int output_data_position;
+
+ char *output_langname;
+ int output_lang;
+
+ gvplugin_active_render_t render;
+ gvplugin_active_device_t device;
+ gvplugin_active_loadimage_t loadimage;
+ gvdevice_callbacks_t *callbacks;
+ pointf device_dpi;
+ boolean device_sets_dpi;
+
+ void *display;
+ int screen;
+
+ void *context; /* gd or cairo surface */
+ boolean external_context; /* context belongs to caller */
+ unsigned char *imagedata; /* location of imagedata */
+
+ int flags; /* emit_graph flags */
+
+ int numLayers; /* number of layers */
+ int layerNum; /* current layer - 1 based*/
+
+ point pagesArraySize; /* 2D size of page array */
+ point pagesArrayFirst;/* 2D starting corner in */
+ point pagesArrayMajor;/* 2D major increment */
+ point pagesArrayMinor;/* 2D minor increment */
+ point pagesArrayElem; /* 2D coord of current page - 0,0 based */
+ int numPages; /* number of pages */
+
+ boxf bb; /* graph bb with padding - graph units */
+ pointf pad; /* padding around bb - graph units */
+ boxf clip; /* clip region in graph units */
+ boxf pageBox; /* current page in graph units */
+#ifdef WITH_CODEGENS
+ pointf pageOffset; /* offset for current page in graph units */
+#endif
+ pointf pageSize; /* page size in graph units */
+ pointf focus; /* viewport focus - graph units */
+
+ double zoom; /* viewport zoom factor (points per graph unit) */
+ int rotation; /* viewport rotation (degrees) 0=portrait, 90=landscape */
+
+ pointf view; /* viewport size - points */
+ boxf canvasBox; /* viewport area - points */
+ pointf margin; /* job-specific margin - points */
+
+ pointf dpi; /* device resolution device-units-per-inch */
+
+ unsigned int width; /* device width - device units */
+ unsigned int height; /* device height - device units */
+ box pageBoundingBox;/* rotated boundingBox - device units */
+ box boundingBox; /* cumulative boundingBox over all pages - device units */
+
+ pointf scale; /* composite device to graph units (zoom and dpi) */
+ pointf translation; /* composite translation */
+ pointf devscale; /* composite device to points: dpi, y_goes_down */
+
+ boolean fit_mode,
+ needs_refresh,
+ click,
+ has_grown,
+ has_been_rendered;
+
+ unsigned char button; /* active button */
+ pointf pointer; /* pointer position in device units */
+ pointf oldpointer; /* old pointer position in device units */
+
+ void *current_obj; /* graph object that pointer is in currently */
+
+ void *selected_obj; /* graph object that has been selected */
+ /* (e.g. button 1 clicked on current obj) */
+ char *active_tooltip; /* tooltip of active object - or NULL */
+ char *selected_href; /* href of selected object - or NULL */
+ gv_argvlist_t selected_obj_type_name; /* (e.g. "edge" "node3" "e" "->" "node5" "") */
+ gv_argvlist_t selected_obj_attributes; /* attribute triplets: name, value, type */
+ /* e.g. "color", "red", GVATTR_COLOR,
+ "style", "filled", GVATTR_BOOL, */
+
+ void *window; /* display-specific data for gvrender plugin */
+
+ /* keybindings for keyboard events */
+ gvevent_key_binding_t *keybindings;
+ int numkeys;
+ void *keycodes;
+
+/* Must be last as separately compiled plugins are not compiled with WITH_CODEGENS */
+#ifdef WITH_CODEGENS
+ codegen_t *codegen; /* current codegen */
+#endif
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVCJOB_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcommon.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcommon.h
new file mode 100644
index 0000000..07e7347
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvcommon.h
@@ -0,0 +1,42 @@
+/* $Id: gvcommon.h,v 1.7 2006/12/07 22:49:36 erg Exp $ $Revision: 1.7 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVCOMMON_H
+#define GVCOMMON_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ typedef struct GVCOMMON_s {
+ char *user;
+ char **info;
+ char *cmdname;
+ int verbose;
+ boolean config, auto_outfile_names;
+ void (*errorfn) (char *fmt, ...);
+ char **show_boxes; /* emit code for correct box coordinates */
+ char **lib;
+
+ /* rendering state */
+ int viewNum; /* current view - 1 based count of views,
+ all pages in all layers */
+ } GVCOMMON_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVCOMMON_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin.h
new file mode 100644
index 0000000..e597774
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin.h
@@ -0,0 +1,67 @@
+/* $Id: gvplugin.h,v 1.26 2008/05/23 14:34:36 glenlow Exp $ $Revision: 1.26 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+/* Header used by plugins */
+
+#ifndef GVPLUGIN_H
+#define GVPLUGIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "gvcext.h"
+
+/*
+ * Terminology:
+ *
+ * package - e.g. libgvplugin_cairo.so, or table of codegen builtins.
+ * api - e.g. render
+ * type - e.g. "png", "ps"
+ */
+
+ typedef struct {
+ int id; /* an id that is only unique within a package
+ of plugins of the same api.
+ A codegen id is unique in in the set of codegens.
+ A renderer-type such as "png" in the cairo package
+ has an id that is different from the "ps" type
+ in the same package */
+ char *type; /* a string name, such as "png" or "ps" that
+ distinguishes different types withing the same
+ api (renderer in this case) */
+ int quality; /* an arbitrary integer used for ordering plugins of
+ the same type from different packages */
+ void *engine; /* pointer to the jump table for the plugin */
+ void *features; /* pointer to the feature description
+ void* because type varies by api */
+ } gvplugin_installed_t;
+
+ typedef struct {
+ api_t api;
+ gvplugin_installed_t *types;
+ } gvplugin_api_t;
+
+ typedef struct {
+ char *packagename; /* used when this plugin is builtin and has
+ no pathname */
+ gvplugin_api_t *apis;
+ } gvplugin_library_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVPLUGIN_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_device.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_device.h
new file mode 100644
index 0000000..26c9ab9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_device.h
@@ -0,0 +1,37 @@
+/* $Id: gvplugin_device.h,v 1.13 2007/10/03 16:59:11 ellson Exp $ $Revision: 1.13 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVDEVICE_PLUGIN_H
+#define GVDEVICE_PLUGIN_H
+
+#include "types.h"
+#include "gvplugin.h"
+#include "gvcjob.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvdevice_engine_s {
+ void (*initialize) (GVJ_t * firstjob);
+ void (*format) (GVJ_t * firstjob);
+ void (*finalize) (GVJ_t * firstjob);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVDEVICE_PLUGIN_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_layout.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_layout.h
new file mode 100644
index 0000000..c50d298
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_layout.h
@@ -0,0 +1,36 @@
+/* $Id: gvplugin_layout.h,v 1.6 2006/06/11 19:59:03 ellson Exp $ $Revision: 1.6 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVPLUGIN_LAYOUT_H
+#define GVPLUGIN_LAYOUT_H
+
+#include "types.h"
+#include "gvplugin.h"
+#include "gvcjob.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvlayout_engine_s {
+ void (*layout) (graph_t * g);
+ void (*cleanup) (graph_t * g);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVPLUGIN_LAYOUT_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_loadimage.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_loadimage.h
new file mode 100644
index 0000000..9dbcf8c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_loadimage.h
@@ -0,0 +1,41 @@
+/* $Id: gvplugin_loadimage.h,v 1.5 2008/04/18 14:10:43 glenlow Exp $ $Revision: 1.5 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVPLUGIN_IMAGELOAD_H
+#define GVPLUGIN_IMAGELOAD_H
+
+#include "types.h"
+#include "gvplugin.h"
+#include "gvcjob.h"
+
+extern void gvdevice_fputs(GVJ_t * job, char *s);
+extern void gvdevice_printf(GVJ_t * job, const char *format, ...);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern boolean gvusershape_file_access(usershape_t *us);
+extern void gvusershape_file_release(usershape_t *us);
+
+ struct gvloadimage_engine_s {
+ void (*loadimage) (GVJ_t *job, usershape_t *us, boxf b, boolean filled);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVPLUGIN_IMAGELOAD_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_render.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_render.h
new file mode 100644
index 0000000..1e6331b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_render.h
@@ -0,0 +1,71 @@
+/* $Id: gvplugin_render.h,v 1.29 2007/12/19 22:03:36 ellson Exp $ $Revision: 1.29 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVPLUGIN_RENDER_H
+#define GVPLUGIN_RENDER_H
+
+#include "types.h"
+#include "gvplugin.h"
+#include "gvcjob.h"
+
+extern void gvdevice_fputs(GVJ_t * job, char *s);
+extern void gvdevice_printf(GVJ_t * job, const char *format, ...);
+extern void gvdevice_printnum(GVJ_t * job, double num);
+extern void gvdevice_printpointf(GVJ_t * job, pointf p);
+extern void gvdevice_printpointflist(GVJ_t * job, pointf *p, int n);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvrender_engine_s {
+ void (*begin_job) (GVJ_t * job);
+ void (*end_job) (GVJ_t * job);
+ void (*begin_graph) (GVJ_t * job);
+ void (*end_graph) (GVJ_t * job);
+ void (*begin_layer) (GVJ_t * job, char *layername,
+ int layerNum, int numLayers);
+ void (*end_layer) (GVJ_t * job);
+ void (*begin_page) (GVJ_t * job);
+ void (*end_page) (GVJ_t * job);
+ void (*begin_cluster) (GVJ_t * job);
+ void (*end_cluster) (GVJ_t * job);
+ void (*begin_nodes) (GVJ_t * job);
+ void (*end_nodes) (GVJ_t * job);
+ void (*begin_edges) (GVJ_t * job);
+ void (*end_edges) (GVJ_t * job);
+ void (*begin_node) (GVJ_t * job);
+ void (*end_node) (GVJ_t * job);
+ void (*begin_edge) (GVJ_t * job);
+ void (*end_edge) (GVJ_t * job);
+ void (*begin_anchor) (GVJ_t * job, char *href, char *tooltip,
+ char *target);
+ void (*end_anchor) (GVJ_t * job);
+ void (*textpara) (GVJ_t * job, pointf p, textpara_t * str);
+ void (*resolve_color) (GVJ_t * job, gvcolor_t * color);
+ void (*ellipse) (GVJ_t * job, pointf * A, int filled);
+ void (*polygon) (GVJ_t * job, pointf * A, int n, int filled);
+ void (*beziercurve) (GVJ_t * job, pointf * A, int n,
+ int arrow_at_start, int arrow_at_end, int);
+ void (*polyline) (GVJ_t * job, pointf * A, int n);
+ void (*comment) (GVJ_t * job, char *comment);
+ void (*library_shape) (GVJ_t * job, char *name, pointf * A, int n, int filled);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVPLUGIN_RENDER_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_textlayout.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_textlayout.h
new file mode 100644
index 0000000..a568d5a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/gvplugin_textlayout.h
@@ -0,0 +1,36 @@
+/* $Id: gvplugin_textlayout.h,v 1.14 2007/08/30 19:20:21 ellson Exp $ $Revision: 1.14 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GVPLUGIN_TEXTLAYOUT_H
+#define GVPLUGIN_TEXTLAYOUT_H
+
+#include "types.h"
+#include "gvplugin.h"
+#include "gvcjob.h"
+#include "gvcommon.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ struct gvtextlayout_engine_s {
+ boolean (*textlayout) (textpara_t *para, char** fontpath);
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GVPLUGIN_TEXTLAYOUT_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/no_demand_loading.c b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/no_demand_loading.c
new file mode 100644
index 0000000..0a7becd
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/no_demand_loading.c
@@ -0,0 +1,17 @@
+/* $Id: no_demand_loading.c,v 1.2 2006/12/07 22:49:36 erg Exp $ $Revision: 1.2 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+const int Demand_Loading = 0;
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pack.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pack.h
new file mode 100644
index 0000000..99b97f9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pack.h
@@ -0,0 +1,66 @@
+/* $Id: pack.h,v 1.6 2006/12/07 22:49:37 erg Exp $ $Revision: 1.6 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+
+
+#ifndef _PACK_H
+#define _PACK_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "types.h"
+#include "graph.h"
+
+/* Type indicating granularity and method
+ * l_undef - unspecified
+ * l_node - polyomino using nodes and edges
+ * l_clust - polyomino using nodes and edges and top-level clusters
+ * (assumes ND_clust(n) unused by application)
+ * l_graph - polyomino using graph bounding box
+ * l_hull - polyomino using convex hull (unimplemented)
+ * l_tile - tiling using graph bounding box (unimplemented)
+ * l_bisect - alternate bisection using graph bounding box (unimplemented)
+ */
+ typedef enum { l_undef, l_clust, l_node, l_graph } pack_mode;
+
+ typedef struct {
+#ifdef UNIMPLEMENTED
+ float aspect; /* desired aspect ratio */
+#endif
+ unsigned int margin; /* margin left around objects, in points */
+ int doSplines; /* use splines in constructing graph shape */
+ pack_mode mode; /* granularity and method */
+ boolean *fixed; /* fixed[i] == true implies g[i] should not be moved */
+ } pack_info;
+
+ extern point *putGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
+ extern int packGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
+ extern int packSubgraphs(int, Agraph_t **, Agraph_t *, pack_info *);
+ extern int pack_graph(int, Agraph_t **, Agraph_t *, boolean*);
+ extern pack_mode getPackMode(Agraph_t * g, pack_mode dflt);
+ extern int getPack(Agraph_t *, int not_def, int dflt);
+
+ extern int isConnected(Agraph_t *);
+ extern Agraph_t **ccomps(Agraph_t *, int *, char *);
+ extern Agraph_t **pccomps(Agraph_t *, int *, char *, boolean *);
+ extern int nodeInduce(Agraph_t *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathgeom.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathgeom.h
new file mode 100644
index 0000000..96b1fed
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathgeom.h
@@ -0,0 +1,54 @@
+/* $Id: pathgeom.h,v 1.2 2005/10/18 18:30:23 ellson Exp $ $Revision: 1.2 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+
+#ifndef _PATHGEOM_INCLUDE
+#define _PATHGEOM_INCLUDE
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_POINTF_S
+ typedef struct pointf_s Ppoint_t;
+ typedef struct pointf_s Pvector_t;
+#else
+ typedef struct Pxy_t {
+ double x, y;
+ } Pxy_t;
+
+ typedef struct Pxy_t Ppoint_t;
+ typedef struct Pxy_t Pvector_t;
+#endif
+
+ typedef struct Ppoly_t {
+ Ppoint_t *ps;
+ int pn;
+ } Ppoly_t;
+
+ typedef Ppoly_t Ppolyline_t;
+
+ typedef struct Pedge_t {
+ Ppoint_t a, b;
+ } Pedge_t;
+
+/* opaque state handle for visibility graph operations */
+ typedef struct vconfig_s vconfig_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathplan.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathplan.h
new file mode 100644
index 0000000..a360c64
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/pathplan.h
@@ -0,0 +1,55 @@
+/* $Id: pathplan.h,v 1.3 2007/01/18 20:16:45 erg Exp $ $Revision: 1.3 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+
+
+#ifndef _PATH_INCLUDE
+#define _PATH_INCLUDE
+
+#include "pathgeom.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#if defined(_BLD_pathplan) && defined(__EXPORT__)
+# define extern __EXPORT__
+#endif
+
+/* find shortest euclidean path within a simple polygon */
+ extern int Pshortestpath(Ppoly_t * boundary, Ppoint_t endpoints[2],
+ Ppolyline_t * output_route);
+
+/* fit a spline to an input polyline, without touching barrier segments */
+ extern int Proutespline(Pedge_t * barriers, int n_barriers,
+ Ppolyline_t input_route,
+ Pvector_t endpoint_slopes[2],
+ Ppolyline_t * output_route);
+
+/* utility function to convert from a set of polygonal obstacles to barriers */
+ extern int Ppolybarriers(Ppoly_t ** polys, int npolys,
+ Pedge_t ** barriers, int *n_barriers);
+
+/* function to convert a polyline into a spline representation */
+ extern void make_polyline(Ppolyline_t line, Ppolyline_t* sline);
+
+#undef extern
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/textpara.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/textpara.h
new file mode 100644
index 0000000..92d4722
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/textpara.h
@@ -0,0 +1,49 @@
+/* $Id: textpara.h,v 1.10 2008/03/06 21:40:02 ellson Exp $ $Revision: 1.10 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef TEXTPARA_H
+#define TEXTPARA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ typedef struct _PostscriptAlias {
+ char* name;
+ char* family;
+ char* weight;
+ char* stretch;
+ char* style;
+ int xfig_code;
+ char* svg_font_family;
+ char* svg_font_weight;
+ char* svg_font_style;
+ } PostscriptAlias;
+
+ typedef struct textpara_t {
+ char *str; /* stored in utf-8 */
+ char *fontname;
+ PostscriptAlias *postscript_alias;
+ void *layout;
+ void (*free_layout) (void *layout); /* FIXME - this is ugly */
+ double fontsize, width, height, yoffset_layout, yoffset_centerline;
+ char just;
+ } textpara_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/types.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/types.h
new file mode 100644
index 0000000..4308ec2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/types.h
@@ -0,0 +1,612 @@
+/* $Id: types.h,v 1.59 2008/01/08 18:18:59 ellson Exp $ $Revision: 1.59 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef GV_TYPES_H
+#define GV_TYPES_H
+
+#include <stdio.h>
+#include <assert.h>
+#include <signal.h>
+
+typedef unsigned char boolean;
+#ifndef NOT
+#define NOT(v) (!(v))
+#endif
+#ifndef FALSE
+#define FALSE 0
+#endif
+#ifndef TRUE
+#define TRUE NOT(FALSE)
+#endif
+
+#include "geom.h"
+#include "gvcext.h"
+#include "pathgeom.h"
+#include "textpara.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ typedef int (*qsort_cmpf) (const void *, const void *);
+ typedef int (*bsearch_cmpf) (const void *, const void *);
+
+ typedef struct Agraph_t graph_t;
+ typedef struct Agnode_t node_t;
+ typedef struct Agedge_t edge_t;
+ typedef struct Agsym_t attrsym_t;
+
+ typedef struct htmllabel_t htmllabel_t;
+
+ typedef union inside_t {
+ struct {
+ pointf* p;
+ double* r;
+ } a;
+ struct {
+ node_t* n;
+ box* bp;
+ } s;
+ } inside_t;
+
+ typedef struct port { /* internal edge endpoint specification */
+ point p; /* aiming point relative to node center */
+ double theta; /* slope in radians */
+ box *bp; /* if not null, points to bbox of
+ * rectangular area that is port target
+ */
+ boolean defined; /* if true, edge has port info at this end */
+ boolean constrained; /* if true, constraints such as theta are set */
+ boolean clip; /* if true, clip end to node/port shape */
+ unsigned char order; /* for mincross */
+ unsigned char side; /* if port is on perimeter of node, this
+ * contains the bitwise OR of the sides (TOP,
+ * BOTTOM, etc.) it is on.
+ */
+ } port;
+
+ typedef struct {
+ boolean(*swapEnds) (edge_t * e); /* Should head and tail be swapped? */
+ boolean(*splineMerge) (node_t * n); /* Is n a node in the middle of an edge? */
+ } splineInfo;
+
+ typedef struct pathend_t {
+ box nb; /* the node box */
+ point np; /* node port */
+ int sidemask;
+ int boxn;
+ box boxes[20];
+ } pathend_t;
+
+ typedef struct path { /* internal specification for an edge spline */
+ port start, end;
+ point *ulpp, *urpp, *llpp, *lrpp; /* tangents of near splines */
+ int nbox; /* number of subdivisions */
+ box *boxes; /* rectangular regions of subdivision */
+ void *data;
+ } path;
+
+ typedef struct bezier {
+ point *list;
+ int size;
+ int sflag, eflag;
+ point sp, ep;
+ } bezier;
+
+ typedef struct splines {
+ bezier *list;
+ int size;
+ boxf bb;
+ } splines;
+
+/* fp variants */
+ typedef struct bezierf {
+ pointf *list;
+ int size;
+ int sflag, eflag;
+ pointf sp, ep;
+ } bezierf;
+
+ typedef struct splinesf {
+ bezierf *list;
+ int size;
+ } splinesf;
+
+ typedef struct textlabel_t {
+ char *text, *fontname, *fontcolor;
+ double fontsize;
+ pointf dimen;
+ point p;
+ pointf d; /* delta from resizing */
+ union {
+ struct {
+ textpara_t *para;
+ short nparas;
+ } txt;
+ htmllabel_t *html;
+ } u;
+ boolean set; /* true if position is set */
+ boolean html; /* true if html label */
+ } textlabel_t;
+
+ typedef struct polygon_t { /* mutable shape information for a node */
+ int regular; /* true for symmetric shapes */
+ int peripheries; /* number of periphery lines */
+ int sides; /* number of sides */
+ double orientation; /* orientation of shape (+ve degrees) */
+ double distortion; /* distortion factor - as in trapezium */
+ double skew; /* skew factor - as in parallelogram */
+ int option; /* ROUNDED, DIAGONAL corners, etc. */
+ pointf *vertices; /* array of vertex points */
+ } polygon_t;
+
+ typedef struct stroke_t { /* information about a single stroke */
+ /* we would have called it a path if that term wasn't already used */
+ int nvertices; /* number of points in the stroke */
+ int flags; /* stroke style flags */
+ pointf *vertices; /* array of vertex points */
+ } stroke_t;
+
+/* flag definitions for stroke_t */
+#define STROKE_CLOSED (1 << 0)
+#define STROKE_FILLED (1 << 1)
+#define STROKE_PENDOWN (1 << 2)
+#define STROKE_VERTICES_ALLOCATED (1 << 3)
+
+ typedef struct shape_t { /* mutable shape information for a node */
+ int nstrokes; /* number of strokes in array */
+ stroke_t *strokes; /* array of strokes */
+ /* The last stroke must always be closed, but can be pen_up.
+ * It is used as the clipping path */
+ } shape_t;
+
+ typedef struct shape_functions { /* read-only shape functions */
+ void (*initfn) (node_t *); /* initializes shape from node u.shape_info structure */
+ void (*freefn) (node_t *); /* frees shape from node u.shape_info structure */
+ port(*portfn) (node_t *, char *, char *); /* finds aiming point and slope of port */
+ boolean(*insidefn) (inside_t * inside_context, pointf); /* clips incident gvc->e spline on shape of gvc->n */
+ int (*pboxfn)(node_t* n, port* p, int side, box rv[], int *kptr); /* finds box path to reach port */
+ void (*codefn) (GVJ_t * job, node_t * n); /* emits graphics code for node */
+ } shape_functions;
+
+ typedef enum { SH_UNSET, SH_POLY, SH_RECORD, SH_POINT, SH_EPSF} shape_kind;
+
+ typedef struct shape_desc { /* read-only shape descriptor */
+ char *name; /* as read from graph file */
+ shape_functions *fns;
+ polygon_t *polygon; /* base polygon info */
+ boolean usershape;
+ } shape_desc;
+
+#include "usershape.h" /* usershapes needed by gvc even w/o CODEGENS */
+#ifdef WITH_CODEGENS
+
+ struct codegen_s {
+ void (*reset) (void);
+ void (*begin_job) (FILE * ofp, graph_t * g, char **lib, char *user,
+ char *info[], point pages);
+ void (*end_job) (void);
+ void (*begin_graph) (GVC_t * gvc, graph_t * g, box bb, point pb);
+ void (*end_graph) (void);
+ void (*begin_page) (graph_t * g, point page, double scale, int rot,
+ point offset);
+ void (*end_page) (void);
+ void (*begin_layer) (char *layerName, int n, int nLayers);
+ void (*end_layer) (void);
+ void (*begin_cluster) (graph_t * g);
+ void (*end_cluster) (void);
+ void (*begin_nodes) (void);
+ void (*end_nodes) (void);
+ void (*begin_edges) (void);
+ void (*end_edges) (void);
+ void (*begin_node) (node_t * n);
+ void (*end_node) (void);
+ void (*begin_edge) (edge_t * e);
+ void (*end_edge) (void);
+ void (*begin_context) (void);
+ void (*end_context) (void);
+ void (*begin_anchor) (char *href, char *tooltip, char *target);
+ void (*end_anchor) (void);
+ void (*set_font) (char *fontname, double fontsize);
+ void (*textpara) (point p, textpara_t * para);
+ void (*set_pencolor) (char *name);
+ void (*set_fillcolor) (char *name);
+ void (*set_style) (char **s);
+ void (*ellipse) (point p, int rx, int ry, int filled);
+ void (*polygon) (point * A, int n, int filled);
+ void (*beziercurve) (point * A, int n, int arrow_at_start,
+ int arrow_at_end, int filled);
+ void (*polyline) (point * A, int n);
+ boolean bezier_has_arrows;
+ void (*comment) (char *str);
+ void (*usershape) (usershape_t *us, boxf b, point * A, int sides, boolean filled);
+ void (*set_penwidth) (double penwidth);
+ };
+
+ struct codegen_info_s {
+ codegen_t *cg; /* discovered codegen */
+ char *name; /* output format, null for sentinel */
+ int id; /* id of output format */
+ void *info; /* additional info provided by discovery routine */
+ /* Quartz uses this to store the Quicktime Component */
+ };
+
+#endif
+
+ typedef struct nodequeue {
+ node_t **store, **limit, **head, **tail;
+ } nodequeue;
+
+ typedef struct adjmatrix_t {
+ int nrows, ncols;
+ char *data;
+ } adjmatrix_t;
+
+ typedef struct rank_t {
+ int n; /* number of nodes in this rank */
+ node_t **v; /* ordered list of nodes in rank */
+ int an; /* globally allocated number of nodes */
+ node_t **av; /* allocated list of nodes in rank */
+ int ht1, ht2; /* height below/above centerline */
+ int pht1, pht2; /* as above, but only primitive nodes */
+ boolean candidate; /* for transpose () */
+ boolean valid;
+ int cache_nc; /* caches number of crossings */
+ adjmatrix_t *flat;
+ } rank_t;
+
+ typedef enum { R_NONE =
+ 0, R_VALUE, R_FILL, R_COMPRESS, R_AUTO, R_EXPAND } ratio_t;
+
+ typedef struct layout_t {
+ double quantum;
+ double scale;
+ double ratio; /* set only if ratio_kind == R_VALUE */
+ double dpi;
+ point margin;
+ point page;
+ point size;
+ boolean filled;
+ boolean landscape;
+ boolean centered;
+ ratio_t ratio_kind;
+ } layout_t;
+
+/* for "record" shapes */
+ typedef struct field_t {
+ point size; /* its dimension */
+ box b; /* its placement in node's coordinates */
+ int n_flds;
+ textlabel_t *lp; /* n_flds == 0 */
+ struct field_t **fld; /* n_flds > 0 */
+ char *id; /* user's identifier */
+ unsigned char LR; /* if box list is horizontal (left to right) */
+ unsigned char sides; /* sides of node exposed to field */
+ } field_t;
+
+ typedef struct nlist_t {
+ node_t **list;
+ int size;
+ } nlist_t;
+
+ typedef struct elist {
+ edge_t **list;
+ int size;
+ } elist;
+
+#define GUI_STATE_ACTIVE (1<<0)
+#define GUI_STATE_SELECTED (1<<1)
+#define GUI_STATE_VISITED (1<<2)
+#define GUI_STATE_DELETED (1<<3)
+
+#define elist_fastapp(item,L) do {L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)
+#define elist_append(item,L) do {L.list = ALLOC(L.size + 2,L.list,edge_t*); L.list[L.size++] = item; L.list[L.size] = NULL;} while(0)
+#define alloc_elist(n,L) do {L.size = 0; L.list = N_NEW(n + 1,edge_t*); } while (0)
+#define free_list(L) do {if (L.list) free(L.list);} while (0)
+
+typedef enum {NATIVEFONTS,PSFONTS,SVGFONTS} fontname_kind;
+
+ typedef struct Agraphinfo_t {
+ /* to generate code */
+ layout_t *drawing;
+ textlabel_t *label; /* if the cluster has a title */
+ box bb; /* bounding box */
+ point border[4]; /* sizes of margins for graph labels */
+ unsigned char gui_state; /* Graph state for GUI ops */
+ unsigned char has_labels;
+ boolean has_images;
+ unsigned char charset; /* input character set */
+ int rankdir;
+ int ht1, ht2; /* below and above extremal ranks */
+ unsigned short flags;
+ void *alg;
+ GVC_t *gvc; /* context for "globals" over multiple graphs */
+ void (*cleanup) (graph_t * g); /* function to deallocate layout-specific data */
+
+#ifndef DOT_ONLY
+ /* to place nodes */
+ node_t **neato_nlist;
+ int move;
+ double **dist, **spring, **sum_t, ***t;
+ int ndim;
+#endif
+#ifndef NEATO_ONLY
+ /* to have subgraphs */
+ int n_cluster;
+ graph_t **clust; /* clusters are in clust[1..n_cluster] !!! */
+ node_t *nlist;
+ rank_t *rank;
+ /* fast graph node list */
+ nlist_t comp;
+ /* connected components */
+ node_t *minset, *maxset; /* set leaders */
+ long n_nodes;
+ /* includes virtual */
+ short minrank, maxrank;
+
+ /* various flags */
+ boolean has_flat_edges;
+ unsigned char showboxes;
+ boolean cluster_was_collapsed;
+ fontname_kind fontnames; /* to override mangling in SVG */
+
+ int nodesep, ranksep;
+ node_t *ln, *rn; /* left, right nodes of bounding box */
+
+
+ /* for clusters */
+ node_t *leader, **rankleader;
+ boolean expanded;
+ char installed;
+ char set_type;
+ char label_pos;
+ boolean exact_ranksep;
+#endif
+
+ } Agraphinfo_t;
+
+#define GD_alg(g) (g)->u.alg
+#define GD_bb(g) (g)->u.bb
+#define GD_border(g) (g)->u.border
+#define GD_cl_cnt(g) (g)->u.cl_cnt
+#define GD_cleanup(g) (g)->u.cleanup
+#define GD_clust(g) (g)->u.clust
+#define GD_cluster_was_collapsed(g) (g)->u.cluster_was_collapsed
+#define GD_comp(g) (g)->u.comp
+#define GD_dist(g) (g)->u.dist
+#define GD_drawing(g) (g)->u.drawing
+#define GD_exact_ranksep(g) (g)->u.exact_ranksep
+#define GD_expanded(g) (g)->u.expanded
+#define GD_flags(g) (g)->u.flags
+#define GD_gui_state(g) (g)->u.gui_state
+#define GD_gvc(g) (g)->u.gvc
+#define GD_charset(g) (g)->u.charset
+#define GD_has_labels(g) (g)->u.has_labels
+#define GD_has_images(g) (g)->u.has_images
+#define GD_has_flat_edges(g) (g)->u.has_flat_edges
+#define GD_ht1(g) (g)->u.ht1
+#define GD_ht2(g) (g)->u.ht2
+#define GD_inleaf(g) (g)->u.inleaf
+#define GD_installed(g) (g)->u.installed
+#define GD_label(g) (g)->u.label
+#define GD_leader(g) (g)->u.leader
+#define GD_rankdir(g) ((g)->u.rankdir & 0x3)
+#define GD_flip(g) (GD_rankdir(g) & 1)
+#define GD_realrankdir(g) ((g)->u.rankdir >> 2)
+#define GD_realflip(g) (GD_realrankdir(g) & 1)
+#define GD_ln(g) (g)->u.ln
+#define GD_maxrank(g) (g)->u.maxrank
+#define GD_maxset(g) (g)->u.maxset
+#define GD_minrank(g) (g)->u.minrank
+#define GD_minset(g) (g)->u.minset
+#define GD_move(g) (g)->u.move
+#define GD_n_cluster(g) (g)->u.n_cluster
+#define GD_n_nodes(g) (g)->u.n_nodes
+#define GD_ndim(g) (g)->u.ndim
+#define GD_neato_nlist(g) (g)->u.neato_nlist
+#define GD_nlist(g) (g)->u.nlist
+#define GD_nodesep(g) (g)->u.nodesep
+#define GD_outleaf(g) (g)->u.outleaf
+#define GD_rank(g) (g)->u.rank
+#define GD_rankleader(g) (g)->u.rankleader
+#define GD_ranksep(g) (g)->u.ranksep
+#define GD_rn(g) (g)->u.rn
+#define GD_set_type(g) (g)->u.set_type
+#define GD_label_pos(g) (g)->u.label_pos
+#define GD_showboxes(g) (g)->u.showboxes
+#define GD_fontnames(g) (g)->u.fontnames
+#define GD_spring(g) (g)->u.spring
+#define GD_sum_t(g) (g)->u.sum_t
+#define GD_t(g) (g)->u.t
+
+ typedef struct Agnodeinfo_t {
+ shape_desc *shape;
+ void *shape_info;
+ point coord;
+ double width, height;
+ boxf bb;
+ int ht, lw, rw;
+ textlabel_t *label;
+ void *alg;
+ char state;
+ unsigned char gui_state; /* Node state for GUI ops */
+ boolean clustnode;
+
+#ifndef DOT_ONLY
+ unsigned char pinned;
+ short xsize, ysize;
+ int id, heapindex, hops;
+ double *pos, dist;
+#endif
+#ifndef NEATO_ONLY
+ unsigned char showboxes;
+ boolean has_port;
+
+ /* fast graph */
+ char node_type, mark, onstack;
+ char ranktype, weight_class;
+ node_t *next, *prev;
+ elist in, out, flat_out, flat_in, other;
+ graph_t *clust;
+
+ /* for union-find and collapsing nodes */
+ int UF_size;
+ node_t *UF_parent;
+ node_t *inleaf, *outleaf;
+
+ /* for placing nodes */
+ int rank, order; /* initially, order = 1 for ordered edges */
+ int mval;
+ elist save_in, save_out;
+
+ /* for network-simplex */
+ elist tree_in, tree_out;
+ edge_t *par;
+ int low, lim;
+ int priority;
+
+ double pad[1];
+#endif
+
+ } Agnodeinfo_t;
+
+#define ND_UF_parent(n) (n)->u.UF_parent
+#define ND_UF_size(n) (n)->u.UF_size
+#define ND_alg(n) (n)->u.alg
+#define ND_bb(n) (n)->u.bb
+#define ND_clust(n) (n)->u.clust
+#define ND_coord_i(n) (n)->u.coord
+#define ND_dist(n) (n)->u.dist
+#define ND_flat_in(n) (n)->u.flat_in
+#define ND_flat_out(n) (n)->u.flat_out
+#define ND_gui_state(n) (n)->u.gui_state
+#define ND_has_port(n) (n)->u.has_port
+#define ND_heapindex(n) (n)->u.heapindex
+#define ND_height(n) (n)->u.height
+#define ND_hops(n) (n)->u.hops
+#define ND_ht_i(n) (n)->u.ht
+#define ND_id(n) (n)->u.id
+#define ND_in(n) (n)->u.in
+#define ND_inleaf(n) (n)->u.inleaf
+#define ND_label(n) (n)->u.label
+#define ND_lim(n) (n)->u.lim
+#define ND_low(n) (n)->u.low
+#define ND_lw_i(n) (n)->u.lw
+#define ND_mark(n) (n)->u.mark
+#define ND_mval(n) (n)->u.mval
+#define ND_n_cluster(n) (n)->u.n_cluster
+#define ND_next(n) (n)->u.next
+#define ND_node_type(n) (n)->u.node_type
+#define ND_onstack(n) (n)->u.onstack
+#define ND_order(n) (n)->u.order
+#define ND_other(n) (n)->u.other
+#define ND_out(n) (n)->u.out
+#define ND_outleaf(n) (n)->u.outleaf
+#define ND_par(n) (n)->u.par
+#define ND_pinned(n) (n)->u.pinned
+#define ND_pos(n) (n)->u.pos
+#define ND_prev(n) (n)->u.prev
+#define ND_priority(n) (n)->u.priority
+#define ND_rank(n) (n)->u.rank
+#define ND_ranktype(n) (n)->u.ranktype
+#define ND_rw_i(n) (n)->u.rw
+#define ND_save_in(n) (n)->u.save_in
+#define ND_save_out(n) (n)->u.save_out
+#define ND_shape(n) (n)->u.shape
+#define ND_shape_info(n) (n)->u.shape_info
+#define ND_showboxes(n) (n)->u.showboxes
+#define ND_state(n) (n)->u.state
+#define ND_clustnode(n) (n)->u.clustnode
+#define ND_tree_in(n) (n)->u.tree_in
+#define ND_tree_out(n) (n)->u.tree_out
+#define ND_weight_class(n) (n)->u.weight_class
+#define ND_width(n) (n)->u.width
+#define ND_xsize(n) (n)->u.xsize
+#define ND_ysize(n) (n)->u.ysize
+
+ typedef struct Agedgeinfo_t {
+ splines *spl;
+ port tail_port, head_port; /* might be used someday */
+ textlabel_t *label, *head_label, *tail_label;
+ char edge_type;
+ char adjacent; /* true for flat edge with adjacent nodes */
+ char label_ontop;
+ unsigned char gui_state; /* Edge state for GUI ops */
+ edge_t *to_orig; /* for dot's shapes.c */
+ void *alg;
+
+#ifndef DOT_ONLY
+ double factor;
+ double dist;
+ Ppolyline_t path;
+#endif
+#ifndef NEATO_ONLY
+ unsigned char showboxes;
+ boolean conc_opp_flag;
+ short xpenalty;
+ int weight;
+ int cutvalue, tree_index;
+ short count;
+ unsigned short minlen;
+ edge_t *to_virt;
+#endif
+
+ } Agedgeinfo_t;
+
+#define ED_alg(e) (e)->u.alg
+#define ED_conc_opp_flag(e) (e)->u.conc_opp_flag
+#define ED_count(e) (e)->u.count
+#define ED_cutvalue(e) (e)->u.cutvalue
+#define ED_dist(e) (e)->u.dist
+#define ED_edge_type(e) (e)->u.edge_type
+#define ED_adjacent(e) (e)->u.adjacent
+#define ED_factor(e) (e)->u.factor
+#define ED_gui_state(e) (e)->u.gui_state
+#define ED_head_label(e) (e)->u.head_label
+#define ED_head_port(e) (e)->u.head_port
+#define ED_label(e) (e)->u.label
+#define ED_label_ontop(e) (e)->u.label_ontop
+#define ED_minlen(e) (e)->u.minlen
+#define ED_path(e) (e)->u.path
+#define ED_showboxes(e) (e)->u.showboxes
+#define ED_spl(e) (e)->u.spl
+#define ED_tail_label(e) (e)->u.tail_label
+#define ED_tail_port(e) (e)->u.tail_port
+#define ED_to_orig(e) (e)->u.to_orig
+#define ED_to_virt(e) (e)->u.to_virt
+#define ED_tree_index(e) (e)->u.tree_index
+#define ED_weight(e) (e)->u.weight
+#define ED_xpenalty(e) (e)->u.xpenalty
+
+ typedef struct {
+ int useGrid; /* use grid for speed up */
+ int useNew; /* encode x-K into attractive force */
+ int numIters; /* actual iterations in layout */
+ int unscaled; /* % of iterations used in pass 1 */
+ double C; /* Repulsion factor in xLayout */
+ double Tfact; /* scale temp from default expression */
+ double K; /* spring constant; ideal distance */
+ double T0; /* initial temperature */
+ } fdpParms_t;
+
+ typedef struct {
+ int flags;
+ } gvlayout_features_t;
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/usershape.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/usershape.h
new file mode 100644
index 0000000..f7f07e4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/graphviz/usershape.h
@@ -0,0 +1,59 @@
+/* $Id: usershape.h,v 1.12 2008/03/15 23:19:30 ellson Exp $ $Revision: 1.12 $ */
+/* vim:set shiftwidth=4 ts=8: */
+
+/**********************************************************
+* This software is part of the graphviz package *
+* http://www.graphviz.org/ *
+* *
+* Copyright (c) 1994-2004 AT&T Corp. *
+* and is licensed under the *
+* Common Public License, Version 1.0 *
+* by AT&T Corp. *
+* *
+* Information and Software Systems Research *
+* AT&T Research, Florham Park NJ *
+**********************************************************/
+
+#ifndef USERSHAPE_H
+#define USERSHAPE_H
+
+#include "cdt.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ typedef enum { FT_NULL,
+ FT_BMP, FT_GIF, FT_PNG, FT_JPEG,
+ FT_PDF, FT_PS, FT_EPS, FT_SVG, FT_XML
+ } imagetype_t;
+
+ typedef enum {
+ IMAGESCALE_FALSE, /* no image scaling */
+ IMAGESCALE_TRUE, /* scale image to fit but keep aspect ratio */
+ IMAGESCALE_WIDTH, /* scale image width to fit, keep height fixed */
+ IMAGESCALE_HEIGHT, /* scale image height to fit, keep width fixed */
+ IMAGESCALE_BOTH /* scale image to fit without regard for aspect ratio */
+ } imagescale_t;
+
+ typedef struct usershape_s usershape_t;
+
+ struct usershape_s {
+ Dtlink_t link;
+ char *name;
+ int macro_id;
+ boolean must_inline;
+ boolean nocache;
+ FILE *f;
+ imagetype_t type;
+ char *stringtype;
+ int x, y, w, h, dpi;
+ void *data; /* data loaded by a renderer */
+ size_t datasize; /* size of data (if mmap'ed) */
+ void (*datafree)(usershape_t *us); /* renderer's function for freeing data */
+ };
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/ltdl.h b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/ltdl.h
new file mode 100644
index 0000000..66b4dd9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/include/ltdl.h
@@ -0,0 +1,366 @@
+/* ltdl.h -- generic dlopen functions
+ Copyright (C) 1998-2000 Free Software Foundation, Inc.
+ Originally by Thomas Tanner <tanner@ffii.org>
+ This file is part of GNU Libtool.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+As a special exception to the GNU Lesser General Public License,
+if you distribute this file as part of a program or library that
+is built using GNU libtool, you may include it under the same
+distribution terms that you use for the rest of that program.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free
+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA
+*/
+
+/* Only include this header file once. */
+#ifndef LTDL_H
+#define LTDL_H 1
+
+#include <sys/types.h> /* for size_t declaration */
+
+
+/* --- MACROS FOR PORTABILITY --- */
+
+
+/* Saves on those hard to debug '\0' typos.... */
+#define LT_EOS_CHAR '\0'
+
+/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations,
+ so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at
+ the end of C declarations. */
+#ifdef __cplusplus
+# define LT_BEGIN_C_DECLS extern "C" {
+# define LT_END_C_DECLS }
+#else
+# define LT_BEGIN_C_DECLS /* empty */
+# define LT_END_C_DECLS /* empty */
+#endif
+
+LT_BEGIN_C_DECLS
+
+
+/* LT_PARAMS is a macro used to wrap function prototypes, so that compilers
+ that don't understand ANSI C prototypes still work, and ANSI C
+ compilers can issue warnings about type mismatches. */
+#if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(WIN32) || defined(__cplusplus)
+# define LT_PARAMS(protos) protos
+# define lt_ptr void*
+#else
+# define LT_PARAMS(protos) ()
+# define lt_ptr char*
+#endif
+
+/* LT_STMT_START/END are used to create macros which expand to a
+ a single compound statement in a portable way. */
+#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
+# define LT_STMT_START (void)(
+# define LT_STMT_END )
+#else
+# if (defined (sun) || defined (__sun__))
+# define LT_STMT_START if (1)
+# define LT_STMT_END else (void)0
+# else
+# define LT_STMT_START do
+# define LT_STMT_END while (0)
+# endif
+#endif
+
+/* LT_CONC creates a new concatenated symbol for the compiler
+ in a portable way. */
+#if defined(__STDC__) || defined(__cplusplus) || defined(_MSC_VER)
+# define LT_CONC(s,t) s##t
+#else
+# define LT_CONC(s,t) s/**/t
+#endif
+
+/* LT_STRLEN can be used safely on NULL pointers. */
+#define LT_STRLEN(s) (((s) && (s)[0]) ? strlen (s) : 0)
+
+
+
+/* --- WINDOWS SUPPORT --- */
+
+
+/* Canonicalise Windows and Cygwin recognition macros. */
+#ifdef __CYGWIN32__
+# ifndef __CYGWIN__
+# define __CYGWIN__ __CYGWIN32__
+# endif
+#endif
+#if defined(_WIN32) || defined(WIN32)
+# ifndef __WINDOWS__
+# ifdef _WIN32
+# define __WINDOWS__ _WIN32
+# else
+# ifdef WIN32
+# define __WINDOWS__ WIN32
+# endif
+# endif
+# endif
+#endif
+
+
+#ifdef __WINDOWS__
+# ifndef __CYGWIN__
+/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory
+ separator when it is set. */
+# define LT_DIRSEP_CHAR '\\'
+# define LT_PATHSEP_CHAR ';'
+# endif
+#endif
+#ifndef LT_PATHSEP_CHAR
+# define LT_PATHSEP_CHAR ':'
+#endif
+
+/* DLL building support on win32 hosts; mostly to workaround their
+ ridiculous implementation of data symbol exporting. */
+#ifndef LT_SCOPE
+# ifdef __WINDOWS__
+# ifdef LIBLTDL_DLL_EXPORT /* defined if exporting this dll */
+# define LT_SCOPE __declspec(dllexport)
+# endif
+# ifdef LIBLTDL_DLL_IMPORT /* define if linking with this dll */
+# define LT_SCOPE extern __declspec(dllimport)
+# endif
+# endif
+# ifndef LT_SCOPE /* static linking or !__WINDOWS__ */
+# define LT_SCOPE extern
+# endif
+#endif
+
+
+#if defined(_MSC_VER) /* Visual Studio */
+# define R_OK 4
+#endif
+
+
+
+/* --- DYNAMIC MODULE LOADING API --- */
+
+
+typedef struct lt_dlhandle_struct *lt_dlhandle; /* A loaded module. */
+
+/* Initialisation and finalisation functions for libltdl. */
+LT_SCOPE int lt_dlinit LT_PARAMS((void));
+LT_SCOPE int lt_dlexit LT_PARAMS((void));
+
+/* Module search path manipulation. */
+LT_SCOPE int lt_dladdsearchdir LT_PARAMS((const char *search_dir));
+LT_SCOPE int lt_dlinsertsearchdir LT_PARAMS((const char *before,
+ const char *search_dir));
+LT_SCOPE int lt_dlsetsearchpath LT_PARAMS((const char *search_path));
+LT_SCOPE const char *lt_dlgetsearchpath LT_PARAMS((void));
+LT_SCOPE int lt_dlforeachfile LT_PARAMS((
+ const char *search_path,
+ int (*func) (const char *filename, lt_ptr data),
+ lt_ptr data));
+
+/* Portable libltdl versions of the system dlopen() API. */
+LT_SCOPE lt_dlhandle lt_dlopen LT_PARAMS((const char *filename));
+LT_SCOPE lt_dlhandle lt_dlopenext LT_PARAMS((const char *filename));
+LT_SCOPE lt_ptr lt_dlsym LT_PARAMS((lt_dlhandle handle,
+ const char *name));
+LT_SCOPE const char *lt_dlerror LT_PARAMS((void));
+LT_SCOPE int lt_dlclose LT_PARAMS((lt_dlhandle handle));
+
+/* Module residency management. */
+LT_SCOPE int lt_dlmakeresident LT_PARAMS((lt_dlhandle handle));
+LT_SCOPE int lt_dlisresident LT_PARAMS((lt_dlhandle handle));
+
+
+
+
+/* --- MUTEX LOCKING --- */
+
+
+typedef void lt_dlmutex_lock LT_PARAMS((void));
+typedef void lt_dlmutex_unlock LT_PARAMS((void));
+typedef void lt_dlmutex_seterror LT_PARAMS((const char *errmsg));
+typedef const char *lt_dlmutex_geterror LT_PARAMS((void));
+
+LT_SCOPE int lt_dlmutex_register LT_PARAMS((lt_dlmutex_lock *lock,
+ lt_dlmutex_unlock *unlock,
+ lt_dlmutex_seterror *seterror,
+ lt_dlmutex_geterror *geterror));
+
+
+
+
+/* --- MEMORY HANDLING --- */
+
+
+/* By default, the realloc function pointer is set to our internal
+ realloc implementation which iself uses lt_dlmalloc and lt_dlfree.
+ libltdl relies on a featureful realloc, but if you are sure yours
+ has the right semantics then you can assign it directly. Generally,
+ it is safe to assign just a malloc() and a free() function. */
+LT_SCOPE lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size));
+LT_SCOPE lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size));
+LT_SCOPE void (*lt_dlfree) LT_PARAMS((lt_ptr ptr));
+
+
+
+
+/* --- PRELOADED MODULE SUPPORT --- */
+
+
+/* A preopened symbol. Arrays of this type comprise the exported
+ symbols for a dlpreopened module. */
+typedef struct {
+ const char *name;
+ lt_ptr address;
+} lt_dlsymlist;
+
+LT_SCOPE int lt_dlpreload LT_PARAMS((const lt_dlsymlist *preloaded));
+LT_SCOPE int lt_dlpreload_default
+ LT_PARAMS((const lt_dlsymlist *preloaded));
+
+#define LTDL_SET_PRELOADED_SYMBOLS() LT_STMT_START{ \
+ extern const lt_dlsymlist lt_preloaded_symbols[]; \
+ lt_dlpreload_default(lt_preloaded_symbols); \
+ }LT_STMT_END
+
+
+
+
+/* --- MODULE INFORMATION --- */
+
+
+/* Read only information pertaining to a loaded module. */
+typedef struct {
+ char *filename; /* file name */
+ char *name; /* module name */
+ int ref_count; /* number of times lt_dlopened minus
+ number of times lt_dlclosed. */
+} lt_dlinfo;
+
+LT_SCOPE const lt_dlinfo *lt_dlgetinfo LT_PARAMS((lt_dlhandle handle));
+LT_SCOPE lt_dlhandle lt_dlhandle_next LT_PARAMS((lt_dlhandle place));
+LT_SCOPE int lt_dlforeach LT_PARAMS((
+ int (*func) (lt_dlhandle handle, lt_ptr data),
+ lt_ptr data));
+
+/* Associating user data with loaded modules. */
+typedef unsigned lt_dlcaller_id;
+
+LT_SCOPE lt_dlcaller_id lt_dlcaller_register LT_PARAMS((void));
+LT_SCOPE lt_ptr lt_dlcaller_set_data LT_PARAMS((lt_dlcaller_id key,
+ lt_dlhandle handle,
+ lt_ptr data));
+LT_SCOPE lt_ptr lt_dlcaller_get_data LT_PARAMS((lt_dlcaller_id key,
+ lt_dlhandle handle));
+
+
+
+/* --- USER MODULE LOADER API --- */
+
+
+typedef struct lt_dlloader lt_dlloader;
+typedef lt_ptr lt_user_data;
+typedef lt_ptr lt_module;
+
+/* Function pointer types for creating user defined module loaders. */
+typedef lt_module lt_module_open LT_PARAMS((lt_user_data loader_data,
+ const char *filename));
+typedef int lt_module_close LT_PARAMS((lt_user_data loader_data,
+ lt_module handle));
+typedef lt_ptr lt_find_sym LT_PARAMS((lt_user_data loader_data,
+ lt_module handle,
+ const char *symbol));
+typedef int lt_dlloader_exit LT_PARAMS((lt_user_data loader_data));
+
+struct lt_user_dlloader {
+ const char *sym_prefix;
+ lt_module_open *module_open;
+ lt_module_close *module_close;
+ lt_find_sym *find_sym;
+ lt_dlloader_exit *dlloader_exit;
+ lt_user_data dlloader_data;
+};
+
+LT_SCOPE lt_dlloader *lt_dlloader_next LT_PARAMS((lt_dlloader *place));
+LT_SCOPE lt_dlloader *lt_dlloader_find LT_PARAMS((
+ const char *loader_name));
+LT_SCOPE const char *lt_dlloader_name LT_PARAMS((lt_dlloader *place));
+LT_SCOPE lt_user_data *lt_dlloader_data LT_PARAMS((lt_dlloader *place));
+LT_SCOPE int lt_dlloader_add LT_PARAMS((lt_dlloader *place,
+ const struct lt_user_dlloader *dlloader,
+ const char *loader_name));
+LT_SCOPE int lt_dlloader_remove LT_PARAMS((
+ const char *loader_name));
+
+
+
+/* --- ERROR MESSAGE HANDLING --- */
+
+
+/* Defining error strings alongside their symbolic names in a macro in
+ this way allows us to expand the macro in different contexts with
+ confidence that the enumeration of symbolic names will map correctly
+ onto the table of error strings. */
+#define lt_dlerror_table \
+ LT_ERROR(UNKNOWN, "unknown error") \
+ LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available") \
+ LT_ERROR(INVALID_LOADER, "invalid loader") \
+ LT_ERROR(INIT_LOADER, "loader initialization failed") \
+ LT_ERROR(REMOVE_LOADER, "loader removal failed") \
+ LT_ERROR(FILE_NOT_FOUND, "file not found") \
+ LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found") \
+ LT_ERROR(NO_SYMBOLS, "no symbols defined") \
+ LT_ERROR(CANNOT_OPEN, "can't open the module") \
+ LT_ERROR(CANNOT_CLOSE, "can't close the module") \
+ LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found") \
+ LT_ERROR(NO_MEMORY, "not enough memory") \
+ LT_ERROR(INVALID_HANDLE, "invalid module handle") \
+ LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow") \
+ LT_ERROR(INVALID_ERRORCODE, "invalid errorcode") \
+ LT_ERROR(SHUTDOWN, "library already shutdown") \
+ LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module") \
+ LT_ERROR(INVALID_MUTEX_ARGS, "invalid mutex handler registration") \
+ LT_ERROR(INVALID_POSITION, "invalid search path insert position")
+
+/* Enumerate the symbolic error names. */
+enum {
+#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name),
+ lt_dlerror_table
+#undef LT_ERROR
+
+ LT_ERROR_MAX
+};
+
+/* These functions are only useful from inside custom module loaders. */
+LT_SCOPE int lt_dladderror LT_PARAMS((const char *diagnostic));
+LT_SCOPE int lt_dlseterror LT_PARAMS((int errorcode));
+
+
+
+
+/* --- SOURCE COMPATIBILITY WITH OLD LIBLTDL --- */
+
+
+#ifdef LT_NON_POSIX_NAMESPACE
+# define lt_ptr_t lt_ptr
+# define lt_module_t lt_module
+# define lt_module_open_t lt_module_open
+# define lt_module_close_t lt_module_close
+# define lt_find_sym_t lt_find_sym
+# define lt_dlloader_exit_t lt_dlloader_exit
+# define lt_dlloader_t lt_dlloader
+# define lt_dlloader_data_t lt_user_data
+#endif
+
+LT_END_C_DECLS
+
+#endif /* !LTDL_H */
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/box.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/box.lefty
new file mode 100644
index 0000000..5c13ac9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/box.lefty
@@ -0,0 +1,157 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 400; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+#
+# data structures
+#
+objarray = [];
+objnum = 0;
+#
+# misc functions
+#
+min = function (a, b) {
+ if (a <= b)
+ return a;
+ return b;
+};
+max = function (a, b) {
+ if (b <= a)
+ return a;
+ return b;
+};
+rectof = function (p1, p2) {
+ return [
+ 0 = ['x' = min (p1.x, p2.x); 'y' = min (p1.y, p2.y);];
+ 1 = ['x' = max (p1.x, p2.x); 'y' = max (p1.y, p2.y);];
+ ];
+};
+pointadd = function (p1, p2) {
+ return ['x' = p2.x + p1.x; 'y' = p2.y + p1.y;];
+};
+pointsub = function (p1, p2) {
+ return ['x' = p2.x - p1.x; 'y' = p2.y - p1.y;];
+};
+#
+# rendering functions
+#
+drawbox = function (obj, color) {
+ box (canvas, obj, obj.rect, ['color' = color;]);
+};
+redrawboxes = function () {
+ local i;
+ clear (canvas);
+ for (i = 0; i < objnum; i = i + 1)
+ drawbox (objarray[i], 1);
+};
+redraw = function (canvas) {
+ redrawboxes ();
+};
+#
+# editing functions
+#
+new = function (rect) {
+ objarray[objnum] = [
+ 'rect' = rect;
+ 'id' = objnum;
+ ];
+ objnum = objnum + 1;
+ return objarray[objnum - 1];
+};
+reshape = function (obj, rect) {
+ obj.rect = rect;
+ return obj;
+};
+move = function (obj, p) {
+ obj.rect[0] = pointadd (obj.rect[0], p);
+ obj.rect[1] = pointadd (obj.rect[1], p);
+ return obj;
+};
+delete = function (obj) {
+ if (obj.id ~= objnum - 1) {
+ objarray[obj.id] = objarray[objnum - 1];
+ objarray[obj.id].id = obj.id;
+ }
+ remove (objnum - 1, objarray);
+ objnum = objnum - 1;
+};
+#
+# user interface functions
+#
+# left mouse button creates new box
+# middle button moves a box
+# right button deletes a box
+#
+leftdown = function (data) {
+ if (data.obj ~= null)
+ return;
+ leftbox = new (rectof (data.pos, data.pos));
+ drawbox (leftbox, 1);
+ setgfxattr (canvas, ['mode' = 'xor';]);
+};
+leftmove = function (data) {
+ if (~leftbox)
+ return;
+ drawbox (leftbox, 1);
+ clearpick (canvas, leftbox);
+ reshape (leftbox, rectof (data.ppos, data.pos));
+ drawbox (leftbox, 1);
+};
+leftup = function (data) {
+ if (~leftbox)
+ return;
+ drawbox (leftbox, 1);
+ clearpick (canvas, leftbox);
+ reshape (leftbox, rectof (data.ppos, data.pos));
+ setgfxattr (canvas, ['mode' = 'src';]);
+ drawbox (leftbox, 1);
+ remove ('leftbox');
+};
+middledown = function (data) {
+ if (data.obj == null)
+ return;
+ middlebox = data.obj;
+ middlepos = data.pos;
+ setgfxattr (canvas, ['mode' = 'xor';]);
+};
+middlemove = function (data) {
+ if (~middlebox)
+ return;
+ drawbox (middlebox, 1);
+ clearpick (canvas, middlebox);
+ move (middlebox, pointsub (middlepos, data.pos));
+ middlepos = data.pos;
+ drawbox (middlebox, 1);
+};
+middleup = function (data) {
+ if (~middlebox)
+ return;
+ drawbox (middlebox, 1);
+ clearpick (canvas, middlebox);
+ move (middlebox, pointsub (middlepos, data.pos));
+ setgfxattr (canvas, ['mode' = 'src';]);
+ drawbox (middlebox, 1);
+ remove ('middlepos');
+ remove ('middlebox');
+};
+rightup = function (data) {
+ if (data.pobj == null)
+ return;
+ drawbox (data.obj, 0);
+ clearpick (canvas, data.obj);
+ delete (data.obj);
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ redraw (canvas);
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/def.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/def.lefty
new file mode 100644
index 0000000..41cee96
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/def.lefty
@@ -0,0 +1,15 @@
+definit = function () {
+ defview = createwidget (-1, [
+ 'type' = 'view';
+ 'name' = 'graphics view';
+ 'origin' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 400; 'y' = 500;];
+ ]);
+ defscroll = createwidget (defview, ['type' = 'scroll';]);
+ defcanvas = createwidget (defscroll, [
+ 'type' = 'canvas';
+ 'origin' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 400; 'y' = 500;];
+ 'borderwidth' = 1;
+ ]);
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty.lefty
new file mode 100644
index 0000000..d0a620a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty.lefty
@@ -0,0 +1,735 @@
+#
+# DOTTY
+#
+dotty = [
+ 'keys' = [
+ 'nid' = 'nid';
+ 'eid' = 'eid';
+ 'gid' = 'gid';
+ 'name' = 'name';
+ 'attr' = 'attr';
+ 'gattr' = 'graphattr';
+ 'eattr' = 'edgeattr';
+ 'nattr' = 'nodeattr';
+ 'edges' = 'edges';
+ 'tail' = 'tail';
+ 'tport' = 'tport';
+ 'head' = 'head';
+ 'hport' = 'hport';
+ 'pos' = 'pos';
+ 'size' = 'size';
+ 'rect' = 'rect';
+ 'fname' = 'fontname';
+ 'fsize' = 'fontsize';
+ 'fcolor' = 'fontcolor';
+ 'dcolor' = 'drawcolor';
+ 'bcolor' = 'fillcolor';
+ ];
+ 'maps' = [
+ 'X11' = [
+ 'fontmap' = [
+ 'Times-Roman' = '-*-times-medium-r-*--%d-*-*-*-*-*-*-1';
+ 'Times-Italic' = '-*-times-medium-i-*--%d-*-*-*-*-*-*-1';
+ 'Times-Bold' = '-*-times-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Courier' = '-*-courier-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Courier-Bold' = '-*-courier-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Helvetica' = (
+ '-*-helvetica-medium-r-normal--%d-*-*-*-p-*-iso8859-1'
+ );
+ 'Helvetica-Bold' = (
+ '-*-helvetica-bold-r-normal--%d-*-*-*-p-*-iso8859-1'
+ );
+ ];
+ 'psfontmap' = [
+ 'Times-Roman' = 'Times-Roman';
+ 'Times-Italic' = 'Times-Italic';
+ 'Times-Bold' = 'Times-Bold';
+ 'Courier' = 'Courier';
+ 'Courier-Bold' = 'Courier-Bold';
+ 'Helvetica' = 'Helvetica';
+ 'Helvetica-Bold' = 'Helvetica-Bold';
+ ];
+ ];
+ 'mswin' = [
+ 'fontmap' = [
+ 'Times-Roman' = 'Times New Roman';
+ 'Times-Italic' = 'Times New Roman Italic';
+ 'Times-Bold' = 'Times New Roman Bold';
+ 'Courier' = 'Courier New';
+ 'Courier-Bold' = 'Courier New Bold';
+ 'Helvetica' = 'Arial';
+ 'Helvetica-Bold' = 'Arial Bold';
+ ];
+ 'psfontmap' = [
+ 'Times-Roman' = 'Times New Roman';
+ 'Times-Italic' = 'Times New Roman Italic';
+ 'Times-Bold' = 'Times New Roman Bold';
+ 'Courier' = 'Courier New';
+ 'Courier-Bold' = 'Courier New Bold';
+ 'Helvetica' = 'Arial';
+ 'Helvetica-Bold' = 'Arial Bold';
+ ];
+ ];
+ ];
+ 'protogt' = [
+ 'graph' = [
+ 'graphattr' = [
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ ];
+ 'nodeattr' = [
+ 'shape' = 'ellipse';
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ 'style' = 'solid';
+ ];
+ 'edgeattr' = [
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ 'style' = 'solid';
+ ];
+ 'graphdict' = [];
+ 'nodedict' = [];
+ 'graphs' = [];
+ 'nodes' = [];
+ 'edges' = [];
+ 'maxgid' = 0;
+ 'maxnid' = 0;
+ 'maxeid' = 0;
+ 'type' = 'digraph';
+ ];
+ 'layoutmode' = 'sync';
+ 'lserver' = 'dot';
+ 'edgehandles' = 1;
+ 'noundo' = 0;
+ ];
+ 'lservers' = [];
+ 'mlevel' = 0;
+ 'graphs' = [];
+ 'views' = [];
+ 'protovt' = [
+ 'normal' = [
+ 'name' = 'DOTTY';
+ 'orig' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 420; 'y' = 520;];
+ 'wrect' = [
+ 0 = ['x' = 0; 'y' = 0;];
+ 1 = ['x' = 400; 'y' = 500;];
+ ];
+ 'vsize' = ['x' = 400; 'y' = 500;];
+ 'w2v' = 1;
+ ];
+ 'birdseye' = [
+ 'type' = 'birdseye';
+ 'name' = 'DOTTY birdseye view';
+ 'orig' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 220; 'y' = 260;];
+ 'wrect' = [
+ 0 = ['x' = 0; 'y' = 0;];
+ 1 = ['x' = 200; 'y' = 250;];
+ ];
+ 'vsize' = ['x' = 200; 'y' = 250;];
+ 'w2v' = 1;
+ ];
+ ];
+ 'pagesizes' = [
+ '8.5x11' = ['x' = 8; 'y' = 10.5;];
+ '11x17' = ['x' = 10.5; 'y' = 16.5;];
+ '36x50' = ['x' = 35.5; 'y' = 49.5;];
+ ];
+];
+load ('dotty_draw.lefty');
+load ('dotty_edit.lefty');
+load ('dotty_layout.lefty');
+load ('dotty_ui.lefty');
+#
+# initialization functions
+#
+dotty.init = function () {
+ dotty.fontmap = dotty.maps[getenv ('LEFTYWINSYS')].fontmap;
+ dotty.clipgt = dotty.protogt.creategraph (['noundo' = 1;]);
+ dotty.inited = 1;
+};
+dotty.simple = function (file) {
+ if (dotty.inited ~= 1)
+ dotty.init ();
+ dotty.createviewandgraph (file, 'file', null, null);
+ txtview ('off');
+};
+#
+# main operations
+#
+dotty.protogt.creategraph = function (protogt) {
+ local gt, id, gtid;
+
+ if (~protogt)
+ protogt = dotty.protogt;
+ for (gtid = 0; dotty.graphs[gtid]; gtid = gtid + 1)
+ ;
+ gt = (dotty.graphs[gtid] = []);
+ if (protogt.mode ~= 'replace') {
+ for (id in dotty.protogt)
+ gt[id] = copy (dotty.protogt[id]);
+ }
+ for (id in protogt)
+ gt[id] = copy (protogt[id]);
+ gt.gtid = gtid;
+ gt.views = [];
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.busy = 0;
+ return gt;
+};
+dotty.protogt.copygraph = function (ogt) {
+ local gt, gtid, id;
+
+ for (gtid = 0; dotty.graphs[gtid]; gtid = gtid + 1)
+ ;
+ gt = (dotty.graphs[gtid] = []);
+ for (id in ogt)
+ gt[id] = copy (ogt[id]);
+ gt.gtid = gtid;
+ gt.views = [];
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.busy = 0;
+ return gt;
+};
+dotty.protogt.destroygraph = function (gt) {
+ local vid, vlist;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views)
+ vlist[vid] = gt.views[vid];
+ for (vid in gt.views)
+ gt.destroyview (gt, vlist[vid]);
+ remove (gt.gtid, dotty.graphs);
+};
+dotty.protogt.loadgraph = function (gt, name, type, protograph, layoutflag) {
+ local fd, vid, vt, graph, nid, eid, gid;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ if (~name)
+ if (~(name = ask ('file name:', 'file', '')))
+ return;
+ dotty.pushbusy (gt, gt.views);
+ dotty.message (1, 'loading');
+ if (~protograph)
+ protograph = dotty.protogt.graph;
+ if (
+ ~((fd = dotty.openio (name, type, 'r')) >= 0) |
+ ~(graph = readgraph (fd, protograph))
+ ) {
+ dotty.message (0, 'cannot load graph');
+ dotty.popbusy (gt, gt.views);
+ return;
+ }
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ }
+ gt.graph = graph;
+ gt.name = name;
+ gt.type = type;
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ if (~(type == 'file' & name == '-'))
+ closeio (fd);
+ graph.maxgid = tablesize (graph.graphs);
+ graph.maxnid = tablesize (graph.nodes);
+ graph.maxeid = tablesize (graph.edges);
+ for (nid in graph.nodes)
+ graph.nodes[nid][dotty.keys.nid] = nid;
+ for (eid in graph.edges)
+ graph.edges[eid][dotty.keys.eid] = eid;
+ for (gid in graph.graphs)
+ graph.graphs[gid][dotty.keys.gid] = gid;
+ gt.unpackattr (gt);
+ if (layoutflag) {
+ dotty.message (1, 'generating layout');
+ gt.layoutgraph (gt);
+ }
+ dotty.popbusy (gt, gt.views);
+ return gt.graph;
+};
+dotty.protogt.savegraph = function (gt, name, type) {
+ local fd;
+
+ if (~name)
+ if (~(name = ask ('file name:', 'file', '')))
+ return;
+ if (
+ ~((fd = dotty.openio (name, type, 'w')) >= 0) |
+ ~writegraph (fd, gt.graph, 0)
+ ) {
+ dotty.message (0, 'cannot save graph');
+ return;
+ }
+ if (~(type == 'file' & name == '-'))
+ closeio (fd);
+};
+dotty.protogt.setgraph = function (gt, graph) {
+ local vid, vt, nid, eid, gid;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ }
+ gt.graph = copy (graph);
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.unpackattr (gt);
+ gt.graph.maxgid = tablesize (graph.graphs);
+ gt.graph.maxnid = tablesize (graph.nodes);
+ gt.graph.maxeid = tablesize (graph.edges);
+ for (nid in gt.graph.nodes)
+ gt.graph.nodes[nid][dotty.keys.nid] = nid;
+ for (eid in gt.graph.edges)
+ gt.graph.edges[eid][dotty.keys.eid] = eid;
+ for (gid in gt.graph.graphs)
+ gt.graph.graphs[gid][dotty.keys.gid] = gid;
+ gt.unpackattr (gt);
+ dotty.message (1, 'generating layout');
+ gt.layoutgraph (gt);
+ return gt.graph;
+};
+dotty.protogt.erasegraph = function (gt, protogt, protovt) {
+ local vid, vt;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ clear (vt.canvas);
+ }
+ if (~protogt)
+ protogt = dotty.protogt;
+ gt.graph = copy (protogt.graph);
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+};
+dotty.protogt.layoutgraph = function (gt) {
+ if (gt.graph.graphattr.xdotversion) {
+ gt.unpacklayout (gt, gt.graph);
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ return;
+ }
+ if (gt.layoutmode == 'async') {
+ if (~gt.haveinput) {
+ gt.startlayout (gt);
+ return;
+ }
+ if (~gt.finishlayout (gt))
+ return;
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ } else {
+ if (~gt.startlayout (gt))
+ return;
+ else
+ while (~gt.finishlayout (gt))
+ ;
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ }
+};
+dotty.protogt.createview = function (gt, protovt) {
+ local vt, ovt, id, t;
+
+ vt = [];
+ vt.colors = [];
+ vt.colorn = 2;
+ if (~protovt)
+ protovt = dotty.protovt.normal;
+ if (protovt.mode ~= 'replace') {
+ for (id in dotty.protovt[protovt.type])
+ vt[id] = copy (dotty.protovt[protovt.type][id]);
+ }
+ for (id in protovt)
+ vt[id] = copy (protovt[id]);
+ if (~(vt.parent >= 0)) {
+ vt.view = createwidget (-1, [
+ 'type' = 'view';
+ 'name' = vt.name;
+ 'origin' = vt.orig;
+ 'size' = vt.size;
+ ]);
+ vt.scroll = createwidget (vt.view, ['type' = 'scroll';]);
+ } else {
+ vt.view = -1;
+ vt.scroll = createwidget (vt.parent, [
+ 'type' = 'scroll';
+ 'size' = vt.size;
+ ]);
+ }
+ vt.canvas = createwidget (vt.scroll, [
+ 'type' = 'canvas';
+ 'color' = [0 = protovt.bgcolor; 1 = protovt.fgcolor;];
+ ]);
+ setwidgetattr (vt.canvas, [
+ 'window' = vt.wrect;
+ 'viewport' = vt.vsize;
+ ]);
+ clear (vt.canvas);
+ dotty.views[vt.canvas] = vt;
+ vt.vtid = vt.canvas;
+ vt.gtid = gt.gtid;
+ gt.views[vt.vtid] = vt;
+ dotty.views[vt.scroll] = vt;
+ if (vt.view ~= -1)
+ dotty.views[vt.view] = vt;
+ if (protovt.colors & tablesize (protovt.colors) > 0) {
+ for (id in protovt.colors)
+ if (id == '_bgcolor_')
+ setwidgetattr (vt.canvas, [
+ 'color' = [0 = protovt.colors[id];];
+ ]);
+ else if (setwidgetattr (vt.canvas, ['color' = [
+ protovt.colors[id] = id;
+ ];]) ~= 1) {
+ t = split (id, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (vt.canvas, [
+ 'color' = [protovt.colors[id] = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', id, ' using #1')
+ );
+ }
+ }
+ vt.colors = copy (protovt.colors);
+ vt.colorn = protovt.colorn;
+ } else if (tablesize (gt.views) > 1) {
+ for (id in gt.views)
+ if (gt.views[id] ~= vt)
+ break;
+ ovt = gt.views[id];
+ for (id in ovt.colors)
+ if (id == '_bgcolor_')
+ setwidgetattr (vt.canvas, ['color' = [0 = ovt.colors[id];];]);
+ else if (setwidgetattr (vt.canvas, ['color' = [
+ ovt.colors[id] = id;
+ ];]) ~= 1) {
+ t = split (id, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (vt.canvas, [
+ 'color' = [ovt.colors[id] = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', id, ' using #1')
+ );
+ }
+ }
+ vt.colors = copy (ovt.colors);
+ vt.colorn = ovt.colorn;
+ }
+ if (gt.graph.rect)
+ gt.setviewsize ([vt.vtid = vt;], gt.graph.rect);
+ gt.drawgraph (gt, [vt.vtid = vt;]);
+ for (id in vt.uifuncs)
+ if (id == 'closeview')
+ widgets[vt.view][id] = vt.uifuncs[id];
+ else
+ widgets[vt.canvas][id] = vt.uifuncs[id];
+ return vt;
+};
+dotty.protogt.destroyview = function (gt, vt) {
+ destroywidget (vt.canvas);
+ destroywidget (vt.scroll);
+ if (vt.view ~= -1) {
+ destroywidget (vt.view);
+ remove (vt.view, dotty.views);
+ }
+ remove (vt.scroll, dotty.views);
+ remove (vt.canvas, dotty.views);
+ if (vt.gtid >= 0)
+ remove (vt.vtid, gt.views);
+ if (tablesize (dotty.views) == 0)
+ exit ();
+};
+dotty.protogt.zoom = function (gt, vt, factor, pos) {
+ gt.setviewscale ([vt.vtid = vt;], factor);
+ if (pos)
+ gt.setviewcenter ([vt.vtid = vt;], pos);
+ gt.redrawgraph (gt, [vt.vtid = vt;]);
+};
+dotty.protogt.findnode = function (gt, vt) {
+ local key, node, node1, nid;
+
+ if (~(key = ask ('give node name or label')))
+ return;
+ if (gt.graph.nodedict[key] >= 0)
+ node = gt.graph.nodes[gt.graph.nodedict[key]];
+ else if (gt.graph.nodedict[ston (key)] >= 0)
+ node = gt.graph.nodes[gt.graph.nodedict[ston (key)]];
+ else {
+ for (nid in gt.graph.nodes) {
+ node1 = gt.graph.nodes[nid];
+ if (node1.attr.label == key | node1.attr.label == ston (key)) {
+ node = node1;
+ break;
+ }
+ }
+ }
+ if (~node) {
+ dotty.message (0, concat ('cannot find node: ', key));
+ return;
+ }
+ gt.setviewcenter ([vt.vtid = vt;], node.pos);
+};
+dotty.protogt.setattr = function (gt, obj) {
+ local kv, t, attr, value;
+
+ if (~(kv = ask ('give attr/value, eg. color=blue')))
+ return;
+ t = split (kv, '=');
+ attr = t[0];
+ value = t[1];
+ if (
+ obj.attr == gt.graph.graphattr |
+ obj.attr == gt.graph.edgeattr |
+ obj.attr == gt.graph.nodeattr
+ ) {
+ obj.attr[attr] = value;
+ return;
+ }
+ if (obj.nid >= 0) {
+ gt.undrawnode (gt, gt.views, obj);
+ obj.attr[attr] = value;
+ gt.unpacknodeattr (gt, obj);
+ gt.drawnode (gt, gt.views, obj);
+ } else if (obj.eid >= 0) {
+ gt.undrawedge (gt, gt.views, obj);
+ obj.attr[attr] = value;
+ gt.unpackedgeattr (gt, obj);
+ gt.drawedge (gt, gt.views, obj);
+ }
+};
+dotty.protogt.getattr = function (gt, node) {
+ local kv;
+
+ if (~(kv.key = ask ('give attr name')))
+ return null;
+ if ((kv.val = node.attr[kv.key]))
+ return kv;
+ return null;
+};
+#
+# utilities
+#
+dotty.createviewandgraph = function (name, type, protogt, protovt) {
+ local vt, gt;
+
+ if (~protogt)
+ protogt = dotty.protogt;
+ if (protogt.creategraph)
+ gt = protogt.creategraph (protogt);
+ else
+ gt = dotty.protogt.creategraph (protogt);
+ vt = gt.createview (gt, protovt);
+ if (~protogt.graph)
+ protogt.graph = copy (dotty.protogt.graph);
+ if (name)
+ gt.loadgraph (gt, name, type, protogt.graph, 1);
+ return ['gt' = gt; 'vt' = vt;];
+};
+dotty.openio = function (name, type, mode) {
+ local fd;
+
+ if (~name)
+ return null;
+ if (type == 'file') {
+ if (name == '-') {
+ if (mode == 'r' | mode == 'r+')
+ fd = 0;
+ else
+ fd = 1;
+ } else if (~((fd = openio ('file', name, mode)) >= 0)) {
+ dotty.message (0, concat ('cannot open file: ', name));
+ return null;
+ }
+ } else if (type == 'pipe') {
+ if (~((fd = openio (
+ 'pipe', 'ksh', mode, concat ("%e ", name)
+ )) >= 0)) {
+ dotty.message (0, concat ('cannot run command: ', name));
+ return null;
+ }
+ } else
+ return null;
+ return fd;
+};
+dotty.pushbusy = function (gt, views) {
+ local vid;
+
+ if (gt.busy == 0)
+ for (vid in gt.views)
+ setwidgetattr (vid, ['cursor' = 'watch';]);
+ gt.busy = gt.busy + 1;
+};
+dotty.popbusy = function (gt, views) {
+ local vid;
+
+ gt.busy = gt.busy - 1;
+ if (gt.busy == 0)
+ for (vid in gt.views)
+ setwidgetattr (vid, ['cursor' = 'default';]);
+};
+dotty.message = function (level, text) {
+ if (level <= dotty.mlevel)
+ echo ('dotty.lefty: ', text);
+};
+#
+# printing or saving to file
+#
+dotty.protogt.printorsave = function (gt, vt, otype, name, mode, ptype) {
+ local pr, wrect, vsize, xy, psize, canvas, pscanvas, cid, cname, t;
+ local graph, edgehandles, fontmap, eid, edge, nid, node, gid, sgraph;
+ local did, draw, i;
+
+ if (~otype)
+ if (~(otype = ask ('print to', 'choice', 'file|printer')))
+ return;
+ if (otype == 'printer') {
+ if (~getenv ('TMPDIR'))
+ name = concat (getenv ('HOME'), '/.dottyout.ps');
+ else
+ name = concat (getenv ('TMPDIR'), '/.dottyout.ps', random (10000));
+ if (getenv ('LEFTYWINSYS') ~= 'mswin' & ~pr)
+ if (~(pr = ask ('printer command', 'string', 'lpr')))
+ return;
+ }
+ if (~name)
+ if (~(name = ask ('postscript file', 'file', 'out.ps')))
+ return;
+ if (~ptype)
+ if (~(ptype = ask ('page size', 'choice', '8.5x11|11x17|36x50')))
+ return;
+ if (~mode)
+ if (~(mode = ask ('mode', 'choice', 'portrait|landscape|best fit')))
+ return;
+ wrect = copy (vt.wrect);
+ wrect[0].x = wrect[0].x - 1;
+ wrect[1].x = wrect[1].x + 1;
+ wrect[0].y = wrect[0].y - 1;
+ wrect[1].y = wrect[1].y + 1;
+ vsize = copy (vt.vsize);
+ if (vsize.x == 0)
+ vsize.x = 1;
+ if (vsize.y == 0)
+ vsize.y = 1;
+ xy = vsize.x / vsize.y;
+ if (mode == 'best fit') {
+ if (xy < 1)
+ mode = 'portrait';
+ else
+ mode = 'landscape';
+ }
+ psize = dotty.pagesizes[ptype];
+ if (mode == 'portrait') {
+ if (xy < psize.x / psize.y) {
+ vsize.y = psize.y * 300;
+ vsize.x = vsize.y * xy;
+ } else {
+ vsize.x = psize.x * 300;
+ vsize.y = vsize.x / xy;
+ }
+ } else {
+ if (xy < psize.y / psize.x) {
+ vsize.y = psize.x * 300;
+ vsize.x = vsize.y * xy;
+ } else {
+ vsize.x = psize.y * 300;
+ vsize.y = vsize.x / xy;
+ }
+ }
+ if (~((pscanvas = createwidget (-1, [
+ 'type' = 'ps';
+ 'origin' = ['x' = 0; 'y' = 0;];
+ 'size' = vsize;
+ 'mode' = mode;
+ 'name' = name;
+ ])) >= 0)) {
+ dotty.message (0, 'cannot open printer device');
+ return;
+ }
+ for (cname in vt.colors) {
+ cid = vt.colors[cname];
+ if (cname == '_bgcolor_')
+ setwidgetattr (pscanvas, ['color' = [0 = cid;];]);
+ else if (setwidgetattr (pscanvas, ['color' = [cid = cname;];]) ~= 1) {
+ t = split (cname, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (pscanvas, [
+ 'color' = [cid = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', cname, ' using #1')
+ );
+ }
+ }
+ }
+ setwidgetattr (pscanvas, ['window' = wrect;]);
+ graph = copy (gt.graph);
+ canvas = vt.canvas;
+ vt.canvas = pscanvas;
+ edgehandles = gt.edgehandles;
+ gt.edgehandles = 0;
+ fontmap = dotty.maps[getenv ('LEFTYWINSYS')].psfontmap;
+ for (eid in graph.edges) {
+ edge = graph.edges[eid];
+ edge.fontname = fontmap[edge.attr.fontname];
+ for (did in edge.draws) {
+ if (did == 'ep')
+ continue;
+ draw = edge.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawedge (gt, [0 = vt;], edge);
+ }
+ for (nid in graph.nodes) {
+ node = graph.nodes[nid];
+ node.fontname = fontmap[node.attr.fontname];
+ for (did in node.draws) {
+ if (did == 'ep')
+ continue;
+ draw = node.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawnode (gt, [0 = vt;], node);
+ }
+ for (gid in graph.graphs) {
+ sgraph = graph.graphs[gid];
+ sgraph.fontname = fontmap[sgraph.graphattr.fontname];
+ for (did in sgraph.draws) {
+ if (did == 'ep')
+ continue;
+ draw = sgraph.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawsgraph (gt, [0 = vt;], sgraph);
+ }
+ graph.fontname = fontmap[graph.graphattr.fontname];
+ gt.drawsgraph (gt, [0 = vt;], graph);
+ gt.edgehandles = edgehandles;
+ vt.canvas = canvas;
+ destroywidget (pscanvas);
+ if (otype == 'printer' & getenv ('LEFTYWINSYS') ~= 'mswin')
+ system (concat (pr, ' ', name, '; rm ',name));
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_draw.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_draw.lefty
new file mode 100644
index 0000000..cd67f3e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_draw.lefty
@@ -0,0 +1,596 @@
+#
+# dotty_draw: drawing functions and data structures
+#
+dotty.protogt.drawgraph = function (gt, views) {
+ local gid, eid, nid, graph;
+
+ graph = gt.graph;
+ gt.drawsgraph (gt, views, graph);
+ for (gid in graph.graphs)
+ gt.drawsgraph (gt, views, graph.graphs[gid]);
+ for (eid in graph.edges)
+ gt.drawedge (gt, views, graph.edges[eid]);
+ for (nid in graph.nodes)
+ gt.drawnode (gt, views, graph.nodes[nid]);
+};
+dotty.protogt.redrawgraph = function (gt, views) {
+ local vid;
+
+ for (vid in views)
+ clear (views[vid].canvas);
+ gt.drawgraph (gt, views);
+};
+dotty.protogt.setviewsize = function (views, r) {
+ local vid, vt, w2v, scale, attr;
+
+ for (vid in views) {
+ vt = views[vid];
+ vt.wrect = copy (r);
+ if (r[1].x == 0 | r[1].y == 0) {
+ attr = getwidgetattr (vt.scroll, [0 = 'size';]);
+ vt.wrect[1] = copy (attr.size);
+ }
+ if (vt.type == 'birdseye') {
+ attr = getwidgetattr (vt.scroll, [0 = 'size';]);
+ scale.x = (vt.wrect[1].x - vt.wrect[0].x) / attr.size.x;
+ scale.y = (vt.wrect[1].y - vt.wrect[0].y) / attr.size.y;
+ if (scale.x > 1 & scale.x > scale.y)
+ vt.w2v = scale.x;
+ else if (scale.y > 1)
+ vt.w2v = scale.y;
+ else
+ vt.w2v = 1;
+ }
+ w2v = vt.w2v;
+ vt.vsize = [
+ 'x' = toint ((vt.wrect[1].x - vt.wrect[0].x) / w2v);
+ 'y' = toint ((vt.wrect[1].y - vt.wrect[0].y) / w2v);
+ ];
+ setwidgetattr (vt.canvas, [
+ 'window' = vt.wrect;
+ 'viewport' = vt.vsize;
+ ]);
+ attr = getwidgetattr (vt.canvas, [0 = 'viewport';]);
+ vt.vsize = copy (attr.viewport);
+ }
+};
+dotty.protogt.setviewscale = function (views, factor) {
+ local vid, vt, w2v, attr;
+
+ for (vid in views) {
+ vt = views[vid];
+ if ((w2v = vt.w2v * factor) < 0.01) {
+ dotty.message (0, 'cannot zoom any closer');
+ return;
+ }
+ vt.w2v = w2v;
+ vt.vsize = [
+ 'x' = (vt.wrect[1].x - vt.wrect[0].x) / w2v;
+ 'y' = (vt.wrect[1].y - vt.wrect[0].y) / w2v;
+ ];
+ setwidgetattr (vt.canvas, ['viewport' = vt.vsize;]);
+ attr = getwidgetattr (vt.canvas, [0 = 'viewport';]);
+ vt.vsize = copy (attr.viewport);
+ }
+};
+dotty.protogt.setviewcenter = function (views, center) {
+ local vid, vt, pos;
+
+ for (vid in views) {
+ vt = views[vid];
+ pos = [
+ 'x' = center.x * vt.vsize.x / (vt.wrect[1].x - vt.wrect[0].x);
+ 'y' = (
+ (vt.wrect[1].y - center.y) * vt.vsize.y /
+ (vt.wrect[1].y - vt.wrect[0].y)
+ );
+ ];
+ setwidgetattr (vt.scroll, ['childcenter' = pos;]);
+ }
+};
+#
+# draw graph components
+#
+dotty.protogt.drawsgraph = function (gt, views, sgraph) {
+ sgraph.draw = 1;
+ if (~sgraph.draws)
+ return;
+ gt.execalldraw (gt, views, null, sgraph.draws, [
+ 'fontname' = sgraph.fontname;
+ 'fontsize' = sgraph.fontsize;
+ 'fontcolor' = sgraph.fontcolor;
+ 'drawcolor' = sgraph.drawcolor;
+ 'fillcolor' = sgraph.fillcolor;
+ ]);
+};
+dotty.protogt.undrawsgraph = function (gt, views, sgraph) {
+ sgraph.drawn = 0;
+ if (~sgraph.draws)
+ return;
+ gt.execalldraw (gt, views, null, sgraph.draws, [
+ 'fontname' = sgraph.fontname;
+ 'fontsize' = sgraph.fontsize;
+ 'fontcolor' = sgraph.fontcolor;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+};
+dotty.protogt.drawnode = function (gt, views, node) {
+ local vid;
+
+ node.drawn = 1;
+ if (~node.draws)
+ return;
+ gt.execalldraw (gt, views, node, node.draws, [
+ 'fontname' = node.fontname;
+ 'fontsize' = node.fontsize;
+ 'fontcolor' = node.fontcolor;
+ 'drawcolor' = node.drawcolor;
+ 'fillcolor' = node.fillcolor;
+ ]);
+ for (vid in views)
+ setpick (views[vid].canvas, node, node.rect);
+};
+dotty.protogt.undrawnode = function (gt, views, node) {
+ local vid;
+
+ if (~node.drawn)
+ return;
+ node.drawn = 0;
+ if (~node.pos)
+ return;
+ gt.execalldraw (gt, views, node, node.draws, [
+ 'nooverride' = 1;
+ 'fontname' = node.fontname;
+ 'fontsize' = node.fontsize;
+ 'fontcolor' = 0;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+ for (vid in views)
+ clearpick (views[vid].canvas, node);
+};
+dotty.protogt.movenode = function (gt, node, pos) {
+ local dp, eid, edge;
+
+ dp.x = pos.x - node.pos.x;
+ dp.y = pos.y - node.pos.y;
+ gt.undrawnode (gt, gt.views, node);
+ node.pos.x = pos.x;
+ node.pos.y = pos.y;
+ gt.movenodedraw (node.draws, dp);
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ gt.undrawedge (gt, gt.views, edge);
+ gt.moveedgedraw (edge.draws, edge.tail.pos, edge.head.pos);
+ gt.drawedge (gt, gt.views, edge);
+ }
+ gt.drawnode (gt, gt.views, node);
+};
+dotty.protogt.drawedge = function (gt, views, edge) {
+ local vid, canvas;
+
+ edge.drawn = 1;
+ if (~edge.draws)
+ return;
+ gt.execalldraw (gt, views, edge, edge.draws, [
+ 'fontname' = edge.fontname;
+ 'fontsize' = edge.fontsize;
+ 'fontcolor' = edge.fontcolor;
+ 'drawcolor' = edge.drawcolor;
+ 'fillcolor' = edge.fillcolor;
+ ]);
+ for (vid in views) {
+ canvas = views[vid].canvas;
+ if (gt.edgehandles == 0 | ~edge.draws.ep)
+ continue;
+ arc (canvas, edge, edge.draws.ep, ['x' = 5; 'y' = 5;], ['color' = 1;]);
+ }
+};
+dotty.protogt.undrawedge = function (gt, views, edge) {
+ local vid, canvas;
+
+ if (~edge.drawn)
+ return;
+ edge.drawn = 0;
+ if (~edge.draws)
+ return;
+ gt.execalldraw (gt, views, edge, edge.draws, [
+ 'nooverride' = 1;
+ 'fontname' = edge.fontname;
+ 'fontsize' = edge.fontsize;
+ 'fontcolor' = 0;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+ for (vid in views) {
+ canvas = views[vid].canvas;
+ if (gt.edgehandles == 0 | ~edge.draws.ep)
+ continue;
+ arc (canvas, edge, edge.draws.ep, ['x' = 5; 'y' = 5;], ['color' = 0;]);
+ clearpick (canvas, edge);
+ }
+};
+#
+# draw directives
+#
+dotty.protogt.execalldraw = function (gt, views, obj, draws, gc) {
+ local vid, vt, did, draw, i, func;
+
+ for (vid in views) {
+ vt = views[vid];
+ for (did in draws) {
+ if (did == 'ep')
+ continue;
+ draw = draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if ((func = gt.drawfunc[draw[i].type]))
+ func (gt, vt.canvas, obj, draw[i], gc);
+ }
+ }
+};
+dotty.protogt.drawfunc.E = function (gt, canvas, obj, data, gc) {
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.e = function (gt, canvas, obj, data, gc) {
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.P = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.p = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.L = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.b = function (gt, canvas, obj, data, gc) {
+ splinegon (canvas, obj, data.ps, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+};
+dotty.protogt.drawfunc.B = function (gt, canvas, obj, data, gc) {
+ splinegon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.T = function (gt, canvas, obj, data, gc) {
+ text (canvas, obj, data.p, data.s, gc.fontname, gc.fontsize, data.j, [
+ 'color' = gc.fontcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.C = function (gt, canvas, obj, data, gc) {
+ if (gc.nooverride ~= 1)
+ gc.fillcolor = data.fillcolor;
+};
+dotty.protogt.drawfunc.c = function (gt, canvas, obj, data, gc) {
+ if (gc.nooverride ~= 1) {
+ gc.drawcolor = data.drawcolor;
+ gc.fontcolor = data.drawcolor;
+ }
+};
+dotty.protogt.drawfunc.F = function (gt, canvas, obj, data, gc) {
+ gc.fontname = data.fn;
+ gc.fontsize = data.fs;
+};
+dotty.protogt.drawfunc.S = function (gt, canvas, obj, data, gc) {
+ gc.style = data.style;
+ gc.width = data.width;
+};
+dotty.protogt.movenodedraw = function (draws, dp) {
+ local did, draw, i, j;
+
+ for (did in draws) {
+ if (did == 'ep')
+ continue;
+ draw = draws[did];
+ for (i = 0; draw[i]; i = i + 1) {
+ if (draw[i].type == 'E' | draw[i].type == 'e') {
+ draw[i].c.x = draw[i].c.x + dp.x;
+ draw[i].c.y = draw[i].c.y + dp.y;
+ } else if (draw[i].type == 'P' | draw[i].type == 'p') {
+ for (j = 1; draw[i].ps[j]; j = j + 1) {
+ draw[i].ps[j].x = draw[i].ps[j].x + dp.x;
+ draw[i].ps[j].y = draw[i].ps[j].y + dp.y;
+ }
+ } else if (draw[i].type == 'L' | draw[i].type == 'B') {
+ for (j = 0; draw[i].ps[j]; j = j + 1) {
+ draw[i].ps[j].x = draw[i].ps[j].x + dp.x;
+ draw[i].ps[j].y = draw[i].ps[j].y + dp.y;
+ }
+ } else if (draw[i].type == 'T') {
+ draw[i].p.x = draw[i].p.x + dp.x;
+ draw[i].p.y = draw[i].p.y + dp.y;
+ }
+ }
+ }
+};
+dotty.protogt.moveedgedraw = function (draws, tp, hp) {
+ local draws2, did;
+
+ for (did in draws)
+ draws2[did] = draws[did];
+ for (did in draws2)
+ remove (did, draws);
+ draws[0] = [
+ 0 = [
+ 'type' = 'L';
+ 'n' = 2;
+ 'ps' = [
+ 0 = copy (tp);
+ 1 = copy (hp);
+ ];
+ ];
+ 'ep' = ['x' = (tp.x + hp.x) / 2; 'y' = (tp.y + hp.y) / 2;];
+ ];
+};
+dotty.protogt.simplenodedraw = function (node, c, s) {
+ local draws;
+
+ if (node.attr.shape == 'ellipse')
+ draws[0] = [
+ 0 = [
+ 'type' = 'e';
+ 'c' = copy (c);
+ 's' = ['x' = s.x / 2; 'y' = s.y / 2;];
+ ];
+ ];
+ else
+ draws[0] = [
+ 0 = [
+ 'type' = 'p';
+ 'n' = 5;
+ 'ps' = [
+ 0 = ['x' = c.x - s.x / 2; 'y' = c.y - s.y / 2;];
+ 1 = ['x' = c.x + s.x / 2; 'y' = c.y - s.y / 2;];
+ 2 = ['x' = c.x + s.x / 2; 'y' = c.y + s.y / 2;];
+ 3 = ['x' = c.x - s.x / 2; 'y' = c.y + s.y / 2;];
+ 4 = ['x' = c.x - s.x / 2; 'y' = c.y - s.y / 2;];
+ ];
+ ];
+ ];
+ return draws;
+};
+dotty.protogt.simpleedgedraw = function (edge, tp, hp) {
+ local draws;
+
+ draws[0] = [
+ 0 = [
+ 'type' = 'L';
+ 'n' = 2;
+ 'ps' = [
+ 0 = copy (tp);
+ 1 = copy (hp);
+ ];
+ ];
+ 'ep' = ['x' = (tp.x + hp.x) / 2; 'y' = (tp.y + hp.y) / 2;];
+ ];
+ return draws;
+};
+#
+# utilities
+#
+dotty.protogt.getcolor = function (views, name) {
+ local vid, vt, color, t;
+
+ for (vid in views) {
+ vt = views[vid];
+ if (~(color >= 0)) {
+ if (~(vt.colors[name] >= 0))
+ color = (vt.colors[name] = vt.colorn);
+ else {
+ color = vt.colors[name];
+ break;
+ }
+ } else if (~(vt.colors[name] >= 0))
+ vt.colors[name] = color;
+ else if (vt.colors[name] ~= color)
+ dotty.message (0, concat ('inconsistent color ids for ', name));
+ if (setwidgetattr (vt.canvas, ['color' = [color = name;];]) ~= 1) {
+ t = split (name, ' ');
+ if (tablesize (t) ~= 3 |
+ setwidgetattr (vt.canvas, ['color' = [color = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];]) ~= 1) {
+ dotty.message (0, concat ('unknown color ', name, ' using #1'));
+ return 1;
+ }
+ }
+ vt.colorn = color + 1;
+ }
+ return color;
+};
+dotty.protogt.setbgcolor = function (views, name) {
+ local vid, vt, t;
+
+ for (vid in views) {
+ vt = views[vid];
+ if (setwidgetattr (vt.canvas, ['color' = [0 = name;];]) ~= 1) {
+ t = split (name, ' ');
+ if (tablesize (t) ~= 3 |
+ setwidgetattr (vt.canvas, ['color' = [0 = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];]) ~= 1) {
+ dotty.message (0, concat ('unknown bgcolor ', name));
+ return;
+ }
+ }
+ vt.colors['_bgcolor_'] = name;
+ }
+};
+dotty.protogt.unpacksgraphattr = function (gt, sgraph) {
+ local attr;
+
+ attr = sgraph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ sgraph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ sgraph[dotty.keys.fname] = attr.fontname;
+ sgraph[dotty.keys.fsize] = ston (attr.fontsize);
+ sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpacknodeattr = function (gt, node) {
+ local attr;
+
+ attr = node.attr;
+ if (dotty.fontmap[attr.fontname])
+ node[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ node[dotty.keys.fname] = attr.fontname;
+ node[dotty.keys.fsize] = ston (attr.fontsize);
+ node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpackedgeattr = function (gt, edge) {
+ local attr;
+
+ attr = edge.attr;
+ if (dotty.fontmap[attr.fontname])
+ edge[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ edge[dotty.keys.fname] = attr.fontname;
+ edge[dotty.keys.fsize] = ston (attr.fontsize);
+ edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpackattr = function (gt) {
+ local gid, sgraph, nid, node, eid, edge, graph, attr;
+
+ graph = gt.graph;
+ attr = graph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ graph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ graph[dotty.keys.fname] = attr.fontname;
+ graph[dotty.keys.fsize] = ston (attr.fontsize);
+ graph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ if (attr.bgcolor & attr.bgcolor ~= '')
+ gt.setbgcolor (gt.views, attr.bgcolor);
+ for (gid in graph.graphdict) {
+ sgraph = graph.graphs[graph.graphdict[gid]];
+ attr = sgraph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ sgraph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ sgraph[dotty.keys.fname] = attr.fontname;
+ sgraph[dotty.keys.fsize] = ston (attr.fontsize);
+ sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ }
+ for (nid in graph.nodedict) {
+ node = graph.nodes[graph.nodedict[nid]];
+ attr = node.attr;
+ if (dotty.fontmap[attr.fontname])
+ node[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ node[dotty.keys.fname] = attr.fontname;
+ node[dotty.keys.fsize] = ston (attr.fontsize);
+ node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ }
+ for (eid in graph.edges) {
+ edge = graph.edges[eid];
+ attr = edge.attr;
+ if (dotty.fontmap[attr.fontname])
+ edge[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ edge[dotty.keys.fname] = attr.fontname;
+ edge[dotty.keys.fsize] = ston (attr.fontsize);
+ edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ }
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_edit.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_edit.lefty
new file mode 100644
index 0000000..41c11d8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_edit.lefty
@@ -0,0 +1,593 @@
+#
+# dotty_edit: editing functions and data structures
+#
+dotty.protogt.getnodesbyattr = function (gt, key, val) {
+ local nid, node, nlist;
+
+ nlist = [];
+ for (nid in gt.graph.nodes) {
+ node = gt.graph.nodes[nid];
+ if (node.attr[key] == val)
+ nlist[nid] = node;
+ }
+ return nlist;
+};
+dotty.protogt.reachablenodes = function (gt, node) {
+ local nlist, stack, eid, edge, i;
+
+ stack[0] = node;
+ i = 1;
+ while (i > 0) {
+ node = stack[i - 1];
+ i = i - 1;
+ nlist[node.nid] = node;
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (~nlist[edge.head.nid]) {
+ nlist[edge.head.nid] = edge.head;
+ stack[i] = edge.head;
+ i = i + 1;
+ }
+ }
+ }
+ return nlist;
+};
+dotty.protogt.mergegraph = function (gt, graph, show) {
+ local nameid, onode, pos, size, eid, eid2, tnode, hnode, oedge;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (nameid in graph.nodedict) {
+ pos = null;
+ size = null;
+ onode = graph.nodes[graph.nodedict[nameid]];
+ if (onode.pos)
+ pos = node.pos;
+ if (onode.size)
+ size = node.size;
+ if (~(gt.graph.nodedict[nameid] >= 0)) {
+ pos = null;
+ size = null;
+ if (onode.pos)
+ pos = node.pos;
+ if (onode.size)
+ size = node.size;
+ gt.insertnode (gt, pos, size, nameid, onode.attr, show);
+ }
+ }
+ for (eid in graph.edges) {
+ oedge = graph.edges[eid];
+ tnode = gt.graph.nodes[gt.graph.nodedict[oedge.tail.name]];
+ hnode = gt.graph.nodes[gt.graph.nodedict[oedge.head.name]];
+ for (eid2 in tnode.edges)
+ if (
+ tnode.edges[eid2].tail == tnode &
+ tnode.edges[eid2].head == hnode
+ ) {
+ oedge = null;
+ break;
+ }
+ if (oedge)
+ gt.insertedge (gt, tnode, null, hnode, null, oedge.attr, show);
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.insertsgraph = function (gt, name, attr, show) {
+ local gid, sgraph, aid;
+
+ if (~gt)
+ return null;
+ gid = gt.graph.maxgid;
+ if (~name) {
+ while (gt.graph.graphdict[(name = concat ('g', gid))] >= 0)
+ gid = gid + 1;
+ } else if (gt.graph.graphdict[name]) {
+ dotty.message (0, concat ('graph: ', name, ' exists'));
+ return null;
+ }
+ gt.graph.graphdict[name] = gid;
+ gt.graph.maxgid = gid + 1;
+ gt.graph.graphs[gid] = [
+ dotty.keys.gid = gid;
+ dotty.keys.name = name;
+ dotty.keys.gattr = copy (gt.graph.graphattr);
+ dotty.keys.nattr = copy (gt.graph.nodeattr);
+ dotty.keys.eattr = copy (gt.graph.edgeattr);
+ ];
+ sgraph = gt.graph.graphs[gid];
+ if (~attr)
+ attr = [];
+ if (~attr.label)
+ attr.label = '\N';
+ for (aid in attr)
+ sgraph.graphattr[aid] = attr[aid];
+ gt.unpacksgraphattr (gt, sgraph);
+ if (show)
+ gt.drawsgraph (gt, gt.views, sgraph);
+ return sgraph;
+};
+dotty.protogt.removesgraph = function (gt, sgraph) {
+ gt.undrawsgraph (gt, gt.views, sgraph);
+ remove (sgraph.name, gt.graph.graphdict);
+ remove (sgraph.gid, gt.graph.graphs);
+};
+dotty.protogt.insertnode = function (gt, pos, size, name, attr, show) {
+ local nid, node, aid;
+
+ nid = gt.graph.maxnid;
+ if (~name) {
+ while (gt.graph.nodedict[(name = concat ('n', nid))] >= 0)
+ nid = nid + 1;
+ } else if (gt.graph.nodedict[name] >= 0) {
+ dotty.message (0, concat ('node: ', name, ' exists'));
+ return null;
+ }
+ gt.graph.nodedict[name] = nid;
+ gt.graph.maxnid = nid + 1;
+ gt.graph.nodes[nid] = [
+ dotty.keys.nid = nid;
+ dotty.keys.name = name;
+ dotty.keys.attr = copy (gt.graph.nodeattr);
+ dotty.keys.edges = [];
+ ];
+ node = gt.graph.nodes[nid];
+ if (~attr)
+ attr = [];
+ if (~attr.label)
+ attr.label = '\N';
+ for (aid in attr)
+ node.attr[aid] = attr[aid];
+ gt.unpacknodeattr (gt, node);
+ if (~pos)
+ pos = ['x' = 10; 'y' = 10;];
+ node[dotty.keys.pos] = copy (pos);
+ if (~size)
+ size = ['x' = strlen (attr.label) * 30; 'y' = 30;];
+ if (size.x == 0)
+ size.x = 30;
+ node[dotty.keys.size] = copy (size);
+ node[dotty.keys.rect] = [
+ 0 = ['x' = pos.x - size.x / 2; 'y' = pos.y - size.y / 2;];
+ 1 = ['x' = pos.x + size.x / 2; 'y' = pos.y + size.y / 2;];
+ ];
+ node.draws = gt.simplenodedraw (node, pos, size);
+ if (show)
+ gt.drawnode (gt, gt.views, node);
+ if (~gt.noundo) {
+ gt.startadd2undo (gt);
+ gt.currundo.inserted.nodes[nid] = node;
+ gt.endadd2undo (gt);
+ }
+ return node;
+};
+dotty.protogt.removenode = function (gt, node) {
+ local eid, list, edge, gid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (eid in node.edges)
+ list[eid] = node.edges[eid];
+ for (eid in list)
+ gt.removeedge (gt, list[eid]);
+ gt.undrawnode (gt, gt.views, node);
+ for (gid in gt.graph.graphs)
+ remove (node.nid, gt.graph.graphs[gid].nodes);
+ remove (node.name, gt.graph.nodedict);
+ remove (node.nid, gt.graph.nodes);
+ if (~gt.noundo) {
+ gt.currundo.deleted.nodes[node.nid] = node;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.insertedge = function (
+ gt, nodea, porta, nodeb, portb, attr, show
+) {
+ local eid, edge, aid, tport, hport;
+
+ if (~nodea | ~nodeb)
+ return null;
+ if (porta)
+ tport = porta;
+ if (portb)
+ hport = portb;
+ eid = gt.graph.maxeid;
+ while (gt.graph.edges[eid])
+ eid = eid + 1;
+ gt.graph.maxeid = eid + 1;
+ gt.graph.edges[eid] = [
+ dotty.keys.eid = eid;
+ dotty.keys.tail = nodea;
+ dotty.keys.tport = porta;
+ dotty.keys.head = nodeb;
+ dotty.keys.hport = portb;
+ dotty.keys.attr = copy (gt.graph.edgeattr);
+ ];
+ edge = gt.graph.edges[eid];
+ if (~attr)
+ attr = [];
+ for (aid in attr)
+ edge.attr[aid] = attr[aid];
+ nodea.edges[eid] = edge;
+ nodeb.edges[eid] = edge;
+ gt.unpackedgeattr (gt, edge);
+ edge.draws = gt.simpleedgedraw (edge, nodea.pos, nodeb.pos);
+ if (show)
+ gt.drawedge (gt, gt.views, edge);
+ if (~gt.noundo) {
+ gt.startadd2undo (gt);
+ gt.currundo.inserted.edges[eid] = edge;
+ gt.endadd2undo (gt);
+ }
+ return edge;
+};
+dotty.protogt.removeedge = function (gt, edge) {
+ local head, tail;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (edge.head.attr.support == 1)
+ head = edge.head;
+ if (edge.tail.attr.support == 1)
+ if (head ~= edge.tail)
+ tail = edge.tail;
+ gt.undrawedge (gt, gt.views, edge);
+ remove (edge.eid, edge.head.edges);
+ remove (edge.eid, edge.tail.edges);
+ remove (edge.eid, gt.graph.edges);
+ if (head & tablesize (head.edges) == 0)
+ gt.removenode (gt, head);
+ if (tail & tablesize (tail.edges) == 0)
+ gt.removenode (gt, tail);
+ if (~gt.noundo) {
+ gt.currundo.deleted.edges[edge.eid] = edge;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.swapedgeids = function (gt, edge1, edge2) {
+ local eid1, eid2;
+
+ if (edge1.eid == edge2.eid)
+ return;
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ eid1 = edge1.eid;
+ eid2 = edge2.eid;
+ gt.graph.edges[eid1] = edge2;
+ gt.graph.edges[eid2] = edge1;
+ remove (eid1, edge1.tail.edges);
+ remove (eid1, edge1.head.edges);
+ remove (eid2, edge2.tail.edges);
+ remove (eid2, edge2.head.edges);
+ edge1.tail.edges[eid2] = edge1;
+ edge1.head.edges[eid2] = edge1;
+ edge2.tail.edges[eid1] = edge2;
+ edge2.head.edges[eid1] = edge2;
+ edge1.eid = eid2;
+ edge2.eid = eid1;
+ if (~gt.noundo) {
+ gt.currundo.swapped.edges[eid1] = edge1;
+ gt.currundo.swapped.edges[eid2] = edge2;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.removesubtree = function (gt, obj) {
+ local nlist, node, head, nid, edge, eid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (obj.nid >= 0)
+ node = obj;
+ else if (obj.eid >= 0) {
+ node = obj.head;
+ gt.removeedge (gt, obj);
+ if (~gt.graph.nodes[node.nid]) {
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return;
+ }
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (edge.head == node & edge.tail ~= node) {
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return;
+ }
+ }
+ } else {
+ dotty.message (0, 'bad object type in gt.removesubtree');
+ return;
+ }
+ nlist = [node.nid = node;];
+ while (node) {
+ for (eid in node.edges) {
+ head = node.edges[eid].head;
+ if (head ~= node)
+ nlist[head.nid] = head;
+ }
+ gt.removenode (gt, node);
+ remove (node.nid, nlist);
+ node = null;
+ for (nid in nlist) {
+ node = nlist[nid];
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (edge.head == node & edge.tail ~= node) {
+ node = null;
+ break;
+ }
+ }
+ if (node)
+ break;
+ }
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.removenodesbyattr = function (gt, key, val) {
+ local nlist, nid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ nlist = gt.getnodesbyattr (gt, key, val);
+ for (nid in nlist)
+ gt.removenode (gt, nlist[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.removesubtreesbyattr = function (gt, key, val) {
+ local nlist, nid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ nlist = gt.getnodesbyattr (gt, key, val);
+ for (nid in nlist)
+ if (gt.graph.nodes[nid])
+ gt.removesubtree (gt, nlist[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.groupnodes = function (
+ gt, nlist, gnode, pos, size, attr, keepmulti, show
+) {
+ local nid, node, elist, eid, edge, nodea, nodeb, inlist, outlist;
+
+ if (~nlist | tablesize (nlist) == 0)
+ return;
+ if (gnode.attr.support) {
+ dotty.message (0, 'cannot group nodes in a support node');
+ return;
+ }
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (~gnode)
+ gnode = gt.insertnode (gt, pos, size, null, attr, show);
+ inlist = [];
+ outlist = [];
+ for (nid in nlist) {
+ if ((node = nlist[nid]) == gnode)
+ continue;
+ elist = [];
+ for (eid in node.edges)
+ elist[eid] = node.edges[eid];
+ for (eid in elist) {
+ edge = elist[eid];
+ if (edge.head == node) {
+ nodea = edge.tail;
+ nodeb = gnode;
+ if (~keepmulti) {
+ if (inlist[nodea.nid])
+ continue;
+ inlist[nodea.nid] = nodea;
+ if (nodea == gnode)
+ outlist[nodea.nid] = nodea;
+ }
+ } else {
+ nodea = gnode;
+ nodeb = edge.head;
+ if (~keepmulti) {
+ if (outlist[nodeb.nid])
+ continue;
+ outlist[nodeb.nid] = nodeb;
+ if (nodeb == gnode)
+ inlist[nodeb.nid] = nodeb;
+ }
+ }
+ gt.insertedge (gt, nodea, null, nodeb, null, edge.attr, show);
+ }
+ gt.removenode (gt, node);
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return gnode;
+};
+dotty.protogt.groupnodesbyattr = function (
+ gt, key, val, attr, keepmulti, show
+) {
+ local nlist, nid, pos, size;
+
+ pos = null;
+ size = null;
+ nlist = gt.getnodesbyattr (gt, key, val);
+ if (show)
+ for (nid in nlist) {
+ pos = nlist[nid].pos;
+ size = nlist[nid].size;
+ break;
+ }
+ return gt.groupnodes (gt, nlist, null, pos, size, attr, keepmulti, show);
+};
+dotty.protogt.cut = function (gt, obj, set, mode, op) {
+ local clipgt, list, node, nid, edge, eid, clipnode;
+
+ clipgt = dotty.clipgt;
+ clipgt.graph = copy (dotty.protogt.graph);
+ if (obj.eid >= 0) { # it's an edge
+ list.edges[obj.eid] = obj;
+ node = obj.head;
+ } else if (obj.nid >= 0) {
+ list.nodes[obj.nid] = obj;
+ node = obj;
+ for (eid in node.edges)
+ list.edges[eid] = node.edges[eid];
+ } else {
+ dotty.message (0, 'unknown object type in gt.cut');
+ return;
+ }
+ if (set == 'reachable') {
+ list.nodes = gt.reachablenodes (gt, node);
+ for (nid in list.nodes) {
+ node = list.nodes[nid];
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ list.edges[edge.eid] = edge;
+ }
+ }
+ }
+ if (mode == 'support') {
+ for (eid in list.edges) {
+ edge = list.edges[eid];
+ if (~list.nodes[edge.tail.nid]) {
+ list.support[edge.tail.nid] = edge.tail;
+ list.nodes[edge.tail.nid] = edge.tail;
+ }
+ if (~list.nodes[edge.head.nid]) {
+ list.support[edge.head.nid] = edge.head;
+ list.nodes[edge.head.nid] = edge.head;
+ }
+ }
+ }
+ for (nid = 0; nid < gt.graph.maxnid; nid = nid + 1) {
+ if (~list.nodes[nid])
+ continue;
+ node = list.nodes[nid];
+ clipnode = gt.insertnode (clipgt, null, null, node.name, node.attr, 0);
+ if (list.support[nid])
+ clipnode.support = 1;
+ list.clipnodes[nid] = clipnode;
+ }
+ for (eid = 0; eid < gt.graph.maxeid; eid = eid + 1) {
+ if (~list.edges[eid])
+ continue;
+ edge = list.edges[eid];
+ if (~list.nodes[edge.tail.nid] | ~list.nodes[edge.head.nid])
+ continue;
+ gt.insertedge (
+ clipgt, list.clipnodes[edge.tail.nid], null,
+ list.clipnodes[edge.head.nid], null, edge.attr, 0
+ );
+ }
+ if (op ~= 'cut')
+ return;
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (eid in list.edges)
+ gt.removeedge (gt, list.edges[eid]);
+ for (nid in list.nodes)
+ if (~list.support[nid] & gt.graph.nodes[nid])
+ gt.removenode (gt, list.nodes[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.paste = function (gt, pos, show) {
+ local clipgt, offset, center, nid, node, eid, edge, nodes;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ clipgt = dotty.clipgt;
+ if (clipgt.graph.rect)
+ center = [
+ 'x' = (clipgt.graph.rect[1].x + clipgt.graph.rect[0].x) / 2;
+ 'y' = (clipgt.graph.rect[1].y + clipgt.graph.rect[0].y) / 2;
+ ];
+ else
+ center = pos;
+ offset = [
+ 'x' = center.x - pos.x;
+ 'y' = center.y - pos.y;
+ ];
+ for (nid = 0; clipgt.graph.nodes[nid]; nid = nid + 1) {
+ node = clipgt.graph.nodes[nid];
+ if (node.attr.label == '\N' | ~node.attr.label)
+ node.attr.label = node.name;
+ if (node.support == 1)
+ nodes[nid] = gt.insertnode (gt, [
+ 'x' = node.pos.x - offset.x;
+ 'y' = node.pos.y - offset.y;
+ ], null, null, [
+ 'support' = 1; 'shape' = 'circle';
+ 'label' = ''; 'width' = 0.2;
+ ], show);
+ else
+ nodes[nid] = gt.insertnode (gt, [
+ 'x' = node.pos.x - offset.x;
+ 'y' = node.pos.y - offset.y;
+ ], node.size, null, node.attr, show);
+ }
+ for (eid = 0; clipgt.graph.edges[eid]; eid = eid + 1) {
+ edge = clipgt.graph.edges[eid];
+ gt.insertedge (
+ gt, nodes[edge.tail.nid], null,
+ nodes[edge.head.nid], null, edge.attr, show
+ );
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.startadd2undo = function (gt) {
+ if (~gt.undoarray.level)
+ gt.currundo = (
+ gt.undoarray.entries[tablesize (gt.undoarray.entries)] = []
+ );
+ gt.undoarray.level = gt.undoarray.level + 1;
+};
+dotty.protogt.endadd2undo = function (gt) {
+ gt.undoarray.level = gt.undoarray.level - 1;
+};
+dotty.protogt.undo = function (gt, show) {
+ local entry, n, eid, edge, nid, node, edges;
+
+ if ((n = tablesize (gt.undoarray.entries)) < 1)
+ return;
+ entry = gt.undoarray.entries[n - 1];
+ remove (n - 1, gt.undoarray.entries);
+ remove ('currundo', gt);
+ gt.noundo = 1;
+ # hardwire nodes and edges back with the same id's as the originals
+ for (nid in entry.deleted.nodes) {
+ node = entry.deleted.nodes[nid];
+ gt.graph.nodedict[node.name] = node.nid;
+ gt.graph.nodes[node.nid] = node;
+ node.edges = [];
+ if (show)
+ gt.drawnode (gt, gt.views, node);
+ }
+ for (eid in entry.deleted.edges) {
+ edge = entry.deleted.edges[eid];
+ gt.graph.edges[edge.eid] = edge;
+ edge.head.edges[edge.eid] = edge;
+ edge.tail.edges[edge.eid] = edge;
+ if (show)
+ gt.drawedge (gt, gt.views, edge);
+ }
+ if (entry.swapped.edges) {
+ if (tablesize (entry.swapped.edges) == 2) {
+ n = 0;
+ for (eid in entry.swapped.edges) {
+ edges[n] = entry.swapped.edges[eid];
+ n = n + 1;
+ }
+ gt.swapedgeids (gt, edges[0], edges[1]);
+ } else
+ dotty.message (0, 'cannot handle undoing swap of > 2 edges');
+ }
+ for (eid in entry.inserted.edges) {
+ edge = entry.inserted.edges[eid];
+ gt.removeedge (gt, edge);
+ }
+ for (nid in entry.inserted.nodes) {
+ node = entry.inserted.nodes[nid];
+ gt.removenode (gt, node);
+ }
+ gt.noundo = 0;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_layout.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_layout.lefty
new file mode 100644
index 0000000..c70eeda
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_layout.lefty
@@ -0,0 +1,449 @@
+#
+# dotty_layout: layout functions and data structures
+#
+dotty.grablserver = function (lserver) {
+ local fd;
+
+ if (~dotty.lservers[lserver] | tablesize (dotty.lservers[lserver]) == 0) {
+ if (~((fd = openio ('pipe', lserver, 'r+', '%e -Txdot')) >= 0)) {
+ dotty.message (0, concat ('cannot start ', lserver));
+ return null;
+ }
+ dotty.lservers[lserver][fd] = [
+ 'fd' = fd;
+ 'count' = 0;
+ ];
+ }
+ for (fd in dotty.lservers[lserver]) {
+ dotty.lservers[lserver][fd].count = dotty.lservers[
+ lserver
+ ][fd].count + 1;
+ dotty.lservers.inuse[fd] = dotty.lservers[lserver][fd];
+ remove (fd, dotty.lservers[lserver]);
+ return fd;
+ }
+};
+dotty.releaselserver = function (lserver, fd, state) {
+ if (state == 'bad' | dotty.lservers.inuse[fd].count > 40) {
+ closeio (fd, 'kill');
+ remove (fd, dotty.lservers.inuse);
+ return;
+ }
+ dotty.lservers[lserver][fd] = dotty.lservers.inuse[fd];
+ remove (fd, dotty.lservers.inuse);
+};
+dotty.protogt.startlayout = function (gt) {
+ local lpt, fd;
+
+ if (gt.layoutpending >= 1) {
+ lpt = dotty.layoutpending[gt.gtid];
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ dotty.popbusy (gt, gt.views);
+ }
+ if (~((fd = dotty.grablserver (gt.lserver)) >= 0))
+ return null;
+ dotty.pushbusy (gt, gt.views);
+ writegraph (fd, gt.graph, 1);
+ gt.layoutpending = 1;
+ dotty.layoutpending[gt.gtid] = [
+ 'fd' = fd;
+ 'gtid' = gt.gtid;
+ ];
+ if (gt.layoutmode == 'async')
+ monitor ('on', fd);
+ return 1;
+};
+dotty.protogt.finishlayout = function (gt) {
+ local graph, lpt, fd;
+
+ if (~(gt.layoutpending >= 1)) {
+ dotty.message (0, concat ('no layout pending for graph ', gt.gtid));
+ return null;
+ }
+ lpt = dotty.layoutpending[gt.gtid];
+ if (~(graph = readgraph (lpt.fd))) {
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ if (gt.layoutpending == 2) {
+ dotty.message (0, concat ('giving up on ', gt.lserver));
+ if ((fd = openio ('file', 'dottybug.dot', 'w+')) >= 0) {
+ writegraph (fd, gt.graph, 0);
+ closeio (fd);
+ dotty.message (
+ 0, concat ('graph that causes ', gt.lserver)
+ );
+ dotty.message (
+ 0, 'to fail has been saved in file dottybug.dot'
+ );
+ dotty.message (
+ 0, 'please fill out a bug report at'
+ );
+ dotty.message (
+ 0, 'http://www.graphviz.org/bugs/bugform.html'
+ );
+ }
+ dotty.popbusy (gt, gt.views);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ return 1;
+ }
+ dotty.message (
+ 1, concat ('lost connection to ', gt.lserver, ', restarting...')
+ );
+ lpt.fd = dotty.grablserver (gt.lserver);
+ writegraph (lpt.fd, gt.graph, 1);
+ if (gt.layoutmode == 'async')
+ monitor ('on', lpt.fd);
+ gt.layoutpending = 2;
+ gt.haveinput = 0;
+ return null;
+ }
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, null);
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ gt.unpacklayout (gt, graph);
+ dotty.popbusy (gt, gt.views);
+ return 1;
+};
+dotty.protogt.cancellayout = function (gt) {
+ local lpt, vid;
+
+ if (gt.layoutpending >= 1) {
+ lpt = dotty.layoutpending[gt.gtid];
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ dotty.popbusy (gt, gt.views);
+ }
+};
+dotty.protogt.unpacklayout = function (gt, graph2) {
+ local graph, gid, sgraph1, sgraph2, nid, node1, node2, eid, edge1, edge2;
+ local t1, pos, size;
+
+ graph = gt.graph;
+ for (gid in graph2.graphdict) {
+ if (~(sgraph1 = graph.graphs[graph.graphdict[gid]]))
+ continue;
+ sgraph2 = graph2.graphs[graph2.graphdict[gid]];
+ sgraph1.draws = gt.unpackalldraw (gt, sgraph2.graphattr);
+ }
+ for (nid in graph2.nodedict) {
+ if (~(node1 = graph.nodes[graph.nodedict[nid]]))
+ continue;
+ node2 = graph2.nodes[graph2.nodedict[nid]];
+ node1.draws = gt.unpackalldraw (gt, node2.attr);
+ t1 = split (node2.attr.pos, ',');
+ pos = ['x' = ston (t1[0]); 'y' = ston (t1[1]);];
+ size = [
+ 'x' = ston (node2.attr.width) * 72;
+ 'y' = ston (node2.attr.height) * 72;
+ ];
+ node1.pos = pos;
+ node1.size = size;
+ node1.rect = [
+ 0 = ['x' = pos.x - size.x / 2; 'y' = pos.y - size.y / 2;];
+ 1 = ['x' = pos.x + size.x / 2; 'y' = pos.y + size.y / 2;];
+ ];
+ }
+ for (eid in graph2.edges) {
+ edge2 = graph2.edges[eid];
+ if (edge2.attr.id) {
+ if (~(edge1 = graph.edges[ston (edge2.attr.id)]))
+ continue;
+ } else if (graph == graph2)
+ edge1 = edge2;
+ edge1.draws = gt.unpackalldraw (gt, edge2.attr);
+ }
+ graph.draws = gt.unpackalldraw (gt, graph2.graphattr);
+ t1 = split (graph2.graphattr.bb, ',');
+ graph.rect[0].x = ston (t1[0]);
+ graph.rect[0].y = ston (t1[1]);
+ graph.rect[1].x = ston (t1[2]);
+ graph.rect[1].y = ston (t1[3]);
+ if (gt.graph ~= graph2)
+ return;
+ # strip position and size info from the attributes
+ for (gid in graph2.graphdict) {
+ sgraph2 = graph2.graphs[graph2.graphdict[gid]];
+ gt.removealldraw (gt, sgraph2.graphattr);
+ if (sgraph2.graphattr.bb)
+ remove ('bb', sgraph2.graphattr);
+ }
+ for (nid in graph2.nodedict) {
+ node2 = graph2.nodes[graph2.nodedict[nid]];
+ gt.removealldraw (gt, node2.attr);
+ if (node2.attr.rects)
+ remove ('rects', node2.attr);
+ remove ('pos', node2.attr);
+ remove ('width', node2.attr);
+ remove ('height', node2.attr);
+ }
+ for (eid in graph2.edges) {
+ edge2 = graph2.edges[eid];
+ gt.removealldraw (gt, edge2.attr);
+ if (edge2.attr.pos)
+ remove ('pos', edge2.attr);
+ if (edge2.attr.lp)
+ remove ('lp', edge2.attr);
+ }
+ gt.removealldraw (gt, graph2.graphattr);
+ remove ('bb', graph2.graphattr);
+ if (graph2.graphattr.lp)
+ remove ('lp', graph2.graphattr);
+};
+#
+# draw directive parsing
+#
+dotty.protogt.unpackalldraw = function (gt, attr) {
+ local o, did;
+
+ o = [];
+ if (attr._draw_)
+ o._draw_ = gt.unpackdraw (gt, attr._draw_);
+ if (attr._ldraw_)
+ o._ldraw_ = gt.unpackdraw (gt, attr._ldraw_);
+ if (attr._hdraw_)
+ o._hdraw_ = gt.unpackdraw (gt, attr._hdraw_);
+ if (attr._tdraw_)
+ o._tdraw_ = gt.unpackdraw (gt, attr._tdraw_);
+ if (attr._hldraw_)
+ o._hldraw_ = gt.unpackdraw (gt, attr._hldraw_);
+ if (attr._tldraw_)
+ o._tldraw_ = gt.unpackdraw (gt, attr._tldraw_);
+ for (did in o)
+ if (o[did].ep) {
+ o.ep = o[did].ep;
+ break;
+ }
+ return o;
+};
+dotty.protogt.removealldraw = function (gt, attr) {
+ if (attr._draw_)
+ remove ('_draw_', attr);
+ if (attr._ldraw_)
+ remove ('_ldraw_', attr);
+ if (attr._hdraw_)
+ remove ('_hdraw_', attr);
+ if (attr._tdraw_)
+ remove ('_tdraw_', attr);
+ if (attr._hldraw_)
+ remove ('_hldraw_', attr);
+ if (attr._tldraw_)
+ remove ('_tldraw_', attr);
+};
+dotty.protogt.unpackdraw = function (gt, attr) {
+ local oo, o, tt, t, n, i, j, s, l, ep;
+
+ oo = [];
+ t = split (attr, ' ', 0);
+ n = tablesize (t);
+ if (t[n - 1] == '') {
+ remove (n - 1, t);
+ n = n - 1;
+ }
+ i = 0;
+ while (i < n) {
+ o = [];
+ if (t[i] == 'E') {
+ o.type = t[i];
+ o.c.x = ston (t[i + 1]);
+ o.c.y = ston (t[i + 2]);
+ o.s.x = ston (t[i + 3]);
+ o.s.y = ston (t[i + 4]);
+ i = i + 5;
+ } else if (t[i] == 'e') {
+ o.type = t[i];
+ o.c.x = ston (t[i + 1]);
+ o.c.y = ston (t[i + 2]);
+ o.s.x = ston (t[i + 3]);
+ o.s.y = ston (t[i + 4]);
+ i = i + 5;
+ } else if (t[i] == 'P') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ o.ps[o.n] = o.ps[0];
+ o.n = o.n + 1;
+ } else if (t[i] == 'p') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ o.ps[o.n] = o.ps[0];
+ o.n = o.n + 1;
+ } else if (t[i] == 'L') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'B') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'b') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'T') {
+ o.type = t[i];
+ o.p.x = ston (t[i + 1]);
+ o.p.y = ston (t[i + 2]);
+ o.j = ston (t[i + 3]);
+ if (o.j == -1)
+ o.j = 'lb';
+ else if (o.j == 1)
+ o.j = 'rb';
+ else if (o.j == 0)
+ o.j = 'cb';
+ o.w = ston (t[i + 4]);
+ o.n = ston (t[i + 5]);
+ i = i + 6;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.s = s;
+ } else if (t[i] == 'C') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.fillcolor = gt.getcolor (gt.views, s);
+ } else if (t[i] == 'c') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.drawcolor = gt.getcolor (gt.views, s);
+ } else if (t[i] == 'F') {
+ o.type = t[i];
+ o.fs = ston (t[i + 1]);
+ o.n = ston (t[i + 2]);
+ i = i + 3;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.ofn = s;
+ o.fn = dotty.fontmap[s];
+ } else if (t[i] == 'S') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ if (
+ s == 'solid' | s == 'dashed' | s == 'dotted' |
+ s == 'longdashed' | s == 'shortdashed'
+ )
+ o.style = s;
+ else if (s == 'bold')
+ o.width = 3;
+ else {
+ tt = split (s, '(');
+ if (tt[0] == 'setlinewidth') {
+ tt = split (tt[1], ')');
+ o.width = ston (tt[0]);
+ } else
+ continue;
+ }
+ } else if (t[i] == 'I') {
+ i = i + 7;
+ } else {
+ dotty.message (0, concat ('draw language parser error: ', t[i]));
+ return null;
+ }
+ oo[tablesize (oo)] = o;
+ }
+ oo.ep = ep;
+ return oo;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_ui.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_ui.lefty
new file mode 100644
index 0000000..a8c9116
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/dotty_ui.lefty
@@ -0,0 +1,468 @@
+#
+# dotty_ui: user interface functions and data structures
+#
+dotty.protogt.doaction = function (data, s) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ data.menuitem = s;
+ if (data.obj.nid >= 0) {
+ if (gt.actions.node[s]) {
+ gt.actions.node[s] (gt, vt, data.obj, data);
+ return;
+ }
+ } else if (data.obj.eid >= 0) {
+ if (gt.actions.edge[s]) {
+ gt.actions.edge[s] (gt, vt, data.obj, data);
+ return;
+ }
+ }
+ if (gt.actions.general[s])
+ gt.actions.general[s] (gt, vt, data);
+};
+dotty.protogt.actions.general = [
+ "undo" = function (gt, vt, data) {
+ gt.undo (gt, 1);
+ };
+ "paste" = function (gt, vt, data) {
+ gt.paste (gt, data.pos, 1);
+ };
+ "do layout" = function (gt, vt, data) {
+ gt.layoutgraph (gt);
+ };
+ "cancel layout" = function (gt, vt, data) {
+ gt.cancellayout (gt);
+ };
+ "redraw" = function (gt, vt, data) {
+ gt.redrawgraph (gt, [vt.vtid = vt;]);
+ };
+ "new graph" = function (gt, vt, data) {
+ gt.erasegraph (gt, null, null);
+ };
+ "load graph" = function (gt, vt, data) {
+ gt.loadgraph (gt, null, 'file', dotty.protogt.graph, 1);
+ };
+ "reload graph" = function (gt, vt, data) {
+ gt.loadgraph (gt, gt.name, gt.type, gt.graph, 1);
+ };
+ "save graph" = function (gt, vt, data) {
+ gt.savegraph (gt, gt.name, gt.type);
+ };
+ "save graph as" = function (gt, vt, data) {
+ gt.savegraph (gt, null, 'file');
+ };
+ "open view" = function (gt, vt, data) {
+ gt = dotty.protogt.creategraph (null);
+ gt.createview (gt, null);
+ };
+ "copy view" = function (gt, vt, data) {
+ gt = gt.copygraph (gt);
+ gt.createview (gt, vt);
+ };
+ "birdseye view" = function (gt, vt, data) {
+ gt.createview (gt, dotty.protovt.birdseye);
+ };
+ "clone view" = function (gt, vt, data) {
+ gt.createview (gt, vt);
+ };
+ "close view" = function (gt, vt, data) {
+ gt.destroyview (gt, vt);
+ if (tablesize (gt.views) == 0)
+ gt.destroygraph (gt);
+ };
+ "set graph attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.graphattr;]);
+ };
+ "set node attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.nodeattr;]);
+ };
+ "set edge attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.edgeattr;]);
+ };
+ "zoom in" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 0.5, data.pos);
+ };
+ "zoom out" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 2, data.pos);
+ };
+ "zoom in slowly" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 0.9, data.pos);
+ };
+ "zoom out slowly" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 1.1, data.pos);
+ };
+ "scroll horizontally" = function (gt, vt, data) {
+ vt.scrollmode = 'h';
+ };
+ "scroll vertically" = function (gt, vt, data) {
+ vt.scrollmode = 'v';
+ };
+ "find node" = function (gt, vt, data) {
+ gt.findnode (gt, vt);
+ };
+ "print graph" = function (gt, vt, data) {
+ gt.printorsave (gt, vt, null, null, null, null);
+ };
+ "text view" = function (gt, vt, data) {
+ if (dotty.txtview == 'on')
+ dotty.txtview = 'off';
+ else
+ dotty.txtview = 'on';
+ txtview (dotty.txtview);
+ };
+ "quit" = function (gt, vt, data) {
+ exit ();
+ };
+];
+dotty.protogt.actions.node = [
+ "cut" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'one', 'support', 'cut');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "Cut" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'reachable', 'support', 'cut');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "copy" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'one', 'support', 'copy');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "Copy" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'reachable', 'support', 'copy');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "group" = function (gt, vt, obj, data) {
+ local kv;
+
+ if ((kv = gt.getattr (gt, obj)))
+ gt.groupnodesbyattr (gt, kv.key, kv.val, [
+ 'label' = kv.val; kv.key = kv.val;
+ ], 1, 1);
+ };
+ "Group" = function (gt, vt, obj, data) {
+ local kv;
+
+ if ((kv = gt.getattr (gt, obj)))
+ gt.groupnodesbyattr (gt, kv.key, kv.val, [
+ 'label' = kv.val; kv.key = kv.val;
+ ], 0, 1);
+ };
+ "delete" = function (gt, vt, obj, data) {
+ if (obj.eid >= 0)
+ gt.removeedge (gt, obj);
+ else
+ gt.removenode (gt, obj);
+ };
+ "Delete" = function (gt, vt, obj, data) {
+ gt.removesubtree (gt, obj);
+ };
+ "remove" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ if ((kv = gt.getattr (gt, obj)))
+ gt.removenodesbyattr (gt, kv.key, kv.val);
+ };
+ "Remove" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ if ((kv = gt.getattr (gt, obj)))
+ gt.removesubtreesbyattr (gt, kv.key, kv.val);
+ };
+ "set attr" = function (gt, vt, obj, data) {
+ gt.setattr (gt, obj);
+ };
+ "print attr" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ echo ('node: ', obj.name);
+ dump (obj.attr);
+ };
+];
+dotty.protogt.actions.edge = dotty.protogt.actions.node;
+dotty.protovt.normal.menus = [
+ 'general' = [
+ 0 = "undo";
+ 1 = "paste";
+ 2 = "do layout";
+ 3 = "cancel layout";
+ 4 = "redraw";
+ 5 = "new graph";
+ 6 = "load graph";
+ 7 = "reload graph";
+ 8 = "save graph";
+ 9 = "save graph as";
+ 10 = "open view";
+ 11 = "copy view";
+ 12 = "clone view";
+ 13 = "birdseye view";
+ 14 = "close view";
+ 15 = "set graph attr";
+ 16 = "set node attr";
+ 17 = "set edge attr";
+ 18 = "zoom in";
+ 19 = "zoom out";
+ 20 = "find node";
+ 21 = "print graph";
+ 22 = "text view";
+ 23 = "quit";
+ ];
+ 'node' = [
+ 0 = "cut";
+ 1 = "Cut";
+ 2 = "copy";
+ 3 = "Copy";
+ 4 = "group";
+ 5 = "Group";
+ 6 = "delete";
+ 7 = "Delete";
+ 8 = "remove";
+ 9 = "Remove";
+ 10 = "set attr";
+ 11 = "print attr";
+ ];
+ 'edge' = [
+ 0 = "cut";
+ 1 = "Cut";
+ 2 = "copy";
+ 3 = "Copy";
+ 4 = "delete";
+ 5 = "Delete";
+ 6 = "set attr";
+ 7 = "print attr";
+ ];
+];
+dotty.protovt.normal.keys = [
+ 'general' = [
+ 'u' = "undo";
+ 'p' = "paste";
+ 'l' = "do layout";
+ 'k' = "cancel layout";
+ ' ' = "redraw";
+ 'L' = "reload graph";
+ 's' = "save graph";
+ 'Z' = "zoom in slowly";
+ 'z' = "zoom out slowly";
+ 'h' = "scroll horizontally";
+ 'v' = "scroll vertically";
+ ];
+ 'node' = [
+ 'c' = "copy";
+ 'C' = "Copy";
+ 'g' = "group";
+ 'G' = "Group";
+ 'd' = "delete";
+ 'D' = "Delete";
+ 'r' = "remove";
+ 'R' = "Remove";
+ 'a' = "set attr";
+ ];
+ 'edge' = [
+ 'c' = "copy";
+ 'C' = "Copy";
+ 'd' = "delete";
+ 'D' = "Delete";
+ 'a' = "set attr";
+ ];
+];
+dotty.protovt.birdseye.menus = dotty.protovt.normal.menus;
+dotty.protovt.birdseye.keys = dotty.protovt.normal.keys;
+dotty.protovt.normal.uifuncs = [
+ 'leftdown' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (data.obj.nid >= 0) {
+ dotty.node2move = data.obj;
+ dotty.movewidget = data.widget;
+ dotty.rp2 = data.pos;
+ }
+ };
+ 'leftmove' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.node2move & (
+ dotty.rp2.x ~= data.pos.x | dotty.rp2.y ~= data.pos.y
+ )) {
+ gt.movenode (gt, dotty.node2move, data.pos);
+ dotty.rp2 = data.pos;
+ }
+ };
+ 'leftup' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.node2move) {
+ if (dotty.movewidget == data.widget)
+ gt.movenode (gt, dotty.node2move, data.pos);
+ dotty.node2move = 0;
+ } else if (~data.obj)
+ gt.insertnode (gt, data.pos, null, null, null, 1);
+ };
+ 'middledown' = function (data) {
+ if (~(data.obj.nid >= 0))
+ return;
+ dotty.rubberband = 1;
+ dotty.movewidget = data.widget;
+ setgfxattr (data.widget, ['mode' = 'xor';]);
+ dotty.rp1 = data.pos;
+ dotty.rp2 = data.pos;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ };
+ 'middlemove' = function (data) {
+ if (dotty.rubberband ~= 1 | (
+ dotty.rp2.x == data.pos.x & dotty.rp2.y == data.pos.y
+ ))
+ return;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ dotty.rp2 = data.pos;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ };
+ 'middleup' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.rubberband ~= 1)
+ return;
+ dotty.rubberband = 0;
+ line (dotty.movewidget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ setgfxattr (dotty.movewidget, ['mode' = 'src';]);
+ if (dotty.movewidget ~= data.widget | ~(
+ data.pobj.nid >= 0) | ~(data.obj.nid >= 0
+ ))
+ return;
+ if (data.pobj.attr.support)
+ gt.groupnodes (gt, [
+ data.obj.nid = data.obj;
+ data.pobj.nid = data.pobj;
+ ], data.obj, null, null, null, 1, 1);
+ else if (data.obj.attr.support)
+ gt.groupnodes (gt, [
+ data.obj.nid = data.obj;
+ data.pobj.nid = data.pobj;
+ ], data.pobj, null, null, null, 1, 1);
+ else
+ gt.insertedge (gt, data.pobj, null, data.obj, null, null, 1);
+ };
+ 'rightdown' = function (data) {
+ local vt, gt, menu, i;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ if (~data.obj)
+ menu = vt.menus.general;
+ else if (data.obj.nid >= 0)
+ menu = vt.menus.node;
+ else if (data.obj.eid >= 0)
+ menu = vt.menus.edge;
+ if ((i = displaymenu (data.widget, menu)) >= 0)
+ gt.doaction (data, menu[i]);
+ };
+ 'button3up' = function (data) {
+ local vt, attr;
+
+ vt = dotty.views[data.widget];
+ attr = getwidgetattr (vt.scroll, [0 = 'childcenter';]);
+ if (vt.scrollmode == 'h')
+ attr.childcenter.x = attr.childcenter.x - 40;
+ else
+ attr.childcenter.y = attr.childcenter.y - 40;
+ setwidgetattr (vt.scroll, ['childcenter' = attr.childcenter;]);
+ };
+ 'button4up' = function (data) {
+ local vt, attr;
+
+ vt = dotty.views[data.widget];
+ attr = getwidgetattr (vt.scroll, [0 = 'childcenter';]);
+ if (vt.scrollmode == 'h')
+ attr.childcenter.x = attr.childcenter.x + 40;
+ else
+ attr.childcenter.y = attr.childcenter.y + 40;
+ setwidgetattr (vt.scroll, ['childcenter' = attr.childcenter;]);
+ };
+ 'keyup' = function (data) {
+ local vt, gt, action;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ if (data.obj.nid >= 0) {
+ if (vt.keys.node[data.key])
+ action = vt.keys.node[data.key];
+ } else if (data.obj.eid >= 0) {
+ if (vt.keys.edge[data.key])
+ action = vt.keys.edge[data.key];
+ }
+ if (~action)
+ if (vt.keys.general[data.key])
+ action = vt.keys.general[data.key];
+ if (action)
+ gt.doaction (data, action);
+ };
+ 'redraw' = function (data) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ gt.drawgraph (gt, [vt.vtid = vt;]);
+ };
+ 'closeview' = function (data) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ gt.destroyview (gt, vt);
+ if (tablesize (gt.views) == 0)
+ gt.destroygraph (gt);
+ };
+];
+dotty.protovt.birdseye.uifuncs = [
+ 'leftdown' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'leftmove' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'leftup' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'middledown' = dotty.protovt.normal.uifuncs.middledown;
+ 'middlemove' = dotty.protovt.normal.uifuncs.middlemove;
+ 'middleup' = dotty.protovt.normal.uifuncs.middleup;
+ 'rightdown' = dotty.protovt.normal.uifuncs.rightdown;
+ 'keyup' = dotty.protovt.normal.uifuncs.keyup;
+ 'redraw' = dotty.protovt.normal.uifuncs.redraw;
+ 'closeview' = dotty.protovt.normal.uifuncs.closeview;
+];
+dotty.monitorfile = function (data) {
+ local gtid, gt, lpt;
+
+ for (gtid in dotty.layoutpending) {
+ lpt = dotty.layoutpending[gtid];
+ if (lpt.fd == data.fd) {
+ gt = dotty.graphs[lpt.gtid];
+ gt.haveinput = 1;
+ gt.layoutgraph (gt);
+ return 1;
+ }
+ }
+ return 0;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal.lefty
new file mode 100644
index 0000000..75de5d9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal.lefty
@@ -0,0 +1,101 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 400; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+
+sq = function (x) {
+ return x * x;
+};
+
+# data structures
+#
+length = 300;
+center = ['x' = 200; 'y' = 250;];
+radius = 2 * length / sqrt (12);
+fractalangle = 0;
+maxlevel = 2;
+
+# drawing functions
+#
+# draw a Koch curve (a ``snowflake'' fractal)
+#
+# start with a triangle and keep replacing edges
+# with the construct: _/\_
+# until the recursion level reaches 'maxlevel'
+#
+fractal = function (level, length, angle) {
+ local nlength, newpenpos;
+
+ if (level >= maxlevel) {
+ newpenpos.x = penpos.x + length * cos (angle);
+ newpenpos.y = penpos.y + length * sin (angle);
+ line (canvas, null, penpos, newpenpos, ['color' = 1;]);
+ penpos = newpenpos;
+ return;
+ }
+ nlength = length / 3;
+ fractal (level + 1, nlength, angle);
+ fractal (level + 1, nlength, angle + 60);
+ fractal (level + 1, nlength, angle - 60);
+ fractal (level + 1, nlength, angle);
+};
+drawfractal = function () {
+ clear (canvas);
+ setpick (canvas, center, wrect);
+ penpos = [
+ 'x' = center.x + cos (fractalangle + 210) * radius;
+ 'y' = center.y + sin (fractalangle + 210) * radius;
+ ];
+ fractal (0, length, fractalangle + 60);
+ fractal (0, length, fractalangle - 60);
+ fractal (0, length, fractalangle - 180);
+ remove ('penpos');
+};
+
+# editing functions
+#
+# transform the fractal.
+#
+# map point 'prevpoint' to point 'currpoint'
+# with respect to the center of the fractal.
+#
+transformfractal = function (prevpoint, currpoint) {
+ local prevtan, currtan, prevradius, currradius;
+
+ prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
+ currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
+ fractalangle = fractalangle + (currtan - prevtan);
+ prevradius = sqrt (
+ sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+ );
+ currradius = sqrt (
+ sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+ );
+ radius = radius / prevradius * currradius;
+ length = radius / 2 * sqrt (12);
+};
+
+# user interface functions
+#
+# bind changes to the fractal to user actions
+#
+leftup = function (data) {
+ transformfractal (data.ppos, data.pos);
+ drawfractal ();
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ drawfractal ();
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
+transformfractal (['x' = 0; 'y' = 0;], ['x' = 0; 'y' = 0;]);
+drawfractal ();
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal2.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal2.lefty
new file mode 100644
index 0000000..420da94
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/fractal2.lefty
@@ -0,0 +1,218 @@
+#
+# data structures
+#
+length = 300;
+center = ['x' = 200; 'y' = 250;];
+radius = 2 * length / sqrt (12);
+fractalangle = 0;
+maxlevel = 2;
+sizes = [
+ 'button' = [ 'x' = 100; 'y' = 40; ];
+ 'canvas' = [ 'x' = 400; 'y' = 500; ];
+ 'view' = [ 'x' = 400; 'y' = 600; ];
+];
+sq = function (x) {
+ return x * x;
+};
+#
+# create view and other widgets
+#
+init = function () {
+ view = createwidget (-1, [
+ 'type' = 'view'; 'name' = 'fractal'; 'size' = sizes.view;
+ ]);
+
+ array1 = createwidget (view, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'vertical';
+ ]);
+ widgets[array1].resize = resize;
+
+ array2 = createwidget (array1, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'horizontal';
+ ]);
+ widgets[array2].resize = resize;
+
+ array3 = createwidget (array2, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'vertical';
+ ]);
+ widgets[array3].resize = resize;
+
+ morebutton = createwidget (array3, [
+ 'type' = 'button'; 'text' = 'more';
+ ]);
+ widgets[morebutton].pressed = pressed;
+ lessbutton = createwidget (array3, [
+ 'type' = 'button'; 'text' = 'less';
+ ]);
+ widgets[lessbutton].pressed = pressed;
+ setwidgetattr (morebutton, ['size' = sizes.button;]);
+ setwidgetattr (lessbutton, ['size' = sizes.button;]);
+
+ atext = createwidget (array2, [
+ 'type' = 'text'; 'mode' = 'oneline';
+ ]);
+ widgets[atext].oneline = oneline;
+ setwidgetattr (atext, [
+ 'size' = ['x' = sizes.button.x; 'y' = sizes.button.y * 2;];
+ ]);
+
+ scroll = createwidget (array1, ['type' = 'scroll';]);
+ canvas = createwidget (scroll, ['type' = 'canvas';]);
+ wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = sizes.canvas;];
+ setwidgetattr (canvas, ['window' = wrect; 'viewport' = wrect[1];]);
+};
+#
+# drawing functions
+#
+# draw a Koch curve (a ``snowflake'' fractal)
+#
+# start with a triangle and keep replacing edges
+# with the construct: _/\_
+# until the recursion level reaches 'maxlevel'
+#
+fractal = function (level, length, angle) {
+ local nlength, newpenpos;
+
+ if (level >= maxlevel) {
+ newpenpos.x = penpos.x + length * cos (angle);
+ newpenpos.y = penpos.y + length * sin (angle);
+ line (canvas, null, penpos, newpenpos, ['color' = 1;]);
+ penpos = newpenpos;
+ return;
+ }
+ nlength = length / 3;
+ fractal (level + 1, nlength, angle);
+ fractal (level + 1, nlength, angle + 60);
+ fractal (level + 1, nlength, angle - 60);
+ fractal (level + 1, nlength, angle);
+};
+redrawfractal = function () {
+ clear (canvas);
+ setpick (canvas, center, wrect);
+ penpos = [
+ 'x' = center.x + cos (fractalangle + 210) * radius;
+ 'y' = center.y + sin (fractalangle + 210) * radius;
+ ];
+ fractal (0, length, fractalangle + 60);
+ fractal (0, length, fractalangle - 60);
+ fractal (0, length, fractalangle - 180);
+ remove ('penpos');
+};
+#
+# editing functions
+#
+# transform the fractal.
+#
+# map point 'prevpoint' to point 'currpoint'
+# with respect to the center of the fractal.
+#
+transformfractal = function (prevpoint, currpoint) {
+ local prevtan, currtan, prevradius, currradius;
+
+ prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
+ currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
+ fractalangle = fractalangle + (currtan - prevtan);
+ prevradius = sqrt (
+ sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+ );
+ currradius = sqrt (
+ sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+ );
+ radius = radius / prevradius * currradius;
+ length = radius / 2 * sqrt (12);
+};
+#
+# main actions
+#
+redraw = function (data) {
+ redrawfractal ();
+};
+changemaxlevel = function (dn) {
+ maxlevel = maxlevel + dn;
+ if (maxlevel < 0)
+ maxlevel = 0;
+ redrawfractal ();
+};
+resize = function (data) {
+ local ret;
+ if (data.widget == array1) {
+ ret = [
+ array2 = [
+ 'x' = data.size.x;
+ 'y' = sizes.button.y * 2;
+ ];
+ scroll = [
+ 'x' = data.size.x;
+ 'y' = data.size.y - sizes.button.y * 2;
+ ];
+ ];
+ } else if (data.widget == array2) {
+ ret = [
+ array3 = [
+ 'x' = sizes.button.x;
+ 'y' = 2 * sizes.button.y;
+ ];
+ atext = [
+ 'x' = data.size.x - sizes.button.x;
+ 'y' = 2 * sizes.button.y;
+ ];
+ ];
+ } else if (data.widget == array3) {
+ ret = [
+ morebutton = sizes.button;
+ lessbutton = sizes.button;
+ ];
+ }
+ return ret;
+};
+#
+# user interface functions
+#
+# bind changes to the fractal to user actions
+#
+leftup = function (data) {
+ transformfractal (data.ppos, data.pos);
+ redrawfractal ();
+};
+menu = [
+ 0 = 'more';
+ 1 = 'less';
+];
+domenu = function (i) {
+ local s;
+ s = menu[i];
+ if (s == 'more')
+ changemaxlevel (1);
+ else if (s == 'less')
+ changemaxlevel (-1);
+};
+rightdown = function (data) {
+ domenu (displaymenu (canvas, menu));
+};
+pressed = function (data) {
+ if (data.widget == morebutton)
+ changemaxlevel (1);
+ else if (data.widget == lessbutton)
+ changemaxlevel (-1);
+};
+oneline = function (data) {
+ local dn;
+ dn = ston (data.text);
+ if (dn > 0 | dn < 0)
+ changemaxlevel (dn - maxlevel);
+};
+#
+# postscript generation
+#
+dops = function () {
+ local r;
+
+ r = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 8 * 300; 'y' = 10.5 * 300;];];
+ canvas = opencanvas ('pscanvas', '', r);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ redraw ();
+ closecanvas (canvas);
+ canvas=defcanvas;
+};
+init ();
+#txtview ('off');
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/lefty.psp b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/lefty.psp
new file mode 100644
index 0000000..c2684f4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/lefty.psp
@@ -0,0 +1,80 @@
+/BOX {
+ /boxy1 exch def /boxx1 exch def /boxy0 exch def /boxx0 exch def
+ boxx0 boxy0 moveto boxx1 boxy0 lineto
+ boxx1 boxy1 lineto boxx0 boxy1 lineto
+ closepath
+} def
+/SCP { stroke initclip newpath BOX clip newpath } def
+/CL { stroke setrgbcolor } def
+/DO { stroke } def
+/NP { newpath } def
+/FI { fill } def
+/LI { moveto lineto } def
+/CT { curveto } def
+/AR {
+ /ang2 exch def /ang1 exch def
+ /radius exch def /y2x exch def /cy exch def /cx exch def
+ gsave
+ cx cy translate 1 y2x scale 0 0 radius ang1 ang2 arc stroke
+ grestore
+} def
+/ARF {
+ /ang2 exch def /ang1 exch def
+ /radius exch def /y2x exch def /cy exch def /cx exch def
+ gsave
+ cx cy translate 1 y2x scale 0 0 radius ang1 ang2 arc fill
+ grestore
+} def
+/TXT {
+ /texth exch def
+ /textf exch def
+ /textn exch def
+ /texts exch def
+ /textyj exch def /texty exch def
+ /textxj exch def /textx exch def
+ textf findfont texth scalefont dup setfont
+ /FontBBox get 1 get 1000 div texth mul /textbl exch def
+ /textth texth textn mul def /texttw 0 def
+ 0 1 textn 1 sub {
+ texts exch get 0 get stringwidth pop
+ dup texttw gt { /texttw exch def } { pop } ifelse
+ } for
+ textyj (b) eq { /ty texty textth add textbl add def } if
+ textyj (d) eq { /ty texty textth add def } if
+ textyj (c) eq { /ty texty textth 2 div add def } if
+ textyj (u) eq { /ty texty def } if
+ /ty ty textbl sub def
+ textxj (l) eq { /tx textx def } if
+ textxj (c) eq { /tx textx texttw 2 div sub def } if
+ textxj (r) eq { /tx textx texttw sub def } if
+ 0 1 textn 1 sub {
+ /ty ty texth sub def
+ texts exch get dup 0 get /ts exch def 1 get /tj exch def
+ tj (l) eq { tx ty moveto ts show } if
+ tj (n) eq {
+ tx texttw ts stringwidth pop sub 2 div add ty moveto ts show
+ } if
+ tj (r) eq {
+ tx texttw ts stringwidth pop sub add ty moveto ts show
+ } if
+ } for
+} def
+
+/colorimage where {
+ pop
+} {
+ /bwproc {
+ rgbproc dup length 3 idiv string 0 3 0 5 -1 roll {
+ add 2 1 roll 1 sub dup 0 eq {
+ pop 3 idiv 3 -1 roll dup 4 -1 roll
+ dup 3 1 roll 5 -1 roll put 1 add 3 0
+ } {
+ 2 1 roll
+ } ifelse
+ } forall
+ pop pop pop
+ } def
+ /colorimage {
+ pop pop /rgbproc exch def {bwproc} image
+ } bind def
+} ifelse
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/slides.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/slides.lefty
new file mode 100644
index 0000000..1c9b2fe
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/slides.lefty
@@ -0,0 +1,109 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 800; 'y' = 1000;];];
+lmargin = 100;
+width = 800;
+height = 1000;
+setwidgetattr (canvas, ['window' = wrect;]);
+fonts = [
+ 'timr' = [
+ 14 = 'timr14';
+ 18 = 'timr18';
+ 24 = 'timr24';
+ ];
+ 'courr' = [
+ 14 = 'courr14';
+ 18 = 'courr18';
+ 24 = 'courr24';
+ ];
+];
+x2ps = [
+ 'timr24' = 'Times-Roman';
+ 'timr18' = 'Times-Roman';
+ 'timr14' = 'Times-Roman';
+ 'courr24' = 'Courier';
+ 'courr18' = 'Courier';
+ 'courr14' = 'Courier';
+];
+
+calc = function () {
+ local i, j, cpos, tsiz, dist, slidep;
+ tsiz = ['x' = 0; 'y' = 0;];
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (slidep.skip) {
+ tsiz.y = tsiz.y + slidep.skip;
+ } else {
+ for (j = 0; slidep.text[j]; j = j + 1) {
+ if (j > 0)
+ tsiz.y = tsiz.y + 5;
+ if (~slidep.font)
+ slidep.font = slides.font;
+ if (~slidep.size)
+ slidep.size = slides.size;
+ if (~slidep.just)
+ slidep.just = slides.just;
+ slidep.tsiz[j] = textsize (canvas, slidep.text[j],
+ fonts[slidep.font][slidep.size], 0);
+ tsiz.y = tsiz.y + slidep.tsiz[j].y;
+ }
+ }
+ }
+ dist = (height - tsiz.y) / (i + 1);
+ cpos = ['x' = lmargin; 'y' = height - dist;];
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (slidep.skip) {
+ cpos.y = cpos.y - slidep.skip - dist;
+ } else {
+ for (j = 0; slidep.text[j]; j = j + 1) {
+ if (j > 0)
+ cpos.y = cpos.y - 5;
+ if (slidep.just == 0)
+ slidep.tpos[j].x = cpos.x;
+ else
+ slidep.tpos[j].x = width / 2;
+ cpos.y = cpos.y - slidep.tsiz[j].y;
+ slidep.tpos[j].y = cpos.y;
+ }
+ cpos.y = cpos.y - dist;
+ }
+ }
+};
+redraw = function () {
+ local i, j, slidep;
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (~slidep.skip)
+ for (j = 0; slidep.text[j]; j = j + 1)
+ text (canvas, slidep, slidep.tpos[j], slidep.text[j],
+ fonts[slidep.font][slidep.size], 0, slidep.just);
+ }
+};
+dops = function () {
+ local i, j, slidep, r;
+
+ r = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 8 * 300; 'y' = 10.5 * 300;];];
+ canvas = createwidget (-1, ['type' = 'ps'; 'origin' = r[0]; 'size' = r[1]
+;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (~slidep.skip)
+ for (j = 0; slidep.text[j]; j = j + 1)
+ text (canvas, slidep, slidep.tpos[j], slidep.text[j],
+ x2ps[fonts[slidep.font][slidep.size]],
+ slidep.tsiz[j].y, slidep.just, 1);
+ }
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
+doit = function () {
+ calc ();
+ redraw ();
+ dops ();
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/tree.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/tree.lefty
new file mode 100644
index 0000000..0af3f8c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/lefty/tree.lefty
@@ -0,0 +1,195 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = -5; 'y' = 0;]; 1 = ['x' = 410; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+#
+# data structures
+#
+nodearray = [];
+nodenum = 0;
+dist = ['x' = 40; 'y' = 40;];
+defsize = ['x' = 10; 'y' = 10;];
+fontname = 'fixed';
+fontsize = 18;
+tree = null;
+
+# drawing functions
+#
+boxnode = function (node) {
+ local center;
+ box (canvas, node, node.rect, ['color' = 0; 'fill' = 'on';]);
+ box (canvas, node, node.rect);
+ center = [
+ 'x' = (node.rect[0].x + node.rect[1].x) / 2;
+ 'y' = (node.rect[0].y + node.rect[1].y) / 2;
+ ];
+ if (node.name)
+ text (canvas, node, center, node.name, fontname, fontsize, 'cc');
+};
+circlenode = function (node) {
+ local center, radius;
+ center = [
+ 'x' = (node.rect[0].x + node.rect[1].x) / 2;
+ 'y' = (node.rect[0].y + node.rect[1].y) / 2;
+ ];
+ radius = [
+ 'x' = center.x - node.rect[0].x;
+ 'y' = center.y - node.rect[0].y;
+ ];
+ arc (canvas, node, center, radius, ['color' = 0; 'fill' = 'on';]);
+ arc (canvas, node, center, radius);
+ if (node.name)
+ text (canvas, node, center, node.name, fontname, fontsize, 'cc');
+};
+drawnode = boxnode;
+drawedge = function (node1, node2) {
+ line (canvas, null,
+ [
+ 'x' = (node1.rect[1].x + node1.rect[0].x) / 2;
+ 'y' = node1.rect[0].y;
+ ], [
+ 'x' = (node2.rect[1].x + node2.rect[0].x) / 2;
+ 'y' = node2.rect[1].y;
+ ]);
+};
+drawtree = function (node) {
+ local i;
+ for (i in nodearray)
+ drawnode (nodearray[i]);
+ drawtreerec (node);
+};
+drawtreerec = function (node) {
+ local i, n;
+ if ((n = tablesize (node.ch)) > 0) {
+ for (i = 0; i < n; i = i + 1) {
+ drawedge (node, node.ch[i]);
+ drawtreerec (node.ch[i]);
+ }
+ }
+};
+redraw = function (c) {
+ if (tree)
+ drawtree (tree);
+};
+
+# layout functions
+#
+complayout = function () {
+ leafx = 0;
+ leafrank = 0;
+ dolayout (tree, wrect[1].y - 10);
+ remove ('leafx');
+ remove ('leafrank');
+};
+dolayout = function (node, pary) {
+ local r, n, i, size, lchp, rchp;
+ size = nodesize (node);
+ if (node.chn > 0) {
+ for (i = 0; i < node.chn; i = i + 1)
+ dolayout (node.ch[i], pary - size.y - dist.y);
+ node.rank = (node.ch[0].rank + node.ch[node.chn - 1].rank) / 2;
+ lchp = node.ch[0].rect;
+ rchp = node.ch[node.chn - 1].rect;
+ r[0].x = lchp[0].x + ((rchp[1].x - lchp[0].x) - size.x) / 2;
+ r[0].y = pary - size.y;
+ r[1].x = r[0].x + size.x;
+ r[1].y = pary;
+ node.rect = r;
+ } else {
+ node.rank = leafrank;
+ r[0].x = leafx;
+ r[0].y = pary - size.y;
+ r[1].x = r[0].x + size.x;
+ r[1].y = pary;
+ leafrank = leafrank + 1;
+ leafx = r[1].x + dist.x;
+ node.rect = r;
+ }
+};
+
+# editing functions
+#
+inode = function (point, name) {
+ local i, nnum, size;
+ nnum = nodenum;
+ if (~name)
+ name = ask ('give name of node:');
+ nodearray[nnum].ch = [];
+ nodearray[nnum].chn = 0;
+ nodearray[nnum].name = name;
+ size = nodesize (nodearray[nnum]);
+ nodearray[nnum].rect[0] = point;
+ nodearray[nnum].rect[1] = ['x' = point.x + size.x; 'y' = point.y + size.y;];
+ nodenum = nodenum + 1;
+ if (~tree) {
+ tree = nodearray[nnum];
+ tree.depth = 0;
+ complayout ();
+ drawtree (tree);
+ } else
+ drawtree (nodearray[nnum]);
+ return nodearray[nnum];
+};
+iedge = function (node1, node2) {
+ node1.ch[node1.chn] = node2;
+ node1.chn = node1.chn + 1;
+ node2.depth = node1.depth + 1;
+ complayout ();
+ clear (canvas);
+ drawtree (tree);
+};
+fix = function (node, op, np) {
+ if (node.depth ~= 0)
+ dist.y = dist.y + (op.y - np.y) / node.depth;
+ if (node.rank ~= 0)
+ dist.x = dist.x + (np.x - op.x) / node.rank;
+ complayout ();
+ clear (canvas);
+ drawtree (tree);
+};
+nodesize = function (node) {
+ local siz;
+ if (~(siz = textsize (canvas, node.name, fontname, fontsize)))
+ siz = defsize;
+ else {
+ siz.x = siz.x + 8;
+ siz.y = siz.y + 8;
+ }
+ return siz;
+};
+changenode = function (nodestyle) {
+ drawnode = nodestyle;
+ clear (canvas);
+ drawtree (tree);
+};
+
+# user interface functions
+#
+leftdown = function (data) {
+ if (~data.obj)
+ inode (data.pos, null);
+};
+leftup = function (data) {
+ if (data.pobj)
+ fix (data.pobj, data.ppos, data.pos);
+};
+middleup = function (data) {
+ if (data.pobj & data.obj)
+ iedge (data.pobj, data.obj);
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ fontname = 'Times-Roman';
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ drawtree (tree);
+ destroywidget (canvas);
+ canvas=defcanvas;
+ fontname = 'fixed';
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-fc.dll
new file mode 100644
index 0000000..465e905
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-lang.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-lang.dll
new file mode 100644
index 0000000..bae4fbc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-arabic-lang.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-fc.dll
new file mode 100644
index 0000000..2386fcc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-win32.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-win32.dll
new file mode 100644
index 0000000..f402694
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-basic-win32.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hangul-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hangul-fc.dll
new file mode 100644
index 0000000..268abeb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hangul-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hebrew-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hebrew-fc.dll
new file mode 100644
index 0000000..170006c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-hebrew-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-fc.dll
new file mode 100644
index 0000000..e9dcb16
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-lang.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-lang.dll
new file mode 100644
index 0000000..6dea5ae
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-indic-lang.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-khmer-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-khmer-fc.dll
new file mode 100644
index 0000000..df26d4d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-khmer-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-syriac-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-syriac-fc.dll
new file mode 100644
index 0000000..0d24d1e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-syriac-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-thai-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-thai-fc.dll
new file mode 100644
index 0000000..cb3dfd4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-thai-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-tibetan-fc.dll b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-tibetan-fc.dll
new file mode 100644
index 0000000..9e4a442
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pango/1.6.0/modules/pango-tibetan-fc.dll
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcdt.pc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcdt.pc
new file mode 100644
index 0000000..ae9e28c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcdt.pc
@@ -0,0 +1,10 @@
+prefix=/c/graphviz-mingw/local.2.20.3
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/graphviz
+
+Name: libcdt
+Description: Container DataType library
+Version: 2.20.3
+Libs: -L${libdir} -lcdt
+Cflags: -I${includedir}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcgraph.pc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcgraph.pc
new file mode 100644
index 0000000..ef2df4b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libcgraph.pc
@@ -0,0 +1,10 @@
+prefix=/c/graphviz-mingw/local.2.20.3
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/graphviz
+
+Name: libcgraph
+Description: Graph library (file i/o, dot language parsing, graph, subgraph, node, edge, attribute, data structure manipulation)
+Version: 2.20.3
+Libs: -L${libdir} -lcgraph -lcdt
+Cflags: -I${includedir}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgraph.pc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgraph.pc
new file mode 100644
index 0000000..c7777ff
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgraph.pc
@@ -0,0 +1,10 @@
+prefix=/c/graphviz-mingw/local.2.20.3
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/graphviz
+
+Name: libgraph
+Description: Graph library (file i/o, dot language parsing, graph, subgraph, node, edge, attribute, data structure manipulation)
+Version: 2.20.3
+Libs: -L${libdir} -lgraph -lcdt
+Cflags: -I${includedir}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgvc.pc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgvc.pc
new file mode 100644
index 0000000..5d93969
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libgvc.pc
@@ -0,0 +1,12 @@
+prefix=/c/graphviz-mingw/local.2.20.3
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/graphviz
+plugins=5
+
+Name: libgvc
+Description: The GraphVizContext library
+Version: 2.20.3
+Libs: -L${libdir} -lgvc -lgraph -lcdt
+Cflags: -I${includedir}
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libpathplan.pc b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libpathplan.pc
new file mode 100644
index 0000000..9571610
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/lib/pkgconfig/libpathplan.pc
@@ -0,0 +1,10 @@
+prefix=/c/graphviz-mingw/local.2.20.3
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/graphviz
+
+Name: libpathplan
+Description: Library for planning polyline and bezier paths around polygon obstacles
+Version: 2.20.3
+Libs: -L${libdir} -lpathplan
+Cflags: -I${includedir}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/AUTHORS b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/AUTHORS
new file mode 100644
index 0000000..c934418
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/AUTHORS
@@ -0,0 +1,25 @@
+Primary contact. Please send patches or enhancements to:
+ Graphviz project <gviz-bugs@research.att.com>
+
+---------------
+Authors: (In alphabetical order.)
+
+ David Dobkin <dpd@cs.princeton.edu>
+ John Ellson <ellson@graphviz.org>
+ Emden Gansner <erg@research.att.com>
+ Eleftherios Koutsofios <ek@research.att.com>
+ Stephen North <north@research.att.com>
+ Kiem-Phong Vo <kpv@research.att.com>
+ Gordon Woodhull <gmcw@worldnet.att.net>
+
+---------------
+
+Recommended packages:
+
+FreeType: <http://www.freetype.org/>
+ David TURNER (david.turner@freetype.org)
+ Robert WILHELM (robert.wilhelm@freetype.org)
+ and others.
+
+GD: <http://www.boutell.com/gd/>
+ Tom Boutell
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/COPYING b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/COPYING
new file mode 100644
index 0000000..c9990a7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/COPYING
@@ -0,0 +1,213 @@
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on or
+through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/ChangeLog b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/ChangeLog
new file mode 100644
index 0000000..f681b9a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/ChangeLog
@@ -0,0 +1,886 @@
+October 7, 2008
+ - Release 2.20.1
+ - Security fix for stack overflow problem in the graph parser reported by IBM
+June 25, 2008
+ - Release 2.20.2
+ - Fix bug in HTML-like labels
+June 23, 2008
+ - Release 2.20.1
+ - Fix bug in ccomps related to conversion to cgraph
+June 20, 2008
+ - Release 2.20.0
+ - Preparing for Release 2.20
+ - Fixed bugs: 1315, 1317, 1324, 1336, 1343, 1364
+ - Add new "folder" shape for nodes.
+ - Migration of gvpr tools to libcgraph.
+ - New output format -Teps (encapsulated postscript)
+ - Various NetBSD and SuSE fixes incorporated
+ - ./configure now provides a summary
+ - RPM specfile updates for fedora-10 (no more string comparisons)
+ - Add MacOS support (Glen Low)
+March 10, 2008
+ - Release 2.18
+ - Fixed bugs: 1249, 1255, 1256, 1268, 1276, 1289, 1295, 1300,
+ Fedora BZ#247376,
+ - in -Tps use a new number formatter that suppresses trailing 0.
+ - support tcl/tk-8.5
+ - support gcc-4.3
+ - support for node usershapes/images in svg format (thanks Alex Poylisher)
+ - install: perl, php, python, ruby, tcl, bindings in language-specified directories
+ - add arrowhead scaling with edge penwidth
+ - add "folder" node shape (thanks Pander)
+ - many windows and mac fixes (thanks Glen)
+ - add "smyna" large graph view (thanks Arif) (not yet included in binary distros)
+December 12, 2007
+ - Release 2.16.1
+ - Fixed bugs: 1228, 1234, 1238, 1239, 1245
+ - Improvements to PHP binding
+ - Improvements to OCAML binding
+ - Make regression tests run from the build tree, rather than require installation
+ - Repair freetype detection on RedHat-7 (Yes, people still use it!!)
+ - Fix zoom-at-mouse-location in -Txlib and -Tgtk
+ - Fix some dotty regressions
+November 9, 2007
+ - Release 2.16
+ - Fixed bugs: 456, 473, 1021, 1153, 1154, 1155, 1159, 1160, 1162,
+ 1165, 1166, 1168, 1169, 1170, 1172, 1173, 1174, 1175, 1177, 1178,
+ 1179, 1181, 1182, 1183, 1185, 1187, 1189, 1192, 1193, 1195, 1196,
+ 1199, 1204, 1207, 1210, 1215, 1216, 1217, 1218, 1219, 1220, 1223
+ - new regression test suite
+ - new cgraph library (will eventually replace graph and agraph)
+ - add "image" and "imagescale" for simpler support for images in nodes
+ - add "tab" "box3d" and "component" shapes. - Diomidis Spinellis
+ - replace arith.h in distro
+ - add functions to access version info to avoid need for gvcint.h
+ - Fix problem with irregular character spacing at 96dpi in pango/cairo output formats.
+ - Add gdk_pixbuf plugin providing: .bmp .ico .jpg .png .tif
+ - Add DevIL plugin providing: .bmp .jpg .png .tif .tga
+ - Extend GD plugin to provide a backend to cairo for: .gif .jpg .png .gd .gd2 .wbmp <- gifs are now antialiased
+ - Rework plugin framework to separate device from renderer, and to autoload load dependendent plugins
+ - show defaults in output from: ./configure --help
+ - add more info to dot -v and dot -v2 debug outputs
+ - various issues with CR/LF in windows, but not in binary outputs.
+August 15, 2007
+ - release 2.14.1
+ - Fixed bugs: 1163, 1167
+ - Windows build fixes
+ - Add xdot parsing library to source distros
+ - graphviz.spec fixes for rpm distros from Gareth Armstrong
+ - moved language binding man pages to mann (gv_php.n, gv_ocaml.n, etc.)
+ - New access functions for version info in GVC_t - permits gvcint.h to
+ be private.
+August 2, 2007
+ - release 2.14
+ - Fixed (or otherwise closed) bugs:
+ 74, 130, 162, 184, 190, 197, 219, 223, 281, 295, 311, 316,
+ 324, 352, 364, 385, 393, 404, 420, 447, 455, 474, 489, 507,
+ 530, 532, 537, 543, 551, 564, 571, 574, 577, 583, 587, 588,
+ 590, 592, 595, 599, 638, 647, 650, 660, 675, 667, 668, 669,
+ 676, 684, 685, 686, 721, 725, 734, 740, 746, 747, 748, 749,
+ 752, 755, 756, 765, 778, 780, 781, 782, 785, 794, 803, 814,
+ 822, 828, 836, 840, 847, 852, 862, 866, 868, 893, 928, 944,
+ 948, 950, 955, 961, 976, 985, 992, 1024, 1057, 1064, 1065,
+ 1066, 1069, 1072, 1074, 1079, 1085, 1086, 1089, 1091, 1092,
+ 1093, 1094, 1096, 1107, 1111, 1123, 1124, 1130, 1138, 1145,
+ 1151, 1152, 1156
+ - Fixed Redhat bugs: 218191, 237497
+ - Fixed Debian bugs: 321128, 422862, 422873
+ - Fixed Gentoo bugs: 173676
+ - Using system version of libgd if gd-2.0.34 or later. (Fedora 7 and 8 distros)
+ internal copy of gd updated to gd-2.0.35.
+ - Updated GVGUI viewer for Windows
+ - Windows build process now uses GNU autoconf and UWIN
+ - Added support for selection of edge routing types:
+ line, polyline, orthogonal, spline
+ - Added -Tvml support
+December 5, 2006
+ - release 2.12
+ - Bug fix release for 2.10
+ - The gd plugin for font handlers was not being used at all if the build
+ did not use fontconfig, e.g., on Windows. In addition, the code had
+ dropped the name mapping to Windows font names.
+ - PostScript output had an extraneous '%' character on the first line,
+ which would cause printing to fail.
+ - Text handling, during both sizing and layout, incorrectly handled
+ empty lines such as label="\nabc".
+ - HTML-like tables had been changed to use too much vertical space,
+ to possibly use the wrong font in calculating the height of a line,
+ and to use the wrong offset when moving the baseline from one line to
+ the next.
+November 27, 2006
+ - release 2.10
+ - dot - New pango+cairo renderer plugin (was in separate graphviz-cairo tree).
+ -- -Tpng now uses cairo (-Tpng:gd for old gd based renderer)
+ -- -Tpdf now available
+ -- -Tps:cairo now available (-Tps is a direct ps renderer not based on cairo)
+ -- -Tsvg:cairo now available (-Tsvg is a direct svg renderer not based on cairo)
+ -- -Txlib now available -- "dot -Tx11 foo.dot" watches foo.dot with inotify and updates
+ -- -Tgtk now available -- eventually to provide a graph editing capability - not fully working
+ -- -Tswf "Flash" now available using the ming library. Currently has incomplete font support and not yet in Fedora rpms because ming not yet available as rpm.
+ - remove hard gd dependencies from dot. gd renderers now provided
+ as optional plugin. Deprecated, but required for -Tjpg, -Tgif and -Tvrml.
+ - gvpr - Add kindOf function, plus functions to set and get default values
+ - dot - Implement esep attribute to allow graph to specify room
+ around nodes for spline routing.
+ - neato - add vpsc library and DIGCOLA
+ - neato - add IPSEPCOLA additions from Tim Dwyer
+ - move: -Tps, -Tfig, -Tsvg, -Timap/ismap/cmap/cmapx, -Tdot/xdot,
+ from codegens to a "core" plugin.
+ - dot - new usershape plugin mechanism potentially supporting
+ a wider range of input shape format -> output format combinations.
+ display on changes
+ - Fixes for builds on Mac OS/X
+ - dot - new -O switch to automatically generate output file
+ names based on the input filename and the -T value.
+ e.g. "dot -Tpng -O *.dot"
+ Also works for case of multiple graphs in a single input file.
+ - add support for "Brewer" color nameset
+ - move reusable .so libraries to $PREFIX/lib per frequent request
+ from Debian community. Plugin .so's remain in $PREFIX/lib/graphviz.
+ - Fix bugs 882 884 886 896 902 905 906 911 918 919 933 936 938 940
+ 948 955 958 967 979 987 993 1005 1006 1011 1012 1013 1014 1016
+ 1018 1025 1030 1034 1035 1039 1040 debian#37300
+
+February 3, 2006
+ - release 2.8
+ - (POTENTIAL INCOMPATIBILITY) The default input scaling, in the
+ absence of a "-s" switch, has been changed from inches to points.
+ The new behavior of "neato" is equivalent to "neato -s72".
+ The old behavior can be restored with "neato -s1".
+ The purpose of this change is to avoid a Frequently-Made-Mistake
+ when using "neato -n" to process a previously generated layout.
+ Previously it was necessary to use "neato -n -s72", but with this
+ change the default matches dot's output and the "-s72" is not required.
+ - Added pseudo layout engines: "dot -Knop" and dot -Knop1" equivalent
+ to "neato -n"
+ - Added pseodo layout engine: "dot -Knop2" equivalent to "neato -n2"
+ - Add support for color namespaces; add Brewer color data
+ - Add support for simulated duplex edges using parallel edges:
+ head arrow takes first color, tail arrow takes second color.
+ - source code management moved back to CVS until GIT matures a bit more
+ - distribute separe rpms for binares of language bindings :
+ - Add a small pad region around graph renderings to allow for finite
+ penwidths at the drawing edges
+ - Add protonode(g) and E=protoedge(g) functions to simplify
+ language bindings.
+ - Add special purpose code to deal with html labels from language
+ bindings.
+ - Various portability fixes for: HPUX, Mac OS/X, Cygwin, Windows.
+ - Fix bugs 784, 786, 787, 788, 789, 790, 791, 793, 795, 796, 798, 799,
+ 800, 801, 804, 806, 811, 812, 817, 820, 821, 823, 824, 825, 830,
+ 837, 839, 841, 842, 843, 848, 850, 851, 854, 855, 856, 857, 858,
+ 859, 861, 863, 866, 867, 869, 872, 874, 876, 877
+
+August 28, 2005
+ - release 2.6
+ - experimentally moved source code management from CVS to GIT
+ - added iterator functions to script bindings
+ - more C-API tuning
+ - add "-c" switch to dot to explicitly generate plugin "config" file
+ instead of generating it as a side-effect of "dot -V"
+ - better support for binary relocation.
+ - plugin versioning and version checking
+ - clean up of header files
+ - provide statically linked "dot_static" (not incl. in rpms)
+ - additional "event" support for GUIs (e.g. "DotEdit" graphviz-cairo)
+ - add some information about plugins to "dot -v" output.
+ - lefty/dotty fixes
+ - fix bugs 746, 750, 752, 753, 754, 756, 761, 763, 764, 765, 768,
+ 771, 772, 773, 774, 775, 776, 777, 778
+ - not a bug 757, 760, 770
+July 20, 2005
+ - release 2.4
+ - major code restructuring
+ - new plugin architecture (e.g. see separate package: graphviz-cairo )
+ - new script-language bindings using swig (perl, ruby, python, tcl, java ... )
+ - C-API now in libgvc (no more dotneato.[ch] or dotneato-config.sh]
+ - pkgconfig now used for reusable libraries
+ - lefty upgrade
+ - fix bugs 156, 255, 492, 631, 641, 647, 659, 662, 665, 670, 690, 691,
+ 701, 702, 703, 705, 730, 731, 732, 741, 743
+April 7, 2005
+ - release 2.2.1
+ - correct license headers to CPL in .cpp files
+ - undo indentation cleanup to dynagraph .h files
+ - fix bugs: 183, 247, 419, 615, 616, 625, 626, 627, 643,
+ 646, 651, 658, 661, 664, 674
+ - fix buffer overrun in Gvfilepath construction
+January 19, 2005
+ - release 2.2
+ - fix bugs: 86, 345, 517, 579, 580, 597, 600, 601, 604
+ - use the original cpl1.0.txt as the license master, instead of CPL.html - fix for bug generating in memory bitmaps that was affecting webdot
+ - fixes for windows builds
+ - documentation updates
+December 11, 2004
+ - release 2.0
+ - new CPL license
+ - re indent all sources
+December 11, 2004
+ - release 1.18
+ dotneato
+ - fix bugs: 451, 536, 545, 547, 548, 559, 561, 565, 572
+ - increase max size of HTML tables.
+ - spline cluster edges in fdp
+ - center userimages in nodes
+ - support user images in HTML table cells
+ - syntax extension for node:port:compass as well as node:compass
+ - FreeBSD fixes
+ - sync with gd-2.0.32
+ - attempt to catch some out-of-memory conditions with very large graphs
+ - support background and node-fill partial transparency when truecolor=true
+
+September 14, 2004
+ - release 1.16
+ dotneato
+ - fix bugs: 275, 523, 526, 527, 529, 534
+August 30, 2004
+ - release 1.14
+ dotneato
+ - the official gd now has support support for GIFs again - the
+ internal gd is now closely sync'ed with the official version
+ and will eventually be removed in favor of using a
+ separate installation of the official version.
+ - gd has new support for FontConfig (thanks to Dag Lem)
+ NB. the fontname attribute in graphs is now a font pattern
+ as understood by fontconfig (e.g. fontname="Times-Italic"),
+ unless it contains a '/' in which case it is interpreted as
+ a font path as before.
+ - gd provides support for html4 entities in decimal, hex or named, e.g "&lt;"
+ - "dot -v" debugging output now reports fontname -> fontpath resolutions
+
+ - PostScript generated by -Tps now uses "xshow" operator for strings
+ for better matching of bitmap and PostScript outputs.
+
+ - ability to use an external gd-2.0.29 version of libgd (EXPERIMENTAL)
+
+ - new feature: parallel edges by using a ":" separated list of edge colors
+ - new feature: rankdir=BT and rankdir=RL (thanks to Dag Lem)
+
+ - new layout engine: fdp - force directed placement (EXPERIMENTAL)
+ a neato-like undirected layout engine that produces
+ clustered symmetric layouts.
+ Supports edges between clusters and nodes.
+
+ - updated neato engine: now using stress majorization as the default,
+ which avoids the potential for cycling
+ - model=subset in neato provides a third distance function, where
+ two nodes sharing many nodes will be place farther apart
+ - shape=none now equivalent to shape=plaintext
+ - fix label justification with \l and \r
+ - first cut at <FONT> support added to html labels
+ - various color transparency fixes
+ - various fixes for UTF8 and Latin[12] character encodings.
+ - various cluster fixes.
+ - improved hyperlink support in -Tsvg
+ - support tooltips on clusters in client-side imagemaps
+
+ gvpr
+ - add support for scanf and friends
+
+ general
+ - greater use of shared libraries.
+ - pkg-config files provided for shared libraries (EXPERIMENTAL)
+ - "./configure --disable-shared --enable-static" works if needed
+ - C++ wrappers on all header files (thanks to Victor Wodecki)
+ - various configuration and portablity fixes
+ - provide pdf version of man pages
+ - Windows package provides graphviz libraries and header files
+ - Closed bugs: 195, 198, 234, 321, 330, 399, 401, 406, 410, 411,
+ 412, 413, 415, 416, 417, 423, 424, 427, 430, 431, 433, 434, 435,
+ 438, 441, 442, 444, 445, 449, 450, 452, 454, 457, 458, 462, 463,
+ 464, 467, 468, 469, 471, 475, 480, 482, 485, 495, 496, 498, 499,
+ 500, 501, 504, 508, 511, 512, 514
+
+March 5, 2004
+ - added glyphwidths.ps support utility
+
+March 1, 2004
+ - release 1.12
+ - general
+ - rename bcc -> bcomps to avoid name conflict with "Bruce's C Compiler"
+ on Redhat distributions.
+ - all build without X11 (fix problem in lefty tree)
+ - remove from distribution:
+ dag, fdp, geo, grid, incr, shape, tcldgr, tcldgl
+ - dotneato
+ - fix "brown-bag" problem resulting in PNG and JPEG errors on RH8 and RH9.
+February 23, 2004
+ - release 1.11
+ - general
+ - fix windows builds
+ - add tool "bcc" to distribution
+ - dotneato
+ - add -Gviewport="X,Y,Z,x,y" where XY are the dimensions of a viewport
+ in device coordinates (pixels), Z is a zooming factor, x,y is the
+ location of the center of the viewport in graph coordinates.
+ Supported in bitmap and imagemap outputs only.
+ - fix memory leak in gd/gdft.c
+ - clean up calculation of whitespace around labels
+ - dotty, lefty
+ - fix for bug #400
+December 23, 2003
+ - added dijkstra (single source distance) filter
+September 10, 2003
+ - general
+ - removed CVS directories from .tar.gz distributions
+ - add "config" directory to contain some of the autoconf clutter
+ - only remove flex products with "make maintainer-clean" to
+ avoid trying to regenerate them after "make distclean"
+ basically this is to avoid the broken flex on Debian.
+ - suppress complaints from ./configure about config.rpath
+ - doc/build.html updated with notes about Windows builds
+ - build fixes for Forte 6sp2 compiler on Sun -xarch=v9a (64bit)
+ - build fixes for OpenBSD
+ - improved configure testing for Tcl/Tk
+ - various bug fixes, internal restructuring, etc
+ - dotneato
+ - fix problem with extra escape chars in .fig output
+ - support for "setlinewidth" in -Tfig
+ - improved splines in -Tfig
+ - add manpage for dotneato-config
+ - neato: add defaultdist graph attribute to set distance
+ between components
+ - first cut at html table formatter add. not ready for use yet
+ as the syntax is going to change some more.
+ - tools
+ - renamed "colorize" to "gvcolor" to avoid conflict on Debian
+ - renamed "gpr" to "gvpr" to avoid conflict on Debian
+ - add fflush() to acyclic, ccomps, gvcolor, tred, dot2gxl
+ to try to fix truncated output when used in php or perl cgi scripts
+July 9, 2003
+ - rerelease 1.10 with ast_common.h fix in -devel rpms
+July 3, 2003
+ - declare this version 1.10
+ - general
+ - "mkdir obj;cd obj;../configure;make" now works (bug #293)
+ - "make prefix=xxx" now works (bug #274)
+ - "--with-wish=xxx" now works (bug #270)
+ - remove generated file: ast_common.h from source distributions
+ - make GIF support configurable
+ - added .cvsignore thoughout source tree to reduce CVS noise
+ - FAQ updates
+ - documentation updates for gpr
+ - improve portability of dotneato-config, but requires libtool now
+ - improvements to error processing for library users
+ -gd
+ - sync with gd-2.0.15
+ - optimize line drawing code
+ - dot, neato, twopi
+ - fix bugs 240,270,274,293,298,303
+ - support "peripheries=0" without crashing
+ - add support for "dia" output format (-Tdia)
+ - espf fixes (use of showpage)
+ - svg fixes (coordinates and viewBox)
+ - ismap/imap, fixes (quoting of label strings)
+ - fix to "point" shape
+ - improve (m|c|re)alloc usage
+ - improve handling of very-small fonts in bitmap outputs.
+ - various fixes for multiple -T -o feature
+ - add support for splines to records and ports (neato)
+ - various improvements to libpack
+ - dot_init_graph and neato_init_graph external for library users
+ - cluster improvements (neato)
+ - fix support for truecolor
+ - normalize splines so that they now always go from tail to head
+ - add some simple help text for any unrecognized option
+ (e.g. -? -h --help)
+ - tools
+ - extend gpr language to allow access to command-line arguments
+ - add sqrt() function to gpr
+ - add new tool - gvpack
+ - tcldot
+ - use .dll extension if on windows
+ - doted demo
+ - use tcl's file requestor instead of homebrew
+ - add zooming controlled by mousewheel
+ - support additonal export formats
+
+January 31, 2003
+ - declare this version 1.9
+ (3-level version numbering has been dropped now
+ that we have nightly snapshot builds with their
+ own extended numbering.)
+ - general
+ - config.h is no longer installed. config.h is generated by
+ ./configure for the current build only. It may not be
+ applicable for derivative builds.
+ - improve ICONV configure tests
+ - lots of janitor-work to clean up warning messages from -Wall
+ - use @OBJEXT@ in Makefile.am so that .obj is used under cygwin
+ - fixes for Solaris builds
+ - use libpng-config if available
+ - reduce long build times due to touching ast_common.h too often
+ - improve dependency tracking. "make -j8" now works with distcc
+ - autogen.sh fixes to work on RH7.3, RH8.0, and Solaris.
+ - eliminate use of suffix rules which confused some makes.
+ - DOT language allows '+' for concatenation of quoted strings
+ - dot, neato, twopi
+ - fix bugs 209, 210, 214, 216, 217, 222, 224, 225, 229,
+ 230, 233, 236, 237
+ - update gd into alignment with gd-2.0.9
+ - change to make libagraph output compatible with libgraph input
+ - add shapes: septagon, pentagon, a_ediamond, rect, rectangle
+ - introduce "ND_...", "ED_...", "GD_...", node/edge/graph-data
+ accessor macros in partial preparation for use of
+ libagraph in dot.
+ - add libdotneato.so, dotneato.h, dotneato-config
+ to aid use of dot libraries by user apps based
+ on installed graphviz-devel rpm and without access
+ to graphviz sources.
+ - new xdot output format providing detailed drawing instructions
+ - new -y command line flag, inverts y coordinates
+ - support multple -T when -o given, as in:
+ cat xxx.dot | dot -Tpng -Tcmap -o xxx
+ which produces xxx.png and xxx.cmap from a single
+ layout computation. Intended for use in CGI programs.
+ - agraph
+ - correct callback ordering for deletions
+ - tools
+ - add gxl2dot and dot2gxl for GXL language conversions
+ - gvui now provides *map output
+ - tcldot, tcldgr, tcldgl
+ - improve tcl8.4 support
+ - extend search path for tcl.h to include /usr/local/include/tcl8.4/
+ in support of BSD install conventions.
+ - dynagraph
+ - many fixes
+ - change to not build dynagraph by default (use --with-dynagraph)
+ - docs
+ - dotguide updates
+September 27, 2002
+ - declare this version 1.8.10
+ - general
+ - various configure.in fixes and simplifications
+ - change configure to now build dynagraph by default
+ "--without-dynagraph" is supported
+ - fix graphviz.spec.in to partition packages properly
+ graphviz no longer depends on graphviz-tcl.
+ - Makefile.old cleanups
+ - configure.old now set version number automatically from
+ configure.in
+ - dot, neato, twopi
+ - Initial support for image node shapes + URL fetch.
+ - Made number of dimensions a runtime variable in neato.
+ - Bug fix in vrmlgen for degenerate splines.
+ - Bug fix - ordering=in should now work
+ - Bug fix - layers no numbered from 0 to match PS requirements
+ - Bug fix - don't draw arrows on invisible edges
+ - Bug fix - when pack=true and ratio is set
+ - Bug fix - agraph/scan.l to work with latest flex beta
+
+August 2, 2002
+ - declare this version 1.8.9
+ - general
+ - split rpm into:
+ graphviz, graphviz-tcl, graphviz-graphs, graphviz-devel
+ - gcc3 warning cleanup
+ - Install lincdt, libgraph, libagraph, libgd, libpathplan, libexp,
+ and libpack so that they can be used by other programs.
+ Headers and man3 in graphviz-devel
+ - dynagraph, graphsearch
+ - New tools based on libagraph and written in C++
+ - dot, neato, twopi
+ - Add node and edge tooltips for use with -Tcmap
+ \N,\E,\H,\T substitutions also work in tooltips.
+ - Add alt="label_string" to -Tcmap
+ - Add edge-label and port mappings to -Tps and -Tps2 so
+ that edges can be hyperlinked in PDF documents.
+ - Add support for \E (edge name), \H (head-node name),
+ \T (tail-node name) substitutions in edge labels and edge URLs
+ - Add support for stylesheet="file.css" for use in -Tsvg
+ - Fix -Tpic to work with recent gpic (Bruce Lilly)
+ - Fix alignment of imagemaps to images.
+ - Fix "transparent" color support in -Tsvg
+ - Fix support for graph [URL="default.html"] in -Tsvg and -Tcmap.
+ - Fix '&' escaping in URLs in -Tsvg
+ - Fix infinite loop in dot layout algorithm
+ - Fix text rotations again (hopefully freetype is stable now.)
+ - Cluster layout improvements
+ - Clean up warning messages from pathplan
+ - Consolidation of mapping code from imapgen.c and ismapgen.c into mapgen.c
+ - gpr
+ - Added additional mode to extract components based sharing an
+ edge or a cluster
+ - Fix test for getopt
+ - tcl-based tools
+ - Disable tcl-based tool building if tcl/tk not available
+ with stubs support.
+ - documentation updates: FAQ, dotguide, dot.1
+July 5, 2002
+ - declare 1.8.7 a "brown bag" release
+ and declare this version 1.8.8
+ - remove wrong assert in gdgen.c
+ - fix graph centering in bitmap outputs
+ - provide enough margins
+ - fix line widths after scaling
+ (test with directed/proc3d.dot)
+ - fix text rotations (requires libfreetype.so.6.3.1)
+ (test with directed/NaN.dot)
+July 5, 2002
+ - declare this version 1.8.7
+ - Fix missing "]" in ihi demo.
+July 2, 2002
+ - Add URL mappings for clusters: svg,svgz,ps,ismap,imap,cmap.
+ - Fix to avoid white edges in bitmap outputs when bgcolor is set.
+ - Improve sizing and position of strings in bitmap outputs
+ when using builtin fonts (when font file not found).
+ - Fix \N substitution in edge URLs in imap and cmap outputs.
+ - Add -Tcmap for client-side imagemaps.
+ - Generate warnings instead of access violation for EPSF file problems.
+ - Various spline fixes in neato.
+ - Fixes to pack.c
+ - Add feature to ccomps to allow extraction of individual component
+ by number or node.
+ - Cdt make to use iffe provided in the tools directory.
+ - Various Makefile.old fixes.
+ - Use HAVE_LIBZ to remove GD2 format if libz not available.
+ Now bare-bones programs can be built without any add-on libraries.
+ - Modified dot grammar to allow simple name attributes in attribute
+ lists. Thus, [splines] is equivalent to [splines=true]. Adopted
+ the same convention for command line attributes -G, -E and -N.
+ In addition, such command line attributes now override any
+ competing initial attribute statements.
+ - HP-UX 11.11 build fixes for struct dioattr.
+ - Fix for bug #158 "Nodes disappear with ports"
+ - Various Windows-specific #ifdefs
+ - Fix edge coordinates in -Tplain.
+
+May 24, 2002
+ - declare this version 1.8.6
+May 19, 2002
+ - Fixed segfault from use of bgcolor in clusters.
+May 15, 2002
+ - Changed install location of architecture-independent demo
+ scripts and graphs to <prefix>/share/graphviz/ to conform to FHS.
+ - Avoid multiple linking of libfreetype (and others) which caused
+ problems on SunOS-2.8.
+May 6, 2002
+ - Factored out some duplicated arrow code from dotgen/splines.c
+ and neatorgen/splines.c into common/arrows.c.
+ - Added new arrow types: halfopen, box, obox, crow.
+ - Touched up the arrow designs so that they look better at default size.
+ - Modified/extended graphs/directed/newarrows.dot to show new arrows.
+May 3, 2002
+ - Added some UML arrow types from Diomidis Spinellis <dds@aueb.gr>
+ empty, invempty, open, diamond, odiamond.
+May 2, 2002
+ - Added new pack option to neato. This causes each connected component
+ to be laid out separately, and then the resulting graphs are packed
+ together in a single layout.
+ - Amended neato to accept new tee arrowhead.
+April 19, 2002
+ - Coords of rectangles changed to left/top right/bottom in -Timap.
+ - Generate COPYING from LICENSE.html during ./authogen.sh,
+ remove COPYING from CVS.
+April 16, 2002
+ - Minor license file patches.
+ - Corrected one of those reversed flat edge bugs again.
+
+April 11, 2002
+ - declared this version 1.8.5
+ - various portability fixes
+ - various SVG fixes and optimizations
+April 5, 2002:
+ - declared this version 1.8.4
+ - SVG renderer:
+ - make graph|node|edge ids unique, particularly for multiedges
+ - put graph|node|edge names in <title>...</title>
+ - use some property inheritance to reduce size of output
+ - fix compile errors when no zlib
+ - updated DTD reference
+ - GD renderer:
+ - Minimal Type1 font support:
+ - look in /usr/lib/X11/fonts/Type1/
+ - look for .pfa or .pfb font files based on fontname
+ - run gdgen.c through dos2unix - problems with gcc on SuSE
+ - fix Mac-OSX build problems:
+ - improve strto[u]ll configure tests
+ - add -fno-common for extern problem
+ - function renamed to avoid conflicts (vis -> visibility)
+ - add configure tests for search.h, malloc.h, getopt.h, errno.h
+ - improve configure tests for FILE struct features
+ - add configure tests for lrand48
+ - add new demo graphs:
+ - graphs/undirected/Heawood.dot
+ - graphs/undirected/Petersen.dot
+ - neato:
+ - fix for -x implementation in neato (Bug 77)
+ - fix spline problem (Bug 87)
+ - fix some divide-by-zero problems
+ - twopi:
+ - fix Bug 117
+ - update man pages for unconnected graphs capability
+ - added arrowhead or arrowtail = tee
+March 22, 2002:
+ - add dotneato/pack code to twopi
+ - add contrib/prune to gnu build and install
+March 20, 2002:
+ - declared this version 1.8.3
+ - fixed parse error for lines starting with '#' in .dot files
+ - fixed a recently introduced bug that caused failure of:
+ digraph G { {rank = same; A -> B; B -> A } }
+ - updated DOCTYPE header in SVG outputs
+ - added dotneato/common/xbuf.[ch] for dynamic string handling
+ to avoid sprintf buffer overruns.
+ - twopigen - handle special case of graphs with < 3 nodes.
+ - neato - handle point shapes
+ - added fontcolor support to svg
+March 14, 2002:
+ - Fixed bug 109
+ - Removed duplicate definitions for str[n]casecmp
+ - Added missing declarations needed for Windows
+ - Cleaned up warning messages from set but unused variables
+ - Removed use of DOS preprocessor variable; uniformly replaced by MSWIN32
+March 8, 2002:
+ - declared this version 1.8.2
+ - Mainly to fix a missed static buffer problem which trips up the
+ Windows community
+March 1, 2002:
+ - declared this version 1.8.1
+ - Bug fixes reported from user testing of 1.8.0, especially problem
+ with SVG output
+February 25, 2002:
+ - updated dotguide.tex and moved to LaTeX article format
+ - added webdot.cgi perl script, enhanced to accept the same
+ argument format as John's tcl version (so it can also
+ serve neato and twopi graph layouts).
+
+February 7, 2002: graphviz-1.8.0 pre
+ - declared this version 1.8.0
+
+February 5, 2002: graphviz-1.7.17-0
+ - various 64bit portability fixes
+ - various bug fixes
+January 2, 2002: graphviz-1.7.16-0
+ - dotneato
+ - fix bugs in -Tps output due to pen/fill color changes
+ - various -Tfig.c fixes
+ - various portability fixes
+December 28, 2001: graphviz-1.7.15-0
+ -dotneato
+ - introduce damping factor into neato's solver
+ - clean up pencolor v fillcolor code so that filled polygons are drawn
+ just once if the renderer is capable (e.g. svg, fig)
+ - complete -Tfig support (xfig format)
+December 11, 2001: graphviz-1.7.14-0
+ -dotneato
+ - add -Tsvgz (compressed SVG) support
+December 11, 2001: graphviz-1.7.13-0
+ - dotneato
+ - fontwidth fixes
+ - remove some potential buffer overruns
+ - escape '&' in SVG, unless it is already part of a UTF entity sequence
+ - recognize Times_New_Roman and Courier_New as default font names.
+ - improve -liconv support in configure
+ - clean up some compiler warnings
+ - dynagraph
+ - change "round" to "ROUND" to avoid conflict with system headers on linux
+December 03, 2001: graphviz-1.7.12-0
+ - dotneato
+ - add -Tplain-ext which includes port identifiers edge records
+ - escape '>' with '&gt;' in edge ids and edge URLs in -Tsvg.
+ - spline fixes
+ - mincross fixes
+ - improved text alignment in nodes - particularly in bitmap outputs.
+ - fixed text scaling problems for 8-bit characters (e.g. umlauts)
+ - add graph lexer and postscript support for extended characters
+ - lefty
+ - fix for X11 displays
+ - pathplan
+ - added workaround for gcc-0.96 bug when "-O2 -mcpu=686 -ffast-math"
+October 22, 2001: graphviz-1.7.11-0
+ - dotneato
+ - svg - fix landscape "y" direction
+ - fix text rotation (works in batik, not yet in sodipodi or amaya)
+ - fix linewidth
+ - fix xmnls:xlink reference
+ - doc
+ - Dot.ref - updated
+ - graphs/directed
+ - newarrows.dot expanded
+ - honda-tokoro.dot added
+October 21, 2001: graphviz-1.7.10-0
+ - lefty & dotty
+ - realign code with EK's master tree.
+ includes fix for dirty trails when dragging nodes in dotty.
+ - dotneato
+ - svg - kludge escape of "<" & ">" characters in labels.
+ - general
+ - generate doxygen documentation on http://www.graphviz.org/
+August 20, 2001: graphviz-1.7.9-0
+ - general
+ - first release from relocated cvs server
+ - dotneato
+ - fix for abort from spline code
+ - fix for crash from gd tiling code
+August 15, 2001: graphviz-1.7.8-0
+ - general
+ - Update gd to gd-2.0.1 with extensions
+ - dotneato
+ - more spline fixes
+ - add suport for "#rgb" color specification
+ - add twopi layout engine (circular layouts)
+July 13, 2001: graphviz-1.7.7-0
+ - Synchronization release prior to relocating CVS server.
+ - general
+ - some Makefile fixes for OpenBSD
+ - some FAQ updates
+ - dotneato
+ - self-edge fixes
+ - spline fixes
+ - libgraph
+ - parser fixes
+July 1, 2001: graphviz-1.7.6-3
+ - general
+ - portability fixes (including 14 charater file names !)
+ - memory leak fixes
+ - "make test" targets in graphs/directed, graphs/undirected
+ - configure
+ - add support for building without X11, Tk, Tcl
+ - add hooks for dmalloc and ElectricFence debugging
+ - dotneato
+ - spline fixes
+ - cluster fixes
+ - fix label centering
+ - fix support for graph margins in bitmapped outputs
+ - correction to PostScript preamble
+ - SVG generator improvement - now works with Amaya and SodiPodi
+ - tcldot
+ - now uses Tcl Channels properly for input
+ - fixes for linewidth support
+ - command extensions
+ - listattributes now accepts list
+ - queryattributes now accepts list
+ - setattributes now accepts list
+ - queryattributevalues - new command
+ - generates list of pairs compatible with setattributes
+ - dotty
+ - passthrough keyboard events
+ - doted
+ - fix resizing problems
+ - add PNG and SVG output formats
+
+April 27, 2001: graphviz-1.7.6
+
+ NEW FEATURES
+
+ Added a collection of graph processing tools:
+
+ acyclic : a filter that takes a directed graph as input
+ and outputs a copy of the graph with sufficient edges
+ reversed to make the graph acyclic.
+
+ ccomps : decomposes graphs into their connected components,
+ printing the components to standard output.
+
+ colorize : is a filter that sets node colors from initial
+ seed values. Colors flow along edges from tail to head.
+
+ gc : a graph analogue to wc in that it prints to standard
+ output the number of nodes, edges, connected components or
+ clusters contained in the input files.
+
+ gpr : a graph stream editor inspired by awk. It copies
+ input graphs to its output, possibly transforming their
+ structure and attributes, creating new graphs, or
+ printing arbitrary information.
+
+ nop : reads a stream of graphs and prints each in
+ pretty-printed (canonical) format on stdout.
+
+ sccmap : decomposes digraphs into strongly connected components
+ and an auxiliary map of the relationship between components.
+
+ tred : computes the transitive reduction of directed graphs,
+ and prints the resulting graphs to standard output. This
+ removes edges implied by transitivity.
+
+ unflatten : is a preprocessor to dot that is used to improve
+ the aspect ratio of graphs having many leaves or disconnected
+ nodes. The usual layout for such a graph is generally very
+ wide or tall. unflatten inserts invisible edges or adjusts
+ the minlen on edges to improve layout compaction.
+
+
+ FIXES
+
+ Add FAQ
+
+ Change PNG default background color from transparent to white
+ because of the difficulty some viewers have with transparency.
+
+ Add support for [color=transparent]
+
+ Fix broken support for specific capitalized fontnames
+ (Times Helvetica Arial Courier)
+
+ Fix broken support for DOTFONTPATH
+
+ Some bitmap font scaling fixes - we're still not happy with
+ bitmap font scaling as some labels still exceed the area
+ allocated by the layout engines.
+
+ Some -Timap fixes for mouse sensitive graphs on web pages
+
+ Some cluster layout fixes
+
+ Fix for [rankdir=LR] problems when using neato layout engine
+
+ Some neato layout fixes
+
+ Updates to unix.dot
+
+ Various OS and distro fixes
+
+
+December 23, 2000: graphviz-1.7.5
+
+ - update to gd-1.8.4 and freetype2
+ - add support for font paths
+
+
+December 15, 2000: graphviz-1.7.4
+ -various cluster fixes
+ -separate support for node fillcolor from pencolor (see dot.1)
+ -add support for dotted and dashed lines to bitmap renderers (PNG, GIF etc)
+ -add support for varying linewidth to bitmap renderers
+ -remove libtcldot dependence on lingdtclft (already statically included)
+ -various fixes to build processes, GNU and non-GNU
+
+
+graphviz-1.7.3 .....
+
+May 3, 2000: removed webdot into its own CVS module and rpm package
+
+April 16, 2000: Use check for "gdImagePng" to make sure that we have
+ recent version of libgd. <ellson@graphviz.org>
+
+April 14, 2000: Add Tcldgl and dge demo <ellson@graphviz.org>
+
+April 14, 2000: Add dynagraph libraries <north@research.att.com>
+
+April 14, 2000: Flatten directory hierachy of sources <ellson@graphviz.org>
+
+April 14, 2000: Fix X11 library detection for lefty:
+ src/configure.in, src/lefty/Makefile.in
+ <ellson@graphviz.org>
+
+April 14, 2000: Fix pic support:
+ src/dotneato/picgen.c,
+ src/dotneato/emit.c,
+ webdot/tcl/webdot.tcl
+ <Bruce Lilly>
+
+April 7, 2000: Upgrade webdot installation process:
+ webdot/Makefile, webdot/README
+ <ellson@graphviz.org>
+
+March 13, 2000: Support for virtual hosts in webdot/webdot.tcl, add
+ "puts $skt "Host: $server" Michael Tillberg <mt@proteome.com>
+
+March 13, 2000: Fix to src/graph/parser.y line 149
+ "if ((e->head == t->node) && !(Agraph_type & AGDIGRAPH)) {"
+ Stephen North <north@research.att.com>
+
+March 13, 2000: Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL
+ in configure.in. John Ellson <ellson@graphviz.org>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/Dot.ref b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/Dot.ref
new file mode 100644
index 0000000..332e295
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/Dot.ref
@@ -0,0 +1,850 @@
+ Quick Reference Guide for GraphViz
+ 20 February 2002
+
+
+Command-line Invocation
+
+ ------------------------------------------------------------------------
+All GraphViz programs have a similar invocation:
+ cmd [ flags ] [ input files ]
+If no input files are supplied, the program reads from stdin.
+
+Flags
+
+-Gname=value
+ Set a graph attribute.
+-Nname=value
+ Set a default node attribute.
+-Ename=value
+ Set a default edge attribute.
+-Tformat
+ Set output language to one of the supported formats. By default,
+ attributed dot is produced.
+-V
+ Emit version information and exit.
+-llibfile
+ User-supplied, device-dependent library files. Multiple libraries may
+ be given. These names are passed to the code generator at the beginning
+ of output.
+-n[num]
+ Sets no-op flag in neato. If set, neato assumes nodes have already been
+ positioned and have a pos attribute giving this position. It then just
+ computes the edge layouts and emits the graph in the appropriate
+ format. If num is supplied and > 1, neato checks for previously
+ positioned edges, with control points provided in the pos attribute. It
+ uses these if given; otherwise, it computes the edge layout.
+-ooutfile
+ Write output to file outfile. By default, output goes to stdout.
+-s[scale]
+ Set input scale to scale. If this value is omitted, 72.0 is used. This
+ number is used to convert the point coordinate units used in the pos
+ attribute into inches. For example, dot -Tdot produces pos values in
+ points, with 72 per inch. Thus, to use this output as input to neato
+ -n, one needs -s (equivalently, -s72).
+-v
+ Verbose mode
+-x
+ In neato, on input, prune isolated nodes and peninsulas. This removes
+ uninteresting graph structure and produces a less cluttered drawing.
+
+Note that the file contents override the -G, -N and -E flags. In addition,
+these flags cause the related attributes to be permanently attached to the
+graph. Thus, if attributed dot is used for output, the graph will have these
+attributes.
+
+ ------------------------------------------------------------------------
+
+The DOT Language
+
+ ------------------------------------------------------------------------
+digraph G {foo -> bar; ... } or graph G { foo -- bar; ...}
+
+To connect all pairs:
+ {foo bar}->{baz bart}
+
+To make a chain of links:
+ foo->bar->baz
+
+Commas inside [...] and semicolons inside {...} are optional.
+
+Quotes are needed on attribute values to protect spaces, commas, periods, etc.
+
+// C++ like comment: to end of line
+/* C-like comment: between delimiters */
+
+For a complete language description, see
+
+ http://www.research.att.com/~erg/graphviz/info/lang.html
+
+ ------------------------------------------------------------------------
+
+Attributes
+
+ ------------------------------------------------------------------------
+
+ Name Used By Type Default Minimum Notes
+ Damping G double 0.99 0.0 neato only
+ Epsilon G double (.0001 * # nodes) neato only
+ URL ENGC string
+ arrowhead E arrowType normal
+ arrowsize E double 1.0 0.0
+ arrowtail E arrowType normal
+ bb G rect write-only
+ bgcolor G color
+ bottomlabel N string ""
+ center G bool false
+ clusterrank G clusterMode local dot only
+ color ENC color black
+ comment ENG string ""
+ compound G bool false dot only
+ concentrate G bool false dot only
+ constraint E bool true dot only
+ decorate E bool false
+
+ dir E dirType forward(directed)
+ none(undirected)
+ distortion N double 0.0 -100.0
+
+ fillcolor NC color lightgrey(nodes)
+ black(clusters)
+ fixedsize N bool false
+ fontcolor ENGC color black
+ fontname ENGC string "Times-Roman"
+ fontpath G string ""
+ fontsize ENGC double 14.0 1.0
+ group N string "" dot only
+ headURL E string ""
+ headlabel E string ""
+ headport E portPos center
+ height N double 0.5 0.02
+
+ label ENGC string ""
+ "\N" (nodes)
+ labelangle E double -25.0 -180.0
+ labeldistance E double 1.0 0.0
+ labelfloat E bool false
+ labelfontcolor E color black
+ labelfontname E string "Times-Roman"
+ labelfontsize E double 11.0 1.0
+ labeljust C string "" dot only
+
+ labelloc GC string "t"(clusters) dot only
+ "b"(root graphs)
+ layer EN layerRange ""
+ layers G layerList ""
+ len E double 1.0 neato only
+ lhead E string "" dot only
+ lp EGC point write-only
+ ltail E string "" dot only
+
+ margin G double
+ pointf
+ maxiter G int MAXINT neato only
+ mclimit G double 1.0 dot only
+ minlen E int 1 0 dot only
+ model G string "" neato only
+ nodesep G double 0.25 0.02 dot only
+ normalize G bool false neato only
+ nslimit
+ nslimit1 G double dot only
+ ordering G string "" dot only
+ orientation N double 0.0 360.0
+ orientation G string ""
+
+ overlap G string "" neato only
+ bool
+ page G pointf
+ pagedir G pagedir BL
+ peripheries N int 0
+ pin N bool neato only
+
+ pos EN point
+ splineType
+ quantum G double 0.0 0.0
+ rank S rankType dot only
+ rankdir G rankdir TB dot only
+ ranksep G double 0.5 0.02
+ ratio G double
+ rects N rect write-only
+ regular N bool false
+ remincross G bool false dot only
+ rotate G int 0
+ samehead E string "" dot only
+ sametail E string "" dot only
+ samplepoints G int 8
+ searchsize G int 30 dot only
+ sep G double 0.01 neato only
+ shape N shape ellipse
+ shapefile N string ""
+ showboxes ENG int 0 0 dot only
+ sides N int 4 0
+ size G pointf
+ skew N double 0.0 -100.0
+ splines G bool false neato only
+
+ start G string "" neato only
+ int
+ style ENC style
+ styleheet G style
+ tailURL E string ""
+ taillabel E string ""
+ tailport E portPos center
+ toplabel N string ""
+ vertices N pointfList write-only
+ voro_margin G double 0.05 0.0 neato only
+ w E double 1.0 neato only
+
+ weight E double 1.0 0(dot)
+ 1(neato)
+ width N double 0.75 0.01
+
+ z N double 0.0 -MAXFLOAT
+ -1000
+ ------------------------------------------------------
+For the bool type, TRUE values are represented by "true" (case-insensitive)
+and any non-zero integer, and FALSE values by "false" (case-insensitive) and
+zero.
+
+In the Used By field, the characters E, N, G and C represent edges, nodes,
+the root graph and cluster subgraphs, respectively. This field indicates
+which graph component uses the attribute.
+ ------------------------------------------------------------------------
+
+Attribute Descriptions
+
+Damping
+ Factor damping force motions. On each iteration, a nodes movement is
+ limited to this factor of its potential motion. By being less than 1.0,
+ the system tends to ``cool'', thereby preventing cycling.
+Epsilon
+ Terminating condition. If the length squared of all energy gradients
+ are < Epsilon, the algorithm stops.
+URL
+ Incorporated into device-dependent output. At present, used for ps2,
+ i*map and svg. For ps2, URLs can be attached to nodes and the root
+ graph. When distilled to PDF, such nodes are active links and the graph
+ URL can be used as a base URL. For i*map, URLs can be attached to
+ nodes, edges and the root graph. If the node or edge URL contains "\N",
+ this is replaced by the object's name. For svg, URLs can be attached to
+ nodes, edges and clusters, with "\N" replacement done for all three.
+arrowhead
+ Style of arrowhead on head of edge.
+arrowsize
+ Multiplicative scale factor for arrowheads.
+arrowtail
+ Style of arrowhead on tail of edge.
+bb
+ Bounding box of drawing in integer points.
+bgcolor
+ Color used as background for canvas, plus initial fill color.
+bottomlabel
+ Additional label near bottom of nodes of shape M*.
+center
+ If true, the drawing is centered in the output canvas.
+clusterrank
+ Mode used for handling clusters. If clusterrank is "local", a subgraph
+ whose name begins with "cluster" is given special treatment. The
+ subgraph is laid out separately, and then integrated as a unit into its
+ parent graph, with a bounding rectangle drawn about it. If the cluster
+ has a label parameter, this label is displayed within the rectangle.
+ Note also that there can be clusters within clusters. At present, the
+ modes "global" and "none" appear to be identical, both turning off the
+ special cluster processing.
+color
+ Basic drawing color for graphics.
+comment
+ Comments are inserted into output. Device-dependent
+compound
+ If true, allow edges between clusters. (See lhead and ltail below.)
+concentrate
+ If true, use edge concentrators.
+constraint
+ If false, the edge is not used in ranking the nodes. For example, in
+ the graph
+
+ digraph G {
+ a -> c;
+ a -> b;
+ b -> c [constraint=false];
+ }
+
+
+ the edge b -> c does not add a constraint during rank assignment, so
+ the only constraints are that a be above b and c.
+
+decorate
+ If true, attach edge label to edge by a 2-segment polyline, underlining
+ the label, then going to the closest point of spline.
+dir
+ Set edge type for drawing arrowheads.
+distortion
+ Distortion factor for shape=polygon. Positive values cause top part to
+ be larger than bottom; negative values do the opposite.
+fillcolor
+ If fillcolor is not defined, color is used. If this is not defined, the
+ default is used, except for shape=point or when the output format is
+ MIF, which use black by default.
+fixedsize
+ If true, the node size is kept fixed and not expanded to contain the
+ text label.
+fontcolor
+ Color used for text.
+fontname
+ Font used for text.
+fontpath
+ Directory list used by libgd to search for bitmap fonts. If fontpath is
+ not set, the environment variable DOTFONTPATH is checked. If that is
+ not set, GDFONTPATH is checked. If not set, libgd uses its compiled-in
+ font path.
+fontsize
+ Font size, in points, used for text.
+group
+ If the end points of an edge belong to the same group, i.e., have the
+ same group attribute, parameters are set to avoid crossings and keep
+ the edges straight.
+headURL
+ For the output format imap, or cmap, if headURL is defined, it is
+ output as part of the head label of the edge. If headURL contains
+ "\N", this will be replaced by the head label text.
+headlabel
+ Text label to be placed near head of edge.
+headport
+ Indicates where on the head node to attach the head of the edge. In the
+ default case, the edge is aimed towards the center of the node, and
+ then clipped at the node boundary.
+height
+ Height of node, in inches.
+label
+ Text label attached to objects. The escape sequences "\n", "\l" and
+ "\r" divide the label into lines, centered, left-justified and
+ right-justified, respectively. The escape sequence "\N" represents a
+ node's name. If a node's shape is record, then the label can have a
+ special format which describes the record layout.
+labelangle
+ Angle, in degrees, that the headlabel(taillabel) is rotated from the
+ angle the edge makes incident with the head(tail) node, respectively.
+labeldistance
+ Multiplicative scaling factor adjusting the distance that the
+ headlabel(taillabel) is the from head(tail) node.
+labelfloat
+ If true, allows edge labels to be less constrained in position. In
+ particular, it may appear on top of other edges.
+labelfontcolor
+ Color used for headlabel and taillabel.
+labelfontname
+ Font used for headlabel and taillabel.
+labelfontsize
+ Font size, in points, used for headlabel and taillabel.
+labeljust
+ Justification for cluster labels. If "r", the label is right-justified
+ within bounding rectangle; otherwise, left-justified.
+labelloc
+ Top/bottom placement of graph and cluster labels. If the attribute is
+ "t", place label at the top; if the attribute is "b", place label at
+ the bottom. By default, root graph labels go on the bottom and cluster
+ labels go on the top.
+layer
+ Specifies layers in which the node or edge is present.
+layers
+ Specifies a linearly ordered list of layer names attached to the graph
+ The graph is then output in separate layers. Only those components
+ belonging to the current output layer appear. For more information, see
+ the page How to use drawing layers (overlays).
+len
+ Preferred edge length, in inches.
+lhead
+ Logical head of an edge. When compound is true, if lhead is defined and
+ is the name of a cluster containing the real head, the edge is clipped
+ to the boundary of the cluster.
+lp
+ Label position, in points.
+ltail
+ Logical tail of an edge. When compound is true, if ltail is defined and
+ is the name of a cluster containing the real tail, the edge is clipped
+ to the boundary of the cluster.
+margin
+ Set x and y margins of canvas, in inches. In first case, both margins
+ are set equal to the given value.
+maxiter
+ Sets the number of iterations used.
+mclimit
+ Multiplicative scale factor used to alter the MinQuit (default = 8) and
+ MaxIter (default = 24) parameters used during crossing minimization.
+ These correspond to the number of tries without improvement before
+ quitting and the maximum number of iterations in each pass.
+minlen
+ Minimum edge length (rank difference between head and tail).
+model
+ If "circuit", use circuit resistance model to compute dissimilarity
+ values; otherwise, use shortest path model.
+nodesep
+ Minimum space between two adjacent nodes in the same rank, in inches.
+normalize
+ If set, normalize coordinates of final layout so that the first point
+ is at the origin, and then rotate the layout so that the first edge is
+ horizontal.
+nslimit ,
+nslimit1
+ Used to set number of iterations in network simplex applications.
+ nslimit is used in computing node x coordinates, nslimit1 for ranking
+ nodes. If defined, # iterations = nslimit(1) * # nodes; otherwise, #
+ iterations = MAXINT.
+ordering
+ If "out" for a graph G, and n is a node in G, then edges n->* appear
+ left-to-right in the same order in which they are defined.
+orientation
+ Angle, in degrees, used to rotate node shapes.
+orientation
+ If "[lL]*", set graph orientation to landscape Used only if rotate is
+ not defined.
+overlap
+ If "scale", remove node overlaps by scaling; if converts to false,
+ remove node overlaps by the Voronoi technique; otherwise, leave
+ overlaps.
+page
+ Width and height of output pages, in inches. If this is set and is
+ smaller than the size of the layout, a rectangular array of pages of
+ the specified page size is overlaid on the layout, with origins aligned
+ in the lower-left corner, thereby partitioning the layout into pages.
+ The pages are then produced one at a time, in pagedir order.
+pagedir
+ If the page attribute is set and applicable, this attribute specifies
+ the order in which the pages are emitted. This is limited to one of the
+ 8 row or column major orders.
+peripheries
+ Set number of peripheries used in polygonal shapes.
+pin
+ If true and the node has a pos attribute on input, neato prevents the
+ node from moving from the input position. This property can also be
+ specified in the pos attribute itself (cf. the point type).
+pos
+ Position of node, or spline control points, in points. In neato, pos
+ can be used to set initial position of a node. Concerning this, see the
+ -s command line flag.
+quantum
+ If quantum > 0.0, node label dimensions will be rounded to integral
+ multiples of the quantum.
+rank
+ Rank constraints on the nodes in a subgraph. If rank="same", all nodes
+ are placed on the same rank. If rank="min", all nodes are placed on the
+ minimum rank. If rank="source", all nodes are placed on the minimum
+ rank, and the only nodes on the minimum rank belong to some subgraph
+ whose rank attribute is "source" or "min". Analogous criteria hold for
+ rank="max" and rank="sink". (Note: the minimum rank is topmost or
+ leftmost, and the maximum rank is bottommost or rightmost.)
+rankdir
+ Sets direction of graph layout. If rankdir="LR", the graph is laid out
+ from left to right, i.e., directed edges tend to go from left to right.
+ By default, graphs are laid out from top to bottom.
+ranksep
+ In dot, this the gives desired rank separation, in inches. This is the
+ minimum vertical distance between the bottom of the nodes in one rank
+ and the tops of nodes in the next. If the value contains "equally", the
+ centers of all ranks are spaced equally apart. Note that both settings
+ are possible, e.g., ranksep = "1.2 equally". In twopi, specifies radial
+ separation of ranks.
+ratio
+ Sets the aspect ratio (drawing height/drawing width) for the drawing.
+ Note that this is adjusted before the size attribute constraints are
+ enforced.
+
+ If ratio is numeric, it is taken as the desired aspect ratio. Then, if
+ the actual aspect ratio is less than the desired ratio, the drawing
+ height is scaled up to achieve the desired ratio; if the actual ratio
+ is greater than that desired ratio, the drawing width is scaled up.
+
+ If ratio = "fill" and the size attribute is set, the drawing is scaled
+ to achieve the aspect ratio implied by size. As size is set, when the
+ drawing is later scaled to fit that rectangle, the resulting picture
+ will fill the rectangle.
+
+ If ratio = "compress" and the size attribute is set, dot attempts to
+ compress the initial layout to fit in the given size. This achieves a
+ tighter packing of nodes but reduces the balance and symmetry.
+
+ If ratio = "auto", the page attribute is set and the graph cannot be
+ drawn on a single page, then size is set to an ``ideal'' value. In
+ particular, the size in a given dimension will be the smallest integral
+ multiple of the page size in that dimension which is at least half the
+ current size. The two dimensions are then scaled independently to the
+ new size.
+rects
+ Rectangles for fields of records, in points.
+regular
+ If true, force polygon to be regular.
+remincross
+ If true and there are multiple clusters, run cross minimization a
+ second time.
+rotate
+ If 90, set drawing orientation to landscape.
+samehead
+ Edges with the same head and the same samehead value are aimed at the
+ same point on the head.
+sametail
+ Edges with the same tail and the same sametail value are aimed at the
+ same point on the tail.
+samplepoints
+ If the input graph defines the vertices attribute, and output is plain*
+ or attributed dot, this give the number of points used to represent
+ circles and ellipses. It plays the same role in neato, when adjusting
+ the layout to avoid overlapping nodes.
+searchsize
+ During network simplex, maximum number of edges with negative cut
+ values to search when looking for one with minimum cut value.
+sep
+ Fraction to increase polygons (multiply coordinates by 1 + sep) for
+ purposes of determining overlap. Guarantees a minimal non-zero distance
+ between nodes.
+shape
+ Set shape of node.
+shapefile
+ For output format is ps* or svg*, if non-empty, taken as a filename
+ containing a device-dependent description of a node's shape.
+showboxes
+ Print guide boxes in PostScript at the beginning of routesplines if 1,
+ or at the end if 2. (Debugging)
+sides
+ Number of sides if shape=polygon.
+size
+ Maximum width and height of drawing, inches. If defined and the drawing
+ is too large, the drawing is uniformly scaled down so that it fits
+ within the given size. Note that there is some interaction between the
+ size and ratio attributes.
+skew
+ Skew factor for shape=polygon. Positive values skew top of polygon to
+ right; negative to left.
+splines
+ If true, draw edges as splines. This requires non-overlapping nodes
+ (cf. overlap).
+start
+ Parameter used to determine the initial layout of nodes. By default,
+ nodes are randomly placed in a square whose sides have length (#
+ nodes). The same seed is always used for the random number generator,
+ so the initial placement is repeatable. If start converts to an
+ integer, this is used as a seed value for the random number generator.
+ If start is "regular", the nodes are placed regularly about a circle.
+ Finally, if start is defined but is not one of the above cases, the
+ current time is used to pick a seed.
+style
+ Set style for node or edge. For cluster subgraph, if "filled", the
+ cluster box's background is filled.
+stylesheet
+ The URL of a CSS stylesheet to be referenced from the output file.
+ Relevant only for SVG output.
+tailURL
+ When the output format is imap, or cmap, if tailURL is defined, it is
+ output as part of the tail label of the edge. If tailURL
+ contains "\N", this will be replaced by the tail label text.
+taillabel
+ Text label to be placed near tail of edge.
+tailport
+ Indicates where on the tail node to attach the tail of the edge.
+toplabel
+ Additional label near top of nodes of shape M*.
+vertices
+ If the input graph defines this attribute, the node is polynomial, and
+ output is plain* or attributed dot, this attribute provides the
+ coordinates of the vertices of the node's polynomial, in points. If the
+ node is an ellipse or circle, the samplepoints attribute affects the
+ output.
+voro_margin
+ Factor to scale up drawing to allow margin for expansion in Voronoi
+ technique. dim' = (1+2*margin)*dim.
+w
+ Redundant definition of weight in neato, cf. bug 9.
+weight
+ Weight of edge. Usually, the heavier the weight, the shorter (and, in
+ dot, straighter and more vertical) an edge is.
+width
+ Width of node, in inches.
+z
+ Provides z coordinate for the node when output format is VRML.
+
+ ------------------------------------------------------------------------
+
+Attribute Type Descriptions
+
+arrowType
+ "normal" "inv"
+
+ "dot" "invdot"
+
+ "odot" "invodot"
+
+ "none"
+clusterMode
+ "local","global","none"
+color
+ "#%2x%2x%2x" RGB
+ "#%2x%2x%2x%2x"RGBA
+ "%lf,%lf,%lf" HSV 0.0 <= values <= 1.0
+ string color name
+dirType
+ For an edge T -> H;
+
+ "forward" "back"
+
+ "both" "none"
+
+ For undirected edges T -- H;, one of the nodes, usually the righthand
+ one, is treated as the head for the purpose of interpreting "forward"
+ and "back".
+layerList
+ list of strings separated by colons, tabs or spaces, defining layer
+ names and implicitly numbered 1,2,...
+layerRange
+ layerId or layerId[:\t ]layerId,
+ where layerId = "all", decimal integer or layer name. (An integer i
+ corresponds to layer i.)
+pagedir
+ "BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT". These specify the 8 row
+ or column major orders for traversing a rectangular array, the first
+ character corresponding to the major order and the second to the minor
+ order. Thus, for "BL", the major order is from bottom to top, and the
+ minor order is from left to right. This means the bottom row is
+ traversed first, from left to right, then the next row up, from left to
+ right, and so on, until the topmost row is traversed.
+point
+ "%d,%d"('!') representing the point (x,y). The optional '!' indicates
+ the node position should not change (input-only).
+pointf
+ "%lf,%lf" representing the point (x,y).
+pointfList
+ list of pointf, separated by spaces.
+portPos
+ "n","ne","e","se","s","sw","w","nw" These correspond to the obvious
+ compass points on the node.
+rankType
+ "same", "min", "source", "max", "sink"
+rankdir
+ "LR". Any other value corresponds to a top-down layout.
+rect
+ "%d,%d,%d,%d" The rect llx,lly,urx,ury gives the coordinates, in
+ points, of the lower-left corner (llx,lly) and the upper-right corner
+ (urx,ury).
+shape
+ A string specifying the shape of a node. There are three main types of
+ shapes : polygon-based, record-based and PostScript-based.
+splineType
+ spline ( ';' spline )*
+ where spline= (endp)? (startp)? point (triple)]*
+ and triple = point point point
+ and endp = "e,%d,%d"
+ and startp = "s,%d,%d"
+ If a spline has points p1 p2 p3 ... pn, (n = 1 (mod 3)), the points
+ correspond to the control points of a B-spline from p1 to pn. If startp
+ is given, it touches one node of the edge, and the arrowhead goes from
+ p1 to startp. If startp is not given, p1 touches a node. Similarly for
+ pn and endp.
+style
+ styleItem ( ',' styleItem )*
+ where styleItem= name or name'('args')'
+ and args = name ( ',' name )*
+ and name = [^)(, ][^)(,]*
+ At present, the recognized style names comprise "dashed", "dotted",
+ "solid", "invis" and "bold" for nodes and edges, and "filled",
+ "diagonals" and "rounded" for nodes only. Additional styles are
+ available in device-dependent form. Style lists are passed to device
+ drivers, which can use this to generate appropriate output.
+
+ Note that, at present, "rounded" cancels "filled", except for circles
+ and ellipses. This holds for the Mrecord shape, which is rounded by
+ definition.
+
+ ------------------------------------------------------------------------
+
+Output Formats
+
+ ------------------------------------------------------------------------
+The output format is specified with the -Tlang flag on the command line,
+ where lang is one of the following:
+ Command-line
+ parameter Format
+ canon
+ cmap Client-side imagemap
+ dot DOT
+ fig FIG
+ gd
+ gd2 GD/GD2 formats
+ gif GIF
+ hpgl HP-GL/2
+ imap Server-side imagemap
+ ismap Server-side imagemap (deprecated)
+ jpg
+ jpeg JPEG
+ mif FrameMaker MIF format
+ mp MetaPost
+ pcl PCL
+ pic PIC
+ plain
+ plain-ext Simple text format
+ png Portable Network Graphics format
+ ps PostScript
+ ps2 PostScript for PDF
+ svg
+ svgz Scalable Vector Graphics
+ vrml VRML
+ vtx Visual Thought format
+ wbmp Wireless BitMap format
+ ------------------------------------------------------------------------
+
+Format Descriptions
+
+canon ,
+dot
+ These two formats produce output in variations of the dot language.
+ Using canon produces a prettyprinted version of the input, with no
+ layout performed.
+
+ dot corresponds to attributed dot, and is the default output format. It
+ reproduces the input, along with layout information for the graph. In
+ particular, a bb attribute is attached to the graph, specifying the
+ bounding box of the drawing. If the graph has a label, its position is
+ specified by the lp attribute.
+
+ Each node gets pos, width and height attributes. If the node is a
+ record, the record rectangles are given in the rects attribute. If the
+ node is a polygon and the vertices attribute is defined, this attribute
+ contains the vertices of the node.
+
+ Every edge is assigned a pos attribute, and if the edge has a label,
+ the label position is given in lp.
+fig
+ Outputs graphs in the FIG graphics language.
+gd ,
+gd2
+ Output images in the GD and GD2 format. These are the internal formats
+ used by the gd library. The latter is compressed.
+gif
+ Outputs GIF bitmap images.
+hpgl
+ Produces output in the HP-GL/2 vector graphic printer language.
+imap
+cmap
+ Produces map files for server-side and client-side image maps,
+ respectively. These can be used in a web page with a graphical
+ form of the output, e.g. in JPEG or GIF format, to attach links
+ to nodes and edges. For example, given the dot file
+
+ /* x.dot */
+ digraph G {
+ URL="http://www.research.att.com/";
+ command [URL="command.html"];
+ command -> output [URL="colors.html"];
+ }
+
+
+ this can be processed twice:
+
+ dot -Timap > x.map
+ dot -Tgif > x.gif
+
+
+ and then be referred to in a web page, such as
+
+ <A HREF="x.map">
+ <IMG SRC="x.gif" ISMAP>
+ </A>
+
+
+ URLs can be attached to the root graph, nodes and edges. If the URL of
+ a node contains the escape sequence "\N", it will be replaced by the
+ node's name. If an edge has a URL, various points along the edge (but
+ not the head or tail) will link to it. In addition, if the edge has a
+ label, that will link to the URL.
+
+ As for the head of the edge, this is linked to the headURL, if set.
+ Otherwise, it is linked to the edge's URL if that is defined. If the
+ headURL contains the escape sequence "\N", it will be replaced by the
+ headlabel, if defined. The analogous description holds for the tail,
+ tailURL and taillabel.
+ismap
+ Produces HTML image map files. This is a predecessor (circa 1994) of
+ the IMAP format. Most servers now user the latter. URLs can be attached
+ to the root graph, nodes and edges. Since edge links are attached to
+ edge labels, an edge must have a label for its URL to be used. For both
+ nodes and edges, if the URL has the escape sequence "\N" embedded in
+ its string, this will be replaced with the node or edge name.
+jpg ,
+jpeg
+ Output JPEG compressed image files. This format relies on the
+ installation having the JPEG library.
+mif
+ Generates Frame Maker MIF files.
+mp
+ Produces MetaPost output.
+pcl
+ Produces output in the PCL printer language. HP-GL is a subset of PCL,
+ so that PCL output is the same as HP-GL, wrapped with some initial and
+ final commands to set the printer to and from HP-GL mode.
+pic
+ Outputs in PIC, the picture description language in the troff-family
+plain ,
+plain-ext
+ The plain and plain-ext formats produce output using a simple,
+ line-based language. The latter format differs in that, on edges, it
+ provides port names on head and tail nodes when applicable.
+
+ There are four types of statements.
+
+ graph scale width height
+ node name x y width height label style shape color fillcolor
+ edge tail head n x1 y1 .. xn yn [label xl yl] style color
+ stop
+
+
+ graph
+ The width and height values give the width and height of the
+ drawing. The lower left corner of the drawing is at the origin.
+ The scale value indicates how the drawing should be scaled if a
+ size attribute was given and the drawing needs to be scaled to
+ conform to that size. If no scaling is necessary, it will be set
+ to 1.0. Note that all graph, node and edge coordinates and lengths
+ are given unscaled.
+ node
+ The name value is the name of the node, and x and y give the
+ node's position. The width and height are the width and height of
+ the node. The label, style, shape, color and fillcolor give the
+ node's label, style, shape, color and fillcolor, respectively,
+ using attribute default values where necessary. If the node does
+ not have a style attribute, "solid" is used.
+ edge
+ The tail and head values give the names of the head and tail
+ nodes. n is the number of control points defining the B-spline
+ forming the edge. This is followed by 2*n numbers giving the x and
+ y coordinates of the control points in order from tail to head. If
+ the edge has a label, this comes next followed by the x and y
+ coordinates of the label's position. The edge description is
+ completed by the edge's style and color. As with nodes, if a style
+ is not defined, "solid" is used.
+ The output consists of one graph line, a sequence of node lines, one
+ per node, a sequence of edge lines, one per edge, and a final stop
+ line. All units are in inches, represented by a floating point number.
+png
+ Produces output in the PNG (Portable Network Graphics) format. PNG
+ relies on having libz and the PNG library.
+ps
+ Produces PostScript output.
+ps2
+ Produces PostScript output with PDF notations. It is assumed the output
+ will be directly converted into PDF format. The notations include PDF
+ bounding box information, so that the resulting PDF file can be
+ correctly used with pdf tools, such as pdflatex. In addition, if a node
+ has a URL attribute, this gets translated into PDF code such that the
+ node, when viewed in a PDF-viewer, e.g., acroread, is a link to the
+ given URL. If a URL is attached to the graph, this serves as a base,
+ such that relative URLs on nodes are derived from it.
+svg ,
+svgz
+ Produce SVG output, the latter in compressed format. SVG relies on
+ having libz.
+vrml
+ Outputs graphs in the VRML format. VRML relies on having the PNG
+ library.
+vtx
+ Generates graph diagrams in the format for Confluents's Visual Thought.
+wbmp
+ Produces output in the Wireless BitMap (WBMP) format, optimized for
+ mobile computing.
+
+ ------------------------------------------------------------------------
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/NEWS b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/NEWS
new file mode 100644
index 0000000..0adeeab
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/NEWS
@@ -0,0 +1,3 @@
+Notes on 2.0
+
+This release is licensed under the CPL.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/addingLayout.txt b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/addingLayout.txt
new file mode 100644
index 0000000..777b132
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/addingLayout.txt
@@ -0,0 +1,200 @@
+New layout: xxx
+
+Entry points:
+
+========================
+
+ void xxx_layout(Agraph_t * g)
+
+ Initialize the graph.
+ - If the algorithm will use the common edge routing code, it should
+ call setEdgeType (g, ...);
+
+ - For each node, call common_init_node and gv_nodesize.
+
+ If the algorithm will use spline_edges() to route the edges, the
+ node coordinates need to be stored in ND_pos, so this should be
+ allocated here. This, and the two calls mentioned above, are all
+ handled by a call to neato_init_node().
+
+ - For each edge, call common_init_edge
+
+ - The algorithm should allocate whatever other data structures it
+ needs. This can involve fields in the A*info_t fields. In addition,
+ each of these fields contains a void* alg; subfield that the algorithm
+ can use the store additional data.
+ Once we move to cgraph, this will all be replace with
+ algorithm specific records.
+
+ Layout the graph. When finished, each node should have its coordinates
+ stored in points in ND_coord_i(n), each edge should have its layout
+ described in ED_spl(e). Note: If spline_edges() is used, the coordinates
+ in ND_pos will be correctly copied into ND_coord_i.
+
+ If the algorithm only works with connected components, the code can
+ use the pack library to get components, lay them out individually, and
+ pack them together based on user specifications. A typical schema is
+ given below. One can look at the code for twopi, circo, neato or fdp
+ for more detailed examples.
+
+ Agraph_t **ccs;
+ Agraph_t *sg;
+ Agnode_t *c = NULL;
+ int ncc;
+ int i;
+
+ ccs = ccomps(g, &ncc, 0);
+ if (ncc == 1) {
+ /* layout nodes of g */
+ adjustNodes(g); /* if you need to remove overlaps */
+ spline_edges(g); /* generic edge routing code */
+
+ } else {
+ pack_info pinfo;
+ pack_mode pmode = getPackMode(g, l_node);
+
+ for (i = 0; i < ncc; i++) {
+ sg = ccs[i];
+ /* layout sg */
+ adjustNodes(sg); /* if you need to remove overlaps */
+ }
+ spline_edges(g); /* generic edge routing */
+
+ /* initialize packing info, e.g. */
+ pinfo.margin = getPack(g, CL_OFFSET, CL_OFFSET);
+ pinfo.doSplines = 1;
+ pinfo.mode = pmode;
+ pinfo.fixed = 0;
+ packSubgraphs(ncc, ccs, g, &pinfo);
+ }
+ for (i = 0; i < ncc; i++) {
+ agdelete(g, ccs[i]);
+ }
+
+ free(ccs);
+
+ Be careful in laying of subgraphs if you rely on attributes that have
+ only been set in the root graph. With connected components, edges can
+ be added with each component, before packing (as above) or after the
+ components have been packed (see circo).
+
+ It good to check for trivial cases where the graph has 0 or 1 nodes,
+ or no edges.
+
+ At the end of xxx_layout, call
+
+ dotneato_postprocess(g);
+
+======================
+
+ void xxx_cleanup(Agraph_t * g)
+
+ Free up any resources allocated in the layout.
+
+ Finish with calls to gv_cleanup_node and gv_cleanup_edge for
+ each node and edge. This cleans up splines labels, ND_pos, shapes
+ and 0's out the A*info_t, so these have to occur last, but could be
+ part of explicit xxx_cleanup_node and xxx_cleanup_edge, if desired.
+ At the end, we usually include
+
+ if (g != g->root) memset(&(g->u), 0, sizeof(Agraphinfo_t));
+
+ libgvc does a final cleanup to the root graph, freeing any drawing,
+ freeing its label, and zeroing out Agraphinfo_t of the root graph.
+
+==================
+
+Most layouts use auxiliary routines similar to neato, so
+the entry points can be added in plugin/neato_layout
+
+Add to gvlayout_neato_layout.c:
+
+gvlayout_engine_t xxxgen_engine = {
+ xxx_layout,
+ xxx_cleanup,
+};
+
+and the line
+
+ {LAYOUT_XXX, "xxx", 0, &xxxgen_engine, &neatogen_features},
+
+to gvlayout_neato_types and a new emum
+
+ LAYOUT_XXX
+
+to layout_type in that file.
+
+The above allows the new layout to piggyback on top of the neato
+plugin, but requires rebuilding the plugin. In general, a user
+can (and probably should) build a layout plugin totally separately.
+
+To do this, after writing xxx_layout and xxx_cleanup, it is necessary to:
+
+ - add the types and data structures
+
+typedef enum { LAYOUT_XXX } layout_type;
+
+static gvlayout_features_t xxxgen_features = {
+ 0
+};
+gvlayout_engine_t xxxgen_engine = {
+ xxx_layout,
+ xxx_cleanup,
+};
+static gvplugin_installed_t gvlayout_xxx_types[] = {
+ {LAYOUT_XXX, "xxx", 0, &xxxgen_engine, &xxxgen_features},
+ {0, NULL, 0, NULL, NULL}
+};
+static gvplugin_api_t apis[] = {
+ {API_layout, &gvlayout_xxx_types},
+ {(api_t)0, 0},
+};
+gvplugin_library_t gvplugin_xxx_layout_LTX_library = { "xxx_layout", apis };
+
+ - combine all of this into a dynamic library whose name contains the
+ string "gvplugin_" and install the library in the same directory as the
+ other Graphviz plugins. For example, on Linux systems, the dot layout
+ plugin is in the library libgvplugin_dot_layout.so.
+
+ - run
+ dot -C
+ to regenerate the config file.
+
+NOTES:
+ - Additional layouts can be added as extra lines in gvlayout_xxx_types.
+ - Obviously, most of the names and strings can be arbitrary. One
+ constraint is that external identifier for the gvplugin_library_t
+ type must end in "_LTX_library". In addition, the string "xxx" in
+ each entry of gvlayout_xxx_types is the name used to identify the
+ layout algorithm, so needs to be distinct from any other layout name.
+ - The features of a layout algorithm are currently limited to a
+ flag of bits, and the only flag supported is LAYOUT_USES_RANKDIR,
+ which enables the layout to the rankdir attribute.
+
+Changes need to be made to any applications, such as gvedit, that
+statically know about layout algorithms.
+
+==================
+
+Software configuration - automake
+
+If you want to integrate your code into the Graphviz software
+and use its build system, follow the instructions below.
+You can certainly build and install your plugin using your own
+build software.
+
+0. Put your software in lib/xxxgen, and added the hooks describe above
+into gvlayout_neato_layout.c
+1. In lib/xxxgen, provide a Makefile.am (based on a simple example
+like lib/fdpgen/Makefile.am)
+3. In lib/Makefile.am, add xxxgen to SUBDIRS
+2. In configure.ac, add lib/xxxgen/Makefile to AC_CONFIG_FILES.
+4. In lib/plugin/neato_layout/Makefile.am, insert
+ $(top_builddir)/lib/xxxgen/libxxxgen_C.la
+ in libgvplugin_neato_layout_C_la_LIBADD
+5. Remember to run autogen.sh because on its own configure can guess wrong.
+
+This also assumes you have a good version of the various automake tools
+on your system.
+
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/cpl1.0.txt b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/cpl1.0.txt
new file mode 100644
index 0000000..c9990a7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/cpl1.0.txt
@@ -0,0 +1,213 @@
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are not
+derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and such
+derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed
+Patents to make, use, sell, offer to sell, import and otherwise transfer the
+Contribution of such Contributor, if any, in source code and object code form.
+This patent license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor, such
+addition of the Contribution causes such combination to be covered by the
+Licensed Patents. The patent license shall not apply to any other combinations
+which include the Contribution. No hardware per se is licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses
+to its Contributions set forth herein, no assurances are provided by any
+Contributor that the Program does not infringe the patent or other intellectual
+property rights of any other entity. Each Contributor disclaims any liability to
+Recipient for claims brought by any other entity based on infringement of
+intellectual property rights or otherwise. As a condition to exercising the
+rights and licenses granted hereunder, each Recipient hereby assumes sole
+responsibility to secure any other intellectual property rights needed, if any.
+For example, if a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient's responsibility to acquire that license
+before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license set
+forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its
+own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title and
+non-infringement, and implied warranties or conditions of merchantability and
+fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered
+by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on or
+through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor to
+control, and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may participate in
+any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its exercise of
+rights under this Agreement, including but not limited to the risks and costs of
+program errors, compliance with applicable laws, damage to or loss of data,
+programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to
+a patent applicable to software (including a cross-claim or counterclaim in a
+lawsuit), then any patent licenses granted by that Contributor to such Recipient
+under this Agreement shall terminate as of the date such litigation is filed. In
+addition, if Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or hardware)
+infringes such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue and
+survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to serve
+as the Agreement Steward to a suitable separate entity. Each new version of the
+Agreement will be given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the Agreement
+under which it was received. In addition, after a new version of the Agreement
+is published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated in Sections
+2(a) and 2(b) above, Recipient receives no rights or licenses to the
+intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial in
+any resulting litigation.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/fontfaq.txt b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/fontfaq.txt
new file mode 100644
index 0000000..b5d790b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/fontfaq.txt
@@ -0,0 +1,319 @@
+Graphviz and fonts.
+===================
+
+Before we launch into the gory details, we would like to explain
+why this is a hard problem. The naming and rendering of text fonts
+in Graphviz (and other programs) is complicated. There are several reasons:
+
+- Graphviz runs on a wide range of systems: Linux and other Unix
+variants, Microsoft Windows, and Mac.
+- Graphviz has a wide range of output formats: raster-oriented formats
+like PNG and GIF; path-based ones like Postscript, PDF and SVG; some
+idiosyncractic legacy formats, like troff PIC and HPGL.
+- Often, output will be downloaded and displayed on a computer or other
+device, different than the one where the layout was created.
+- Graphviz layouts should be identical in size and appearance,
+regardless of the output format.
+- Graphviz can run on external libraries that help with naming and
+rendering text fonts, but they are not required, and stripped-down
+Graphviz tools can be built without them. In fact, Graphviz may have
+to run on systems with no font files installed.
+- There are several major font file formats to be supported.
+- Non-Western, international character sets should be supported.
+- Graphviz should provide a good set of standard fonts.
+- It should be easy to specify standard fonts.
+- Users should be able to load their own custom fonts.
+- Output should be small to download quickly.
+- Output should allow the best rendering possible in a given format.
+- Output files should be easy to postprocess, for example, retaining
+the objects of the original graph if possible.
+- It is very helpful to work around known bugs or missing features
+in support libraries and popular external tools.
+
+This is a tall order. Some of the goals conflict. Generally our
+approach has been to define defaults that favor convenience and good
+looking output, and give the user options to override the defaults.
+
+===Overview===
+
+In the following, we will assume a ''standard'' version of Graphviz
+with the full set of support libraries (fontconfig, gd, Cairo and Pango),
+running on a desktop system or server with a standard installation of
+font files.
+
+The graphviz layout engines (dot, neato, etc) create layouts with nodes
+sized to enclose the text labels. This requires knowing the size of
+the text blocks, which in turn requires knowing the metrics of the font
+glyphs and their composition into words, taking into account wordspacing,
+kerning, hinting, etc. So the overall process is: font specification,
+then text layout, followed by Graphviz output (and final rendering on
+the target display or device, which may or may not be by a Graphviz tool.)
+
+
+A font is usually selected by family name ("fontname") and other properties
+(see below: "Font selection"). Then fontconfig matches the request
+to a system font. [Note: in older versions of Graphviz, fontname was
+simply a file name. This required exact file name matching (with a little
+bit of helpful name mangling under the hood, e.g. translating Times-Roman
+to Times, or Helvetica to Arial on Windows systems (and yes we know
+there is a difference). Under fontconfig, fontnames are family names,
+which fontconfig matches to the closest font it finds. This always
+"succeeds", but unfortunately produces surprising results if fontconfig's
+idea of "close" doesn't match yours. This can happen when you specify
+a custom (or just nonexistent) font, like Steve-North-Handwriting,
+and fontconfig silently falls back to something safe like a typewriter
+font.]
+
+Text layout is performed by pango, which accepts text and computes a
+layout with metrics that determine node sizes.
+
+Though line drawing is provided by cairo for many output formats (and
+likely more in the future), for raster output formats, font rendering
+is passed though cairo to freetype. Freetype is also called if gd is
+used for drawing. (gd can also be requested explicitly, e.g. dot -Tpng:gd,
+or by default when Graphviz is built without cairo). Freetype provides
+antialiasing, hinting, kerning, and other low-level font features.
+
+Font metrics are obtained from the fonts installed on the system running
+Graphviz. Results are guaranteed when Graphviz outputs raster formats,
+because freetype immediately renders the fonts into pixels. On the
+other hand, with path-based formats like Postscript (-Tps) and SVG (-Tsvg),
+final rendering may be done on a different platform altogether, with
+different font files installed. Clearly, Your Milage May Vary. In the
+case of Postscript, the driver in Graphviz passes the expected metrics
+of the text block down to the renderer, and asks it to make a final stretch
+(or squeeze) to force the text to fit the metrics that were in effect at
+layout time. In Graphviz SVG, there is only a hope and a prayer that
+the SVG rendering program's fonts match the ones fontconfig and freetype
+used when Graphviz was run. (More about this later.)
+
+Default fonts and PostScript fonts. ===================================
+
+The default font in graphviz is, and always has been, Times-Roman.
+
+Graphviz has historically supported some ``standard'' Postscript
+fonts, initially, Times-Roman, Helvetica, Courier and Symbol.
+This list was later enlarged by Adobe to include 35 fonts, which are:
+ AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi
+ AvantGarde-DemiOblique Bookman-Demi Bookman-DemiItalic
+ Bookman-Light Bookman-LightItalic Courier Courier-Bold
+ Courier-BoldOblique Courier-Oblique Helvetica
+ Helvetica-Bold Helvetica-BoldOblique Helvetica-Narrow
+ Helvetica-Narrow-Bold Helvetica-Narrow-BoldOblique
+ Helvetica-Narrow-Oblique Helvetica-Oblique NewCenturySchlbk-Bold
+ NewCenturySchlbk-BoldItalic NewCenturySchlbk-Italic
+ NewCenturySchlbk-Roman Palatino-Bold Palatino-BoldItalic
+ Palatino-Italic Palatino-Roman Symbol Times-Bold Times-BoldItalic
+ Times-Italic Times-Roman ZapfChancery-MediumItalic ZapfDingbats
+
+Unfortunately, fontconfig doesn't recognize PostScript-style font
+names directly, so Graphviz makes custom mappings from its list of
+PostScipt names into fontconfig family names for use in all cairo
+and gd based renderers. In -Tps output, these fonts are used without
+name translation.
+
+Font selection. ===============
+
+The fontname attribute in .dot graphs is a fontconfig style specification.
+From: http://www.fontconfig.org/fontconfig-user.html
+
+ Fontconfig provides a textual representation for patterns that
+ the library can both accept and generate. The representation is
+ in three parts, first a family name list, second list of point sizes,
+ and finally a list of additional properties:
+
+ <families>-<point sizes>:<name1>=<values1>:<name2>=<values2>...
+
+ Values in a list are separated with commas. The name needn't
+ include either a family or point size; they can be elided. In
+ addition, there are symbolic constants that simultaneously
+ indicate both a name and a value. Here are some examples:
+
+ Name Meaning
+ ----------------------------------------------------------
+ Times-12 12 point Times Roman
+ Times-12:bold 12 point Times Bold
+ Courier:italic Courier Italic in the default size
+ Monospace:matrix=1 .1 0 The users preferred monospace font
+ with artificial obliquing
+
+Graphviz currently has a seperate attribute for specififying fontsize.
+
+[ FIXME
+ We should allow the fontconfig style specification. "Times-20" does
+ not currently result in a 20pt font.
+
+ This is probably because of special treatment of '-' for postscript
+ font names.
+]
+
+[ FIXME
+ We seem to have a bug with use of ':' in fontnames, probably because
+ of special treatment for filenames in Windows.
+
+ In fontnames, use <space> instead of ':' to separate values.
+
+ -Nfontname="Courier:italic" doesn't produce an italic font in
+ graphviz-2.16.1, but: -Nfontname="Courier italic" works, but
+ -Nfontname="Monospace matrix=1 .1 0 1" doesn't.
+]
+
+
+Font management with fontconfig. ================================
+
+How can I tell what fonts are available?
+ $ fc-list
+
+How can I tell what fonts dot is using;
+ $ dot foo.dot -Tpng -o foo.png -v 2>&1 | grep font
+
+How can I add a custom font?
+ In the current version of Graphviz with fontconfig, Cairo and
+ Pango, this cannot be done by simply putting a file in the
+ current directory or setting the DOTFONTPATH path variable.
+ Your custom font must be explicitly installed by fontconfig tools.
+
+ For a single font, e.g., foo.ttf:
+ $ mkdir -p ~/.fonts
+ $ cp foo.ttf ~/.fonts/
+
+ One can run fc-cache to speed up the use of fontconfig.
+ $ fc-cache
+
+ For Windows users, one can go to the C:\windows\fonts
+ folder and use File -> Install New Font from the pull-down menus
+ to install the font.
+
+ For a new font directory, e.g., /Library/Fonts, add a new <dir> element
+
+ <dir>/Library/Fonts</dir>
+
+ to a .conf file. Note that the file must have a correct xml structure
+ as specified by the fontconfig fonts.dtd. Possible choices for the
+ .conf file are local.conf in the same directory as the system-wide
+ fonts.conf file, or .fonts.conf in your home directory.
+
+How can I ... font?
+ See: http://www.fontconfig.org/fontconfig-user.html
+
+Can I specifiy a font by filename instead of by familyname?
+ Sorry, the answer is no. {The reason is that for this to
+ work, Graphviz has to intercept the font lookup before
+ fontconfig is called, and this can't be done when fonts
+ are being looked up by Pango.)
+
+ Some versions of fontconfig appear to recognize pathnames and
+ attempt to use that, but this isn't always the case.
+
+How can I be sure that a specific font is selected?
+ Provide enough specification in the fontname, and test it
+ with fc-match to ensure that your desired font is selected.
+ (Note, this will not ensure that the same font is used in -Tps
+ or -Tsvg renderings where we rely on the fonts available on the
+ final printer or computer.)
+
+ Note the downside, as mentioned previously, is that Graphviz cannot
+ do much to warn you when fontconfig didn't find a very
+ good match, because fontconfig just cheerfully falls back
+ to some standard font. It would be really nice if the
+ fontconfig developers could provide a metric reflecting the
+ quality of the font match in their API.
+
+What about SVG fonts?
+ Graphviz has a native SVG driver that we wrote (which is the
+ default), and cairo's SVG driver (which you get with -Tsvg:cairo).
+
+ Graphviz' native SVG driver generates Windows compliant names
+ like "Times New Roman" or Arial by default. The names work in a
+ lot of situations (like Firefox running on Windows), but are
+ not guaranteed to be portable. If you set -Gfontnames=ps,
+ you get Postscript names like Times-Roman. If you set -Gfontnames=svg
+ you are guaranteed to get rock solid standards compliant SVG.
+ The SVG standard says that the legal generic font names
+ are Serif, Sans-Serif, and Monospace (plus Cursive and
+ Fantasy which we don't use in Graphviz). We generate those names.
+ The bad news is that various downstream renderers and editors
+ may resolve the generic font names differently, so it's not
+ quite clear how your SVG will look. Many W3C examples show
+ how to use CSS (Cascading Style Sheets) to get around this
+ problem by giving a list of font family names in order of
+ lookup precedence, but some downstream processors (like the
+ inkscape editor in Linux) don't implement CSS, so we're up a tree here.
+
+ The cairo SVG driver solves this in an effective though brute
+ force way: it simply encodes embeds the needed fonts as lines and
+ curves in the target SVG. For small examples, -Tsvg:cairo is
+ about 10 times bigger than -Tsvg, but maybe it's worth it for
+ correctness. The other problem is that such SVG is much much
+ slower to render, no doubt because it bypasses any system
+ font rendering services, and does it the old fashioned way.
+
+What about Postscript fonts?
+
+ say something here. What about non-ASCII like Latin1.
+ what about loading your own fonts via -L like in the old
+ days with the weird outline font example.
+
+==="What if" issues for nonstandard Graphviz builds===
+The following only apply if you build your own version of Graphviz
+by configuring and compiling the source code to build your own
+custom executable. If you don't know what this means, it
+definitely does not mean you.
+
+No freetype. ============
+
+When graphviz is built on systems without freetype, then only the gd
+renderer will be available for bitmap outputs, and the only available
+fonts are a small set of builtin bitmap fonts. The poor quality of
+these fonts will be evident, also, "dot ... -v 2>&1 | grep font" will
+say that the font is "<internal>". This may actually be desirable
+for installing minimal graphviz programs on a server where fonts
+may not even be installed.
+
+
+No fontconfig. ==============
+
+If graphviz is built on systems without fontconfig (e.g. Redhat-7) then
+the fontname attribute will be interpreted as a font file name. The
+system directories will be searched for this, or the directories can
+be specified with the GDFONTPATH environment variable (or DOTFONTPATH
+for historical reasons). Graphviz will use gd and freetype to obtain
+metrics and render text. No pango/cairo renderers will be available
+without fontconfig support.
+
+
+Disabling fontconfig. =====================
+
+Pango/cairo depends on fontconfig, so to disable fontconfig you also have
+to disable pango/cairo. The easiest way to do this temporarily is to
+edit /usr/lib/graphviz/config and remove the entire "libpango" block.
+[Note that any changes to this file will be lost the next time graphviz
+is updated, or "dot -c" is run with installer priviledges.]
+
+With pango disabled, graphviz will use gd which, even if it was built with
+fontconfig support, will still allow fontnames to be given as filenames.
+
+You can also disable cairopango at build time with configure script options.
+
+
+No gd. =====
+
+Cairopango works without gd. We are moving graphviz to the pango/cairo
+libraries, but gd still offers some features that are hard to replace,
+such as JPEGs, GIFs and paletted color bitmap outputs. However, font support
+is fully functional without gd so long as pango, cairo, fontconfig,
+freetype are available.
+
+No pango/cairo. ===============
+
+Without pango/cairo, some of the key renderers are only available
+with gd, which produces lower quality (but smaller) output.
+
+Looking forward, we expect to depend more on pango for things like:
+line wrapping, multiple fonts per label, bidirectional text and
+other internationalization features.
+
+No gd and no cairopango =====
+This is basically the original Graphviz without any external fonts.
+It cannot render any raster formats, so it's mainly good for Postscript.
+It relies on a few internal font tables
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/FAQ.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/FAQ.html
new file mode 100644
index 0000000..f3119b1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/FAQ.html
@@ -0,0 +1,1066 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><TITLE>Graphviz FAQ 2008-06-06</TITLE>
+<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
+</HEAD><BODY>
+<H1>Graphviz FAQ 2008-06-06</H1>
+
+<A HREF="mailto:gviz-bugs@research.att.com">The Graphviz Project</A>
+<p>
+<b>Note</b>:
+This is not a tutorial; to understand the following, you should
+know how to use the basic features of the tools and
+languages involved. Please see the
+<A HREF="http://www.graphviz.org/Documentation.php">
+user guides and documentation</A> for further information or the
+<A HREF="http://www.graphviz.org/Resources.php">resources page</A>
+for a partial list of compatible tools and packages.
+
+<h2>General</h2>
+
+<A name=Q1 HREF=#Q1>
+<B>Q1</A>. Where can I see a list of all the attributes that control dot or neato?</B>
+
+</A>
+<P>
+See <A HREF="info/attrs.html">
+Graph Attributes</A>. There is also information on
+<A HREF="info/command.html">
+command-line usage</A> and
+<A HREF="info/output.html">
+output formats</A>.
+<p>
+<a name="mailinglist"></a>
+<A name=Q2 HREF=#Q2>
+<B>Q2</A>. Where can I discuss Graphviz?</B>
+
+<p>
+We run a mailing list.
+<p>
+To subscribe or unsubscribe, visit the
+<A HREF="https://mailman.research.att.com/mailman/listinfo/graphviz-interest">graphviz-interest</A> <em>mailman</em> control page. See also the general
+<A HREF="http://www.list.org/mailman-member/index.html">
+instructions</A> for mailman.
+<p>
+You can also see the
+<A HREF="https://mailman.research.att.com/pipermail/graphviz-interest/">
+archive</A>.
+<p>
+You may wish to use a Yahoo or Hotmail account if you're concerned
+about spam. We also run anti-spam filters, and rewrite <tt>@</tt>
+as <tt>at</tt> to keep verbatim addresses out of the archive.
+<p>
+Please, please, please, do not torment the mailing list with beginner's
+questions. First, check this FAQ and the
+<A HREF="https://mailman.research.att.com/pipermail/graphviz-interest/">
+message archive</A> carefully.
+Because Graphviz software is made available without charge,
+our resources for routine support are very limited.
+If you run into software build problems with the ``stable'' release,
+you could also try the current <A HREF="http://www.graphviz.org/pub/graphviz/CURRENT/">development snapshot<A>.
+If you are desperate, or better yet, if you have constructive advice,
+please send a message to the <A HREF="https://mailman.research.att.com/mailman/listinfo/graphviz-devel">graphviz-devel mailing list</A>.
+(Note that our local buildlogs are also <A HREF="http://www.graphviz.org/pub/graphviz/ARCHIVE/">online</A>.)
+<p>
+Also, if a program crashes or you get an abort or something strange occurs
+and you are fairly comfortable using the tools:
+<UL>
+<LI>
+Check the
+<A HREF="http://www.research.att.com/~erg/graphviz/bugs/openbugs.html"> open
+bug list</A> to see if a similar bug has already been reported. You might
+also consider checking the
+<A HREF="http://www.research.att.com/~erg/graphviz/bugs/buglist.html"> full
+bug list</A>, since your bug may have been reported and fixed in the working
+version.
+<LI>
+Submit a <A HREF="http://www.research.att.com/~erg/graphviz/bugform.html">bug
+report</A>. If you prefer, you can download a
+<A HREF="http://www.research.att.com/~erg/graphviz/bugform.txt">report in
+text form</A>, fill in the fields, and email it to
+<a href="mailto:gviz-bugs@research.att.com">gviz-bugs@research.att.com</a>.
+</UL>
+<p>
+<A name=Q3 HREF=#Q3>
+<B>Q3</A>. I'm trying to make a layout larger. How?</B>
+
+<p>
+There are various ways to increase the size of a layout. In doing this,
+one has to decide if the sizes of the nodes and text should be
+increased as well.
+<p>
+One approach is to adjust individual
+parameters such as <tt>fontsize, nodesep</tt> and <tt>ranksep</tt>.
+For example,
+<pre>
+ digraph G {
+ graph [fontsize=24];
+ edge [fontsize=24];
+ node [fontsize=24];
+ ranksep = 1.5;
+ nodesep = .25;
+ edge [style="setlinewidth(3)"];
+ a -&gt; b -&gt; c;
+ }
+</pre>
+If you do this, make sure you are not fighting a conflicting graph
+size setting, like <tt>size="6,6"</tt>, which will then scale
+everything back down.
+<p>
+If you are using fdp or neato, increasing the edge len will tend to
+expand the layout.
+<pre>
+ graph G {
+ edge [len=3]
+ a -- { b c d }
+ }
+</pre>
+For twopi and circo, there are other parameters such as
+<tt>ranksep</tt> which can be used. See the
+<A HREF="info/attrs.html">
+graph attributes</A>.
+<p>
+You can also use the <tt>ratio</tt> attribute. If you set the <tt>size</tt>
+attribute to the desired drawing size, and then set <tt>ratio=fill</tt>, node
+positions are scaled separately in x and y until the drawing fills the
+specified <tt>size</tt>. Note that node sizes stay the same. If, instead,
+you set <tt>ratio=expand</tt>, the layout is uniformly scaled up in x and y
+until at least one dimension fits <tt>size</tt>.
+<p>
+If you specify the <tt>size</tt> attribute but end it with an exclamation
+mark (!), the final drawing will be scaled up uniformly in x and y
+until at least one dimension fits <tt>size</tt>. Note that everything is
+scaled up, including text and node sizes.
+<p>
+If you're using Postscript, you can just scale up the output by
+manually adding a command such as <tt>2 2 scale</tt> where the
+Postscript environment is set up. Make sure to adjust the
+<tt>BoundingBox</tt> too if your tools look at this header.
+<p>
+<A name=Q4 HREF=#Q4>
+<B>Q4</A>. How can I join or merge certain edge routes in dot?</B>
+
+<p>
+You can try running <tt>dot -Gconcentrate=true</tt> or you can
+introduce your own virtual nodes drawn as tiny circles where
+you want to split or join edges:
+
+<pre>
+digraph G {
+ yourvirtualnode [shape=circle,width=.01,height=.01,label=""];
+ a -&gt; yourvirtualnode [arrowhead=none]
+ yourvirtualnode -&gt; {b;c}
+}
+</pre>
+
+<P>
+<A name=Q4a>
+<B>Q. How can I generate graph layouts in PDF?</B>
+</A>
+<P>
+Recent versions of graphviz with the CairoPango based drivers
+can generate PDF directly with the <tt>-Tpdf</tt> command line option.
+This this first.
+<P>
+Otherwise, create Postscript output, then use an external converter from
+Postscript to PDF.
+For example,<BR>
+<tt>dot -Tps | epsf2pdf -o file.pdf</tt><br>
+Note that URL tags are respected, to allow clickable PDF objects.
+<P>
+If your intention is to use the figure as PDF in some document preparation
+system, such as pdflatex, it is very important to use -Tps2 rather than
+-Tps. In general, if you really want PDF output, that is, you would like
+to have a -Tpdf flag, use -Tps2 before converting to PDF.
+<P>
+In the diagram below, the shaded nodes will contain bad output.<BR>
+<IMG src="pspdf.png">
+<P>
+<A name=Q4b>
+<B>Q. How can I make duplicate nodes?</B>
+</A>
+<P>
+Make unique nodes with duplicate labels.
+<pre>
+ digraph G {
+ node001 [label = "A"];
+ node002 [label = "A"];
+ node001 -&gt; node002;
+ }
+</pre>
+<P>
+<A name=Q4c>
+<B>Q. How can I set a graph or cluster label without its propagating to all sub-clusters?</B>
+</A>
+<P>
+Set the label at the end of the graph (before the closing brace), after all
+its contents have been defined. (We admit it seems desirable to define some
+special syntax for non-inherited attribute settings.)
+<p>
+<A name=Q5 HREF=#Q5>
+<B>Q5</A>. How can I draw multiple parallel edges in neato?</B>
+
+<p>
+This is possible when the <tt>splines</tt> attribute is false, which
+is the default. When <tt>splines=true</tt>, we have no good answer but
+we are working on it. One trick which is sometimes sufficient is to
+specify multiple colors for the edge. This will a produce set of tightly
+parallel splines, each in its specified color. Read about the
+<A HREF="info/attrs.html#d:color">color
+attribute</A> for more information.
+
+<h2>Clusters</h2>
+
+<A name=Q5a>
+<B>Q. How can I create edges between cluster boxes?</B>
+</A>
+<p>
+This only works in Graphviz version 1.7 and higher.
+To make edges between clusters, first set the
+graph attribute <tt>compound=true</tt>.
+Then, you can specify a cluster by name as
+a <i>logical head or tail</i> to an edge. This will
+cause the edge joining the two nodes to be
+clipped to the exterior of the box around the
+given cluster.
+<p>
+For example,
+
+<pre>
+ digraph G {
+ compound=true;
+ nodesep=1.0;
+ subgraph cluster_A {
+ a -&gt; b;
+ a -&gt; c;
+ }
+ subgraph cluster_B {
+ d -&gt; e;
+ f -&gt; e;
+ }
+ a -&gt; e [ ltail=cluster_A,
+ lhead=cluster_B ];
+ }
+</pre>
+
+has an edge going from <tt>cluster_A</tt> to
+<tt>cluster_B</tt>. If, instead, you say
+
+<pre>
+ a -&gt; e [ltail=cluster_A];
+</pre>
+
+this gives you an edge from <tt>cluster_A</tt> to node
+<tt>e</tt>. Or you could just specify
+an <tt>lhead</tt> attribute.
+
+The program warns if a cluster specified as a
+logical node is not defined.
+Also, if a cluster is specified as a logical
+head for an edge, the real
+head must be contained in the cluster, and
+the real tail must not be.
+A similar check is done for logical tails. In
+these cases, the edge
+is drawn between the real nodes as usual.
+<p>
+<A name=Q6 HREF=#Q6>
+<B>Q6</A>. Clusters are hard to see.</B>
+
+<P>
+Set <tt>bgcolor=grey</tt>
+(or some other color)
+in the cluster.
+<P>
+<A name=Q7 HREF=#Q7>
+<B>Q7</A>. How can I symmetrize (balance) tree layouts?</B>
+
+<P>
+When a tree node has an even number of children, it isn't necessarily
+centered above the two middle ones. If you know the order of the children,
+a simple hack is to introduce new, invisible middle nodes to re-balance
+the layout. The connecting edges should also be invisible. For example:
+<pre>
+digraph G {
+a -&gt; b0;
+xb [label="",width=.1,style=invis]
+a -&gt; xb [style=invis];
+a -&gt; b1;
+{rank=same b0 -&gt; xb -&gt; b1 [style=invis]}
+b0 -&gt; c0;
+xc [label="",width=.1,style=invis]
+b0 -&gt; xc [style=invis];
+b0 -&gt; c1;
+{rank=same c0 -&gt; xc -&gt; c1 [style=invis]}
+}
+</pre>
+This trick really ought to be build into our solver (and made
+independent of the order of the children, and available for
+layouts other than trees, too).
+
+<H2>Output features</H2>
+
+<A name=Q8 HREF=#Q8>
+<B>Q8</A>. How can I get high quality (antialiased) output?</B>
+
+<P>
+The easiest thing may be to make the layout in Postscript (option <tt>-Tps</tt>),
+then run through <A HREF="http://www.cs.wisc.edu/~ghost/">Ghostview</A> with
+antialiasing enabled. The important command line options are
+<tt>-dTextAlphaBits=4 -dGraphicsAlphaBits=4</tt>
+(4 is the highest level of antialiasing allowed - see the
+<A HREF="http://www.cs.wisc.edu/~ghost/doc/GPL/8.15/Use.htm">Ghostview documentation</A>).
+The full command line to render a raster could be something like:
+<pre>
+gs -q -dNOPAUSE -dBATCH -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=png16m -sOutputFile=file.png file.ps
+</pre>
+<P>
+On Mac OS X, the <A HREF="http://www.pixelglow.com/graphviz/">pixelglow</A> port
+uses Apple's Quartz renderer, which enables antialiasing. It also provides a beautiful document container for its user interface. (One downside is
+that you can't run Pixelglow Graphviz as a web server or other background
+process if your Mac has 3D graphics, because Quartz wants to get this resource
+to accelerate rendering. Another problem is that as of this writing,
+Pixelglow Graphviz hasn't been updated in a long time, maybe mid 2004.)
+<P>
+On the Linux bleeding edge, Graphviz has an optional plugin to use
+the <A HREF="http://www.cairographics.org">cairo</A> back end,
+which has antialiased, path-based graphics. If you want this,
+you must install cairo, which is not part of Graphviz. Cairo is
+available in recent versions of Fedora linux, or it can be built
+from source.
+<P>
+<A name=Q9 HREF=#Q9>
+<B>Q9</A>. I can only get 11x17 output.</B>
+
+<P>
+It's not us! It's probably your printer setup. If you don't
+believe this, run <tt>dot -Tps</tt> and look at the
+<tt>BoundingBox</tt> header. The coords are in 1/72ths of an inch.
+
+<P>
+<A name=Q10 HREF=#Q10>
+<B>Q10</A>. How do I create special symbols and accents in labels?</B>
+
+<P>
+The following solution only works with the
+raster drivers that load Truetype or Type1
+fonts! (That means, <tt>-Tgif, -Tpng, -Tjpeg</tt>, and possibly
+<tt>-Tbmp</tt> or <tt>-Txbm</tt> if enabled).
+
+Use UTF8 coding, <i>e.g.</i> &amp;#165; for the Yen currency symbol &#165.
+Example:
+
+<pre>
+ graph G {
+ yen [label="&amp#165;"]
+ }
+</pre>
+<P>
+You can look up other examples in this handy
+<A HREF="http://www.graphviz.org/doc/char.html">
+character set reference</A>.
+<P>
+<A name=Q10b>
+<B>Q. More generally, how do I use non-ASCII character sets?</B>
+</A>
+<P>
+The following applies to Graphviz 2.8 and later. (In older versions
+of Graphviz, you can sometimes get away with simply putting
+Latin-1 or other UTF-8 characters in the input stream, but the
+results are not always correct.)
+<P>
+<B>Input:</B> the general idea is to find the
+<A HREF="http://en.wikipedia.org/wiki/Unicode">Unicode</A>
+value for the glyph you want, and enter it within a text
+string "...." or HTML-like label <...>.
+<P>
+For example, the mathematical <it>forall</it> sign (&#8704;) has the value 0x2200.
+There are several ways this can be inserted into a file.
+One is to write out the ASCII representation: "&amp;#&lt;nnn&gt;;" where &lt;nnn&gt;
+is the decimal representation of the value. The decimal value of 0x2200 is 8704,
+so the character can be specified as "&amp;#8704;" . Alternatively, Graphviz
+accepts UTF-8 encoded input. In the case of forall, its UTF-8 representation
+is 3 bytes whose decimal values are 226 136 128. For convenience, you
+would probably enter this using your favorite editor, tuned to your character set
+of choice. You can then use the <A HREF="http://www.gnu.org/software/libiconv/#TOCdownloading">
+iconv</A> program to map the graph from your character set to UTF-8 or Latin-1.
+<P>
+We also accept the HTML symbolic names for Latin-1 characters as suggested
+<A HREF="#Q10">above</A>.
+(Go to http://www.research.att.com/~john/docs/html/index.htm and click
+on Special symbols and Entities) For example, the cent sign (unicode
+and Latin-1 value decimal 162 can be inserted as
+<pre>
+&amp;cent;
+</pre>
+<P>
+Note that <b>the graph file must always be a plain text document</b>
+not a Word or other rich format file. Any characters not enclosed in "..."
+or <...> must be ordinary ASCII characters. In particular, all of the DOT
+keywords such as <tt>digraph</tt> or <tt>subgraph</tt> must be ASCII.
+<P>
+Because we cannot always guess the encoding, you should set the graph
+attribute <tt>charset</tt> to
+<A HREF="http://en.wikipedia.org/wiki/UTF-8">UTF-8</A>,
+<A HREF="http://en.wikipedia.org/wiki/Latin-1">Latin1</A>
+(alias ISO-8859-1 or ISO-IR-100)
+or
+<A HREF="http://en.wikipedia.org/wiki/Big-5">Big-5</A> for
+Traditional Chinese. This can be done in the graph file or on the command line.
+For example <tt>charset=Latin1</tt>.
+<P>
+<B>Output:</B> It is essential that a font which has the glyphs for your
+specified characters is available at final rendering time.
+The choice of this font depends on the target code generator.
+For the gd-based raster generators (PNG, GIF, etc.) you need a
+TrueType or Type-1 font file on the machine running the Graphviz program.
+If Graphviz is built with the <tt>fontconfig</tt>
+library, it will be used to find the specified font. Otherwise, Graphviz will
+look in various default directories for the font. The directories to be
+searched include those specified by the <tt>fontpath</tt> attribute,
+related environment or shell variables
+(see the <a href=http://www.graphviz.org/doc/info/attrs.html#d:fontpath>fontpath</A> entry),
+and known system font directories.
+The table
+<A HREF="http://www.graphviz.org/doc/char.html">
+http://www.graphviz.org/doc/char.html</A>
+points out that these glyphs are from the <tt>times.ttf</tt> font.
+With fontconfig, it's hard to specify this font. <tt>Times</tt> usually gets
+resolved to Adobe Type1 times, which doesn't have all the glyphs seen on that page.)
+<!--- can someone explain whether Cairo differs from libgd here? --->
+<P>
+For Postscript, the input must be either the ASCII subset of UTF-8
+or Latin-1. (We have looked for more general solutions, but it
+appears that UTF-8 and Unicode are handled differently for every
+kind of font type in Postscript, and we don't have time to hack
+this case-by-case. If someone wants to volunteer to work on this, let us know.)
+<P>
+For SVG output, we just pass the raw UTF-8 (or other encoding)
+straight through to the generated code.
+<P>
+Non-ASCII characters probably won't ever work in Grappa
+or dotty, which have their own back end rendering.
+(Though, Java supports UTF-8, so there's a chance
+Grappa also handles raw UTF-8 strings.)
+<P>
+As you can see, this is a sad state of affairs.
+Our plan is to eventually migrate Graphviz to the
+<A HREF="http://www.pango.org/">pango</A> text formatting
+library, to ameliorate the worst of these complications.
+<P>
+<A name = Q11>
+<B>Q. How do I get font and color changes in record labels or other labels?</B>
+</A>
+<P>
+This is not possible in record shapes. However, you can do this using
+<A HREF="info/shapes.html#html">
+HTML-like labels</A>. The granularity of changes is still at the cell level,
+but by playing with cell spacing and padding, you can get pretty much
+the effect you want. The intention is to support arbitrary font changes
+within running text in the not-too-distant future.
+
+<P>
+<A name=Q12 HREF=#Q12>
+<B>Q12</A>. In plain format, splines do not touch the nodes (arrowheads are missing).</B>
+
+<P>
+Edges are specified as the main spline and, if necessary, arrowheads
+which actually abut the node. If the arrowheads are not given, drawing
+the edge spline will leave a gap between the edge and the node.
+This is a bug which has now solidified into a feature.
+A workaround is to set
+
+<pre>
+ edge [dir=none]
+</pre>
+Since the edges have no arrowheads, the spline specification will go
+all the way to both nodes.
+<P>
+<A name=Q13 HREF=#Q13>
+<B>Q13</A>. Record nodes are drawn differently in dot and neato when rankdir=LR.</B>
+
+<P>
+It's true. dot -Grankdir=LR rotates record nodes so that their top level
+fields are still listed across levels. rankdir=LR has no effect in neato.
+One workaround is
+<A HREF="info/shapes.html#html">
+HTML-like records</A> (they don't rotate; the downside is that
+you have to write in XML). Another workaround is to enclose
+record labels in { } to rotate/unrotate the record contents. See also,
+<A HREF="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnhfact/html/hfactor8_5.asp">How To Avoid Foolish Consistency</A>
+by Scott Berkun (Microsoft Corp.)
+<P>
+<A name=Q14 HREF=#Q14>
+<B>Q14</A>. How can I print a big graph on multiple pages?</B>
+
+<P>
+The <tt>page</tt> attribute, if set, tells Graphviz to print the
+graph as an array of pages of the given size. Thus, the graph
+<pre>
+digraph G {
+ page="8.5,11";
+ ...
+}
+</pre>
+will be emitted as 8.5 by 11 inch pages. When printed, the
+pages can be tiled to make a drawing of the entire graph.
+At present, the feature only works with PostScript output.
+<P>
+Alternatively, there are various tools and viewers which will take
+a large picture and allow you to extract page-size pieces, which can
+then be printed.
+<P>
+<A name=Q15>
+<B>Q. When I have a red edge it shows up as a
+solid red in PNG and GIF formats, but has a
+black border when rendered to JPEG. </B>
+</A>
+<P>
+This is an artifact of JPEG's lossy
+compression algorithm. JPEG isn't very good
+for line drawings. PNG is bitmap format of
+choice. John Ellson wants to deprecate and
+eventually remove the JPEG driver, but North
+is reluctant to change anything that people
+might already rely on.
+<P>
+<A name=Q16 HREF=#Q16>
+<B>Q16</A>. How can I get custom shapes or images in my graph?</B>
+
+<P>
+Please see the
+<A HREF="http://www.graphviz.org/Documentation/html/shapehowto.html">
+Shape HowTo</A> for some approaches. There is no easy way to create
+custom shapes that work with dot/neato, dotty
+(Unix or MS-Windows) and Grappa (the Java
+front end), because they don't share any universal back end structure.
+We're thinking about it.
+<P>
+<A name=Q17>
+<B>Q. Sometimes in dotty, right mouse click shows the global menu
+but none of the items can be selected.</B>
+</A>
+<P>
+Check that the NUMLOCK key is off. It's a
+<A HREF="http://www.research.att.com/~erg/graphviz/bugs/b524.html">
+known bug</A>.
+<P>
+<A name=Q18 HREF=#Q18>
+<B>Q18</A>. Why does dotty report a syntax error on a legal dot file?</B>
+
+<P>
+Typically this error is reported as:
+<pre>
+>> graph parser: syntax error near line 14
+>> context: >>> <<< digraph G {
+>> dotty.lefty: giving up on dot
+>> dotty.lefty: graph that causes dot
+>> dotty.lefty: to fail has been saved in file dottybug.dot
+</pre>
+Probably there is a command in your shell environment (such as
+.alias or .profile) that does output even for non-interactive shells.
+When this occurs, those characters go in the pipe to the dot parser
+and cause this problem. An easy check is whether other users have
+the same problem.
+<P>
+<A name=Q20>
+<B>Q. How can I get some display feature (such
+as bold lines) in dotty?</B>
+</A>
+<P>
+<A NAME="dotty_note">Dotty</A> has not really changed for many years. Therefore, there are
+myriad features available in Graphviz which it cannot handle.
+In some cases, you can use
+<A HREF="http://www.research.att.com/~john/Grappa/">Grappa</A>
+or <A HREF="http://www.graphviz.org/webdot/">webdot</A>
+for display instead of dotty.
+For example, Grappa has generalized polygons
+(<tt>node [shape=polygon]</tt>) that dotty lacks.
+There are additional interactive viewers available. For example, see
+<A HREF="http://www.graphviz.org/Resources.php">Graphical Interfaces</A>
+and <A HREF="http://www.graphviz.org/About.php">Viewers</A>. If you
+are using Mac OS X, the <A HREF="http://www.pixelglow.com/graphviz/">Mac
+version</A> of Graphviz has a highly recommended GUI.
+<P>
+If the display attribute that you need isn't there already, in dotty,
+there's probably no easy way to do it except by rolling up
+your sleeves and hacking the dotty code (a lefty script) that
+interprets and renders graphical attributes. This is problematic
+for the same reason as above: there's no universal low-level driver
+layer shared across all the Graphviz tools. We recently added an
+intermediate rendering language to the layout tools, but the
+various front ends don't use it yet. This would be a good project
+for someone who wants to get involved here (along with porting
+dotty to GTK.)
+<P>
+<A name=Q21>
+<B>Q. How can I get rid of the little circles on
+edges ("edge handles") in dotty?</B>
+</A>
+<P>
+Edit the file dotty.lefty and change the
+line that says: 'edgehandles' = 1; to 'edgehandles' = 0;
+it's around line 110.
+<P>
+<A name=Q22>
+<B>Q. I already have all the coordinates for the
+nodes and edges of my graph and just want to
+use dot, neato, or dotty to render it. How?</B>
+</A>
+<P>
+Put the graph with layout attributes into a dot
+file.
+
+Then run <tt>neato -s -n2</tt>. For example:
+<pre>
+neato -s -n2 -Tgif file.dot -o file.gif
+</pre>
+Note that if an edge does not have a <TT>pos</TT> attribute
+defined, neato will perform whatever edge routing it would
+normally do. All of the usual backend attributes (<TT>size</TT>,
+<TT>overlap</TT>, <TT>page</TT>, etc.) are available.
+<P>
+<A name=Q23>
+<B>Q. I already have all the coordinates for the
+nodes, and I want dot or neato to route the edges.</B>
+</A>
+<P>
+It's not really too convenient to use dot for this.
+It is possible to use neato for this,
+running neato -s -n For example:
+<pre>
+neato -s -n -Tgif file.dot -o file.gif
+</pre>
+neato will use the node positions, but use its technique
+for routing the edges. There are several things to note. First,
+the neato edge router is different from dot's. Without the built-in
+top-down bias, it doesn't do as good a job of avoiding edge overlaps
+and, at present, it doesn't handle spline multi-edges at all. Second, by
+default, neato uses straight lines as edges. To get spline routing,
+you have to specify -Gsplines=true. And this will only work if none of
+the nodes overlap. Since the input graph supplies fixed node positions,
+it is the user's task to insure this.
+<P>
+<A name=Q24>
+<B>Q. I already have all the coordinates for the
+nodes and edges of my graph and just want to
+use dotty to render it. How?</B>
+</A>
+<P>
+Just run dotty on it. Dotty will use the given pos attributes.
+<P>
+<A name=Q25 HREF=#Q25>
+<B>Q25</A>. Same as above, but I have only node coords, not edges.</B>
+
+<P>
+<tt>neato -n</tt> is some help, but neato doesn't handle
+spline-based parallel edges.
+<P>
+<A name=Q26 HREF=#Q26>
+<B>Q26</A>. How can I make client-side image maps?</B>
+
+<P>
+Use the -Tcmap command line option (only version 1.8.9 and beyond!)
+<P>
+<A name=Q27 HREF=#Q27>
+<B>Q27</A>. Why aren't my server-side maps being recognized? I've checked the HTML!</B>
+
+<P>
+Make sure that your server has map files enabled. For example, if running
+apache, check that httpd.conf has a line like the following:
+<pre>
+AddHandler imap-file map
+</pre>
+and that it is not commented out!
+<P>
+<A name=Q28>
+<B>Q. I've installed Debian Graphviz and it works just fine on the command line,
+but when I execute a Perl/CGI script through Apache, no output is generated.</A>
+For example, the code
+<tt>
+system("/usr/local/bin/dot -Tpng /tmp/tree.dot -o /tmp/tree.png");
+</tt>
+produces no file <tt>/tmp/tree.png</tt>.</B>
+<P>
+As best as we can tell, dot dies with no stdout or stderr messages on Debian
+systems when run from an Apache cgi program
+with no HOME set. The workaround is to provide a HOME directory in the
+Apache userid's environment.
+<P>
+Someone has also suggested using the
+<A HREF="http://search.cpan.org/search?query=graphviz&amp;mode=all">
+Perl module for Graphviz</A>.
+<P>
+<A name=Q29 HREF=#Q29>
+<B>Q29</A>. How can I get 3D output?</B>
+
+<P>
+The Graphviz authors have qualms about the gratuitous use of 3D.
+<p>
+Nonetheless, dot -Tvrml generates VRML files. There's no Z coordinate
+layout - you specify Z coords yourself in the <tt>z</tt> attribute of nodes,
+and the Z coordinates of edges are interpolated. If someone
+contributes a driver for a newer, more useful format (OpenGL Performer
+scene graphs? Open Scene Graphs? Java3D programs?) we'd like to try it.
+<p>
+neato internally supports layouts in higher dimensions through the <tt>dim</tt>
+attribute, e.g. <tt>neato -Gdim=7</tt> but there's no way to get the output
+unless you invoke neato as a library and inspect ND_pos(n)[i]
+where n is a pointer to the relevant node.
+This would need some (minor) driver work and a good 7-dimensional viewer. Well,
+<tt>dim=3</tt> ought to be possible.
+
+<H2>Problems</H2>
+<A name=Q30 HREF=#Q30>
+<B>Q30</A>. How can I avoid node overlaps in neato?</B>
+
+<P>
+Use the graph attribute <A HREF="info/attrs.html#d:overlap"><tt>overlap</tt></A>.
+<P>
+<A name=Q31 HREF=#Q31>
+<B>Q31</A>. How can I avoid node-edge overlaps in neato?</B>
+
+<P>
+Use the <tt>overlap</tt> attribute to leave room among the nodes, then
+use <tt>-Gsplines=true</tt>.
+<pre>
+neato -Goverlap=... -Gsplines=true -Gsep=.1
+</pre>
+<P>
+The <tt>sep</tt> argument is the node-edge separation as
+a ratio of a node's bounding box. That is, <tt>sep=.1</tt> means
+each node is treated as though it is 1.1 times larger than it is.
+The actual value may require some tinkering.
+(Don't ask why this isn't just a constant!) Note that this option really
+slows down neato, so should be used sparingly and only
+with modest-sized graphs.
+<P>
+<A name=Q32 HREF=#Q32>
+<B>Q32</A>. Neato runs forever on a certain example.</B>
+
+<P>
+First, how big is your graph? Neato is a quadratic algorithm, roughly
+equivalent to statistical multidimensional scaling. If you
+feed it a graph with thousands of nodes and edges, it can easily take
+hours or days. The first thing to check is to run <tt>neato -v</tt> to
+get a trace of the output. If the numbers you see are generally
+getting smaller, the layout is just taking a long time. You can set
+certain parameters, such as <tt>epsilon</tt> or <tt>maxiter</tt> to
+shorten the layout time, at the expense of layout quality. But if your
+graph is big, who's going to notice?
+<P>
+If you see
+the numbers repeating, or fluctuating up and down, then neato is
+cycling, especially if your graph is small.
+This should never happen by default for versions later than 1.13. If it
+does, please report it as a bug.
+<P>
+If you are using an earlier version of neato, or you used <tt>mode=KK</tt>,
+cycling is indeed possible. This cycling is very sensitive to the
+initial layout. By using the <tt>start</tt> attribute, for example,
+<pre>
+neato -Gstart=3
+neato -Gstart=rand
+</pre>
+the cycling will most likely disappear. Or you can employ the parameters used
+for large graphs to stop the layout earlier:
+<pre>
+neato -Gepsilon=.01
+neato -Gmaxiter=500
+</pre>
+<P>
+Note that, if you have a large graph, the generation of edges as splines
+is a cubic algorithm, so you would do well to avoid using <tt>splines=true</tt>.
+(This commment applies to circo, fdp and twopi as well.)
+<P>
+<A name=Q33 HREF=#Q33>
+<B>Q33</A>. Edge label placement in neato is bad.</b>
+
+<p>
+Difficult problem. We're working on it.
+If anyone has some general
+label placement code (e.g. a simulated annealer based on the Marks et al.
+technique in <I>Graphics Gems IV</I>), please get in touch.
+<P>
+<A name=Q34 HREF=#Q34>
+<B>Q34</A>. Dot runs forever on a certain example.</B>
+
+<p>
+Try dot -v to observe its progress.
+<p>
+Note that it's possible to make graphs whose layout or even parsing
+is quadratic in the input size. For example, in dot,
+
+<pre>
+digraph G {
+ a -&gt; b -&gt; c -&gt; .... -&gt; x -&gt; y -&gt; z
+ a -&gt; z
+ b -&gt; z
+ c -&gt; z
+ /* and so on... */
+ x -&gt; z
+}
+</pre>
+
+The total edge length (therefore the layout time) of
+this as a ranked graph is quadratic in the number of nodes.
+
+
+You probably won't encounter the following, but it is also possible
+to construct graphs whose parsing takes quadratic time in the number
+of attributes, by appending attributes to nodes and edges after the
+graph has been loaded. For example:
+
+<pre>
+digraph G {
+ /* really big graph goes here...with N+1 nodes */
+ n0 -&gt; n1 -&gt; ... -&gt; nN;
+
+ n0 [attr0="whatever",
+ attr1="something else",
+ /* and so on with many more attributes */
+ attrM="something again"]
+}
+</pre>
+When an attribute first appears, each object is visited with possible cost
+proportional to the number of previously declared attributes. Thus,
+the running time for the above would be <I>cN</I> O(<I>M</I>)
+for some constant <I>c</I>. If there is any concern about this, the
+graph should specify the attributes first before declaring nodes or
+edges. In practice, this problem is neglible.
+<P>
+<A name=Q34a>
+<B>Q. Twopi runs forever on a certain example.</B>
+</A>
+<p>
+Is your graph is large (many thousands of edges),
+and did you set <pre>splines=true</pre>? It takes
+a lot of cycles to fit all those splines!
+<p>
+<A name=Q35>
+<B>Q. Neato has unnecessary edge crossings, or has missed an
+obvious chance to make a much nicer layout.</B>
+</A>
+<P>
+Neato and all similar virtual physical model algorithms rely
+on heuristic solutions of optimization problems. The better
+the solution, the longer it takes to find. Unfortunately, it
+is also possible for these heuristics to get stuck in local
+minima. Also, it is heavily influenced by the initial position
+of the nodes. It is quite possible that if you run neato again,
+but with a different random seed value,
+or more iterations, you'll get a better layout. For example:
+<pre>
+neato -Gstart=5 file.dot -Tps -o file.ps
+neato -Gepsilon=.0000001 file.dot -Tps -o file.ps
+</pre>
+<P>
+In particular, note that there are no guarantees that neato will produce
+a planar layout of a planar graph, or expose all or most of a graph's
+symmetries.
+<P>
+<A name=Q36 HREF=#Q36>
+<B>Q36</A>. Webdot doesn't work.</B>
+
+<P>
+We assume you're using Apache and have <A HREF="http://www.tcl.tk/">TCL</A> installed.
+If you don't, it's probably better to just use the
+<A HREF="http://www.graphviz.org/Misc/webdot.pl">
+webdot perl script</A>.
+<P>
+To debug webdot, first test whether <tt>tclsh</tt> can load the
+Tcldot shared library. Try:
+<pre>
+$ tclsh
+% load <b>$prefix</b>/lib/graphviz/libtcldot.so.0
+%
+</pre>
+where <b>$prefix</b> is the installation prefix for graphviz; usually /usr
+or /usr/local.
+<p>
+Then test whether webdot runs from a shell command. (With webdot we provide
+a helper script scaffold.tcl or scaffold.sh that sets up an environment
+like the one Apache provides.) For example
+<pre>
+$ scaffold.tcl >out.gif
+can't read "LIBTCLDOT": no such variable
+ while executing
+"file mtime $LIBTCLDOT"
+ invoked from within
+"set t1 [file mtime $LIBTCLDOT]"
+ (file "cgi-bin/webdot" line 67)
+ invoked from within
+"source cgi-bin/webdot
+"
+ (file "scaffold.tcl" line 22)
+</pre>
+The above is a strong clue that webdot is not configured properly.
+<P>
+Finally, test whether webdot runs as a cgi-bin program.
+It may help to examine the cgi-bin environment using a
+simple cgi-bin tcl script like:
+<pre>
+ #!/bin/env tclsh
+ puts "Content-type: text/plain"
+ puts ""
+ foreach e [lsort [array names env]] {puts "$e: $env($e)"}
+</pre>
+Save this script as .../cgi-bin/test.tcl, make it executable, then
+look at: <a href="http://localhost/cgi-bin/test.tcl">http://localhost/cgi-bin/test.tcl</a>
+<P>
+Also, if you see something like:
+<pre>
+WebDot Error:
+
+Response Code = 403
+</pre>
+This usually means that webdot ran succesfully, but was not able
+to fetch the remote graph from the URL you gave as an argument.
+The reason is probably that your server is behind a firewall that
+blocks the webdot server, so it cannot get the graph file.
+You can either change firewall permissions, put the graph on a
+different server, or install webdot locally so you don't need a
+remote server to fetch your graph data.
+<P>
+It would be nice if someone hacked webdot to take the contents
+of a graph as a cgi-bin argument, so it wouldn't need
+permission to fetch a graph remotely.
+This is left as an exercise for the Open Source Community.
+<P>
+<A name=Q37 HREF=#Q37>
+<B>Q37</A>. I have "Font not found" errors, or text labels missing in webdot.</B>
+
+<P>
+Firstly, recent versions of graphviz will use fontconfig if it is available
+on your platform. With fontconfig, this error should not occur, so you
+may want to see if an upgrade to graphviz is available, or if a rebuild
+will add fontconfig support.
+<p>
+If fontconfig is not available then graphviz tries to resolve fontnames
+to fontpaths itself, and uses DOTFONTPATH (or GDFONTPATH) to indicate where it should look.
+<p>
+For copyright reasons, Graphviz doesn't come with its own fonts.
+On a Windows machine, it knows to search in <tt>C:\Windows\Fonts</tt>.
+On a Unix machine, you need to set up a directory that contains
+Truetype fonts. You can get a copy of some fonts
+<A HREF="http://www.graphviz.org/pub/graphviz/webfonts-1.0-5.noarch.rpm">here</A>.
+<P>
+The default DOTFONTPATH is:
+<pre>
+#define DEFAULT_FONTPATH "/usr/X11R6/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/truetype:/usr/X11R6/lib/X11/fonts/TTF:/usr/share/fonts/TrueType:/usr/share/fonts/truetype:/usr/openwin/lib/X11/fonts/TrueType:/usr/X11R6/lib/X11/fonts/Type1"
+</pre>
+If your fonts are somewhere else, then you must set that directory in
+the webdot script, or recompile Graphviz with the correct DEFAULT_FONTPATH
+(or set <tt>fontpath="/your/font/directory"</tt> in every graph you lay out,
+but that's pretty clumsy.)
+<P>
+<A name=Q38 HREF=#Q38>
+<B>Q38</A>. My browser doesn't recognize SVG.</B>
+
+<P>
+The correct MIME type for svg images is: <tt>image/svg+xml</tt> (note "+" not "-").
+<P>
+SVG is not built into all browsers; you can get
+<A HREF="http://www.adobe.com/svg/viewer/install/main.html">plugins</A>
+from Adobe for Windows, Linux and some other operating systems.
+<A HREF="http://www.mozilla.com/firefox/">
+Firefox 1.5</A> has a <A href="http://developer.mozilla.org/en/docs/SVG_in_Firefox_1.5">large subset of SVG</A> and renders graphviz -Tsvg output
+though until graphviz 2.8, the fonts may be too large (thanks for
+Phil Colbourne at the RailCorp of New South Wales for this advice).
+<P>
+For help with embedding SVG in HTML pages, see
+<A HREF="http://www.graphviz.org/webdot/svgembed.html">here</A>.
+<P>
+There are several good standalone viewers and editors for SVG.
+We like <A HREF="http://www.inkscape.org">inkscape</A>.
+<A HREF="http://www.gnome.org/projects/evince/">evince</A>
+is the standard Gnome document viewer that handles SVG, at least
+since version 0.5 (though Phil C. reports output is blurred)
+(see also <A HREF="">eog</A> (Eye of Gnome)).
+Commercial tools like Adobe Illustrator and Microsoft Visio
+can import SVG (the better to deal with your content, my dear!)
+If you are using an older (less bloated) Unix system, you
+may find tools like <A HREF="http://xml.apache.org/batik/">Batik</A>
+(an SVG renderer in Java) or <A HREF="http://www.sodipodi.com">sodipodi</A>
+useful, though it seems they are no longer very actively maintained.
+sodipodi is faster but both make sharp images - isn't that the
+beauty of path-based graphics?
+<P>
+<A name=Q39>
+<B>Q39. libexpat is reported as containing a virus or as a security hole.
+Is this a real problem?</B>
+</A>
+<P>
+No, this is a false positive reported by various security software.
+See <A HREF="http://www.pcreview.co.uk/forums/thread-1689630.php">http://www.pcreview.co.uk/forums/thread-1689630.php</A> or
+<A HREF="http://spywareblog.com/index.php/2004/11/24/is_libexpat_dll_spyware">http://spywareblog.com/index.php/2004/11/24/is_libexpat_dll_spyware</A>.
+<P>
+<A name=Q40 HREF=#Q40>
+<B>Q40</A>. What is the coordinate transformation between the graph bb and a .png image?</B>
+<OL>
+<LI>
+The bb is expanded by 4 graph-units in all directions (pad) to allow for finite line widths.
+<LI>
+Then it is zoomed and/or rotated according to -Gviewport, -Gsize, -Glandscape, -Gorientation options.
+At the default scaling of 1:1, one graph unit = 1 point (1/72 inch).
+<LI>
+Then it is paginated, if requested by -Gpage and if the output format supports it. Not the -Tpng renderer, yet.
+<LI>
+Then a margin is added, -Gmargin, in absolute units (inches).
+The top/bottom margin can be set independently of the left/right margin.
+<LI>
+Then it is converted to device units, according to -Gdpi,
+or a dpi value that is given by the output device,
+or a default that is provided by each render.
+There are separate dpi values for x and y to allow for non-square pixels.
+Some renderers invert the Y axis and need an offset to place the
+origin in the top left corner.
+The default dpi for -Tpng is 96dpi (approximating the resolution
+of most computer monitors) so this is where the scaling by 96/72 (4/3)
+comes from.
+</OL>
+<P>
+At the renderer api, plugins have a choice of coordinate representation:
+<UL>
+<LI>
+coordinates in graph-units, and composite transformation data consisting
+of: scaling, rotation, and translation. (used by svg, cairo, ps, renderers)
+<LI>
+coordinates pre-transformed into device units.
+</UL>
+<P>
+<A name=Q41 HREF=#Q41>
+<B>Q41</A>. File associations are broken in Mac OSX. Clicking on a <tt>dot</tt> file doesn't open Graphviz.</B>
+<p>
+The immediate fix is to rebuild the Launch Services database like this:
+<p>
+1. Trash all other versions of Graphviz.app on your system, except for the just installed one. You can use either of these command lines to find it:
+<p>
+<pre>locate Graphviz.app</pre>
+<p>
+or
+<p>
+<pre>find / -name "Graphviz.app"</pre>
+<p>
+2. Run the following command line:
+<p>
+<pre>/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r / </pre>
+<p>
+or
+<p>
+<pre>/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r /Applications</pre>
+<p>
+which deletes the Launch Services database and rebuilds it from existing apps. You may need to sudo to do this.
+<p>
+3. Verify that the Graphviz.app can now open .dot files and Microsoft Word can still open its own .dot files.
+<p>
+One artifact of this will be that Microsoft .dot files may appear with the Graphviz document icon. Unfortunately there doesn't seem any a priori way of getting the system to determine whether an arbitrary .dot file belongs to Word or Graphviz -- you can choose which application to open with by right-clicking or control-clicking on the document icon and choosing the app.
+<p>
+As for why the Launch Services database doesn't automatically register Graphviz,
+we're not entirely sure but suspect this only happens if both conditions
+hold true:
+<p>
+A. The user had installed Microsoft Word.<br>
+B. There is also another version of Graphviz.app present in the system. (Possibly the previous version 1.13 released by Pixelglow Software)<br>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/build.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/build.html
new file mode 100644
index 0000000..811c52c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/build.html
@@ -0,0 +1,382 @@
+<html>
+<head>
+<title>graphviz build notes</title>
+</head>
+<body bgcolor=#ffffff>
+<h1>graphviz build notes</h1>
+<h2>External packages</h2>
+The full build requires external libraries that you must
+obtain elsewhere. Most, if not all of these are optional,
+and configure will build graphviz with reduced functionality
+if an external library is not found. Newer versions of these
+libraries should be fine - if not, please let us know.
+<ul>
+<li>GD (generic raster graphics driver for PNG, GIF, JPEG)
+<a href="http://www.boutell.com/gd/http/gd-2.0.28.tar.gz">
+http://www.boutell.com/gd/http/gd-2.0.28.tar.gz</a>
+<br>Graphviz also contains a copy of GD 2.0.4, but we will
+remove it eventually so the external library is preferred.
+<li>ZLIB (raster image compression)
+<a href="http://www.zlib.net/zlib-1.2.3.tar.gz">
+http://www.zlib.net/zlib-1.2.3.tar.gz</a>
+<br>
+NB: Use "./configure -s" to build shared libraries. (See notes in zlib-1.2.3/Makefile)
+<li>FREETYPE (renders text in raster graphics formats)
+<a href="http://prdownloads.sourceforge.net/freetype/freetype-2.1.3.tar.gz">
+http://prdownloads.sourceforge.net/freetype/freetype-2.1.3.tar.gz</a>
+<li>PNG (driver for Portable Network Graphics raster format)
+<a href="http://prdownloads.sourceforge.net/libpng/libpng-1.2.5.tar.gz">
+http://prdownloads.sourceforge.net/libpng/libpng-1.2.5.tar.gz</a>
+<li>JPEG (a popular raster format with lossy compression, not critical here)
+<a href="ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz">
+ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz</a>
+<li>EXPAT (XML parser)
+<a href="http://prdownloads.sourceforge.net/expat/expat-1.95.5.tar.gz">
+http://prdownloads.sourceforge.net/expat/expat-1.95.5.tar.gz</a>
+<li>GETTEXT (gcc compatibility library)
+<a href="http://ftp.gnu.org/gnu/gettext/gettext-0.11.5.tar.gz">
+http://ftp.gnu.org/gnu/gettext/gettext-0.11.5.tar.gz</a>
+<li>ICONV (string converstion for text internationalization)
+(Many systems already provide iconv in glibc. Check to see if you already
+have a working /usr/bin/iconv before installing this extra package.)
+<br>
+<a href="http://ftp.gnu.org/gnu/libiconv/libiconv-1.8.tar.gz">
+http://ftp.gnu.org/gnu/libiconv/libiconv-1.8.tar.gz</a>
+<li>TCL (a command interpreter for the tcldot GUI)
+<a href="http://prdownloads.sourceforge.net/tcl/tcl8.3.5-src.tar.gz">
+http://prdownloads.sourceforge.net/tcl/tcl8.3.5-src.tar.gz</a>
+<li>LIBTOOL (generic library support)
+<a href="ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.5.22.tar.gz">
+ftp://ftp.gnu.org/pub/gnu/libtool/libtool-1.5.22.tar.gz
+</a>
+</ul>
+<P>
+These libraries (either static or dynamic) and their
+interface header files must already be on your system.
+It's OK if you install your own copies of these packages,
+though you may need to tell make or configure where to find them.
+Run "configure --help" for details.
+<P>
+On most Linux distributions these packages are already installed
+or installable from packages included in the distribution.
+You might need to install some -devel packages to get the include
+header files.
+
+<h2>Abbreviated Build Instructions (GNU tools)</h2>
+
+<p>If you are using GNU tools, the recommended method for building
+graphviz is the usual:
+<pre>
+
+ ./configure
+ make
+ make install
+</pre>
+
+<p>If you are building from CVS sources, then you must have
+recent versions of "libtool", "automake", and "autoconf".
+Build with:
+<pre>
+
+ ./autogen.sh
+ ./configure
+ make
+ make install
+</pre>
+
+<p>If you are not building with GNU tools, then there are some
+tried-and-true old-style Makefiles that can be used instead.
+Details below.
+
+<h2>Detailed Build Instructions</h2>
+
+<P>
+There are a handful of preprocessor defines that control the
+image driver configuration. These preprocessor defines need to
+agree with the libraries used in the Makefile.
+<p>
+The generic raster driver is <tt>gd</tt> and it can be configured to
+generate GIF (no compression), PNG (lossless compression), JPEG
+(lossy compression), and wireless bitmap (WBMP) files.
+The compressors all need <tt>zlib</tt>. In the current build we
+have a top-level config.h file that defines various symbols, such as:
+<P>
+ HAVE_JPEG<br>
+ HAVE_PNG<br>
+<P>
+If you don't enable the <tt>gd</tt> based drivers, graphviz will
+still have the <tt>printf</tt> style drivers for Postscript and SVG.
+(However, even these benefit from better text size estimation via
+Freetype, when it is available.)
+<P>
+<h2>Build tools for Unix</h2>
+You have several choices.
+<P>
+1. (Recommended for Linux) Use configure generated by GNU autoconf.
+This often works well on a vanilla Linux distribution with
+Tcl/Tk, freetype-devel and libjpeg already installed by root
+under /usr. Probably works OK with Solaris, too.
+Otherwise some adjusting of command line arguments
+to <tt>configure</tt> will be needed.
+For Linux you can also just pick up the source tarball
+or RPMs <A HREF="http://www.graphviz.org/pub/graphviz/">here</A>.
+<P>
+First, if you are using sources from CVS, run "./autogen.sh"
+to generate the "configure" script. If you are using sources
+from graphviz-&lt;version&gt;.tar.gz this autogen.sh step should not be
+needed.
+<p>
+Next, run configure. For help on possible configure options, run:
+<br>
+<pre>
+./configure --help
+</pre>
+<p>
+For example, I use <br>
+<pre>
+./configure --prefix=$HOME/arch/sgi.mips3 \
+ --with-freetypeincludedir=$HOME/arch/$ARCH/include/freetype2 \
+ --with-freetypelibdir=$HOME/arch/$ARCH/lib \
+ --with-tcl=/usr/common/tcl8.3.3 </pre>
+<P>
+Obviously you would change the pathnames to reflect your installation.
+<p>
+Note that the directory ${prefix}/include is automatically searched
+for headers, and ${prefix}/lib for libraries.
+<P>
+If you have problems with one or more of the optional script language bindings,
+they can be disabled with e.g. --disable-perl.
+<p>
+2. (Recommend for other Unix platforms.) As above, you need
+the external packages to be installed somewhere.
+<ul>
+<li>
+Run configure.old from the root graphviz directory.
+<li>
+Edit Config.mk for your architecture, tools, and installation directory.
+In particular, set the ARCH make variable.
+<li>
+If desired, check settings in makearch/$(ARCH).
+See below for further notes on individual platforms.
+<li>
+Run make.
+</ul>
+<pre>
+make
+make install
+make clean
+</pre>
+
+<P>
+3. (Recommended for Dave Korn and Eleftheris Koutsofios) Use AT&amp;T/Lucent
+<A HREF="http://www.research.att.com/sw/tools/reuse/packages/astkit.html">nmake</A>.
+<P>
+You have to install the AST tools first.
+<P>
+Then edit Makeargs in the top source directory appropriately
+and <tt>nmake install</tt>. Some fiddling with X11 libs is probably
+necessary to compile 'lefty'. This usually involes editing
+$INSTALLROOT/lib/lib/Xt or X11 (or less portably, edit nmakefile).
+You may also need...
+<pre>
+export PACKAGE_tcl=/where/tcl/is/installed
+</pre>
+<P>
+When nmake works, it's absolutely great, but it's usually
+some work to get the environment right including the
+actions of tools like <tt>iffe</tt> (the AST equivalent
+of what GNU <tt>configure</tt> does). If you're Lefty
+or Dave Korn, you already knew that.
+<P>
+<h2>Build tools for win32</h2>
+<p>See separate
+<A HREF="http://www.graphviz.org/pub/scm/graphviz2/doc/winbuild.html">
+build notes</A> for Microsoft Windows (in native mode).
+<p>
+With some persistence you can likely get Graphviz to build on
+<A HREF="http://www.research.att.com/sw/tools/uwin">UWIN</A>
+or <A HREF="http://www.cygwin.com/">Cygwin</A> installed on
+Microsoft Windows. You will still need various third-party packages
+to enable all the Graphviz drivers.
+
+<!--------------------------------------------------------------------------
+Currently we build graphviz on Windows using the MS Visual C++ compiler only.
+The project and makefiles can be found in both the CVS tree and the source
+distribution package in the $ROOT/windows directory. ($ROOT refers
+to the directory where the source tree has been installed.)
+<p>
+Follow the step-by-step procedure given below:
+<p>
+<ol>
+<li>Open the WSH script file $ROOT/windows/winmake.wsf using a text editor
+and set the "vc" variable to the location of MS VC++ on your machine.</li>
+<p>
+<li>Download the third-party libraries/header files from
+<a href=http://www.research.att.com/sw/tools/graphviz/dist/third-party.zip>http:
+//www.research.att.com/sw/tools/graphviz/dist/third-party.zip</a>.
+Unzip the file in $ROOT directory.</li>
+<p>
+<li>Execute the $ROOT/windows/winmake.wsf file by double-clicking on the
+file within Windows Explorer.</li>
+<p>
+<li>If the script throws errors, you'll need to open the graphviz project in
+$ROOT/makearch/win32/static/graphviz.dsw using the MS Visual Studio.
+Switch to the "File View" within the MS Visual Studio and trigger project
+builds individually.</li>
+<p>
+<li>Follow step 4 for building tools in
+$ROOT/makearch/win32/static/tools.dsw.</li>
+</ol>
+
+<P>
+If you're ambitious, we have also used nmake from
+<A HREF="http://www.research.att.com/sw/tools/uwin">
+AT&amp;T UWIN</A> to build for both the UWIN environment
+and the native win32 platform.
+<pre>
+ export nativepp=-1 <br>
+ nmake CC=ncc MSWIN32==1
+</pre>
+(the nativepp thing seems fixed in UWIN 2.25).
+<p>
+Obviously you need to have native versions
+of zlib, libpng, jpeg and freetype. (See step 2 above. Or build them
+yourself; see notes below.)
+<P>
+If you're running UWIN, of course, you can always just go
+with either the old binaries of graphviz for UWIN
+(from Dave Korn's <A HREF="http://www.research.att.com/sw/tools/uwin">UWIN
+site </A>) or build graphviz as a UWIN program using nmake or gmake.
+<br>
+<P>
+More win32 notes...
+<il>
+<P>
+<li>
+Add extra fluff to globals.h to pull in astwin32.h but #undef _UWIN
+when compiling with CC=ncc.
+</li>
+<P>
+<li>
+MSVC 5.0 C compiler may die when -O is invoked on neato/splines.c;
+this required nmakefile CC.NOOPTIMIZE.
+</li>
+<P>
+<li>
+Get cygwin versions of: zlib, png, jpeg-6b (required minor
+source mods), freetype.1.3.1.
+</li>
+<P>
+<li>
+Build zlib by <tt>configure CC=ncc --prefix=/home/users/north/src/usr</tt>
+then <tt>gmake install</tt>
+</li>
+<P>
+<li>
+Build png by copying scripts/makefile.gcc to makefile and editing slightly
+then gmake install
+</li>
+<P>
+<li>
+Build jpeg same as zlib: <tt> gmake install-lib install-headers </tt>
+</li>
+<P>
+<li>
+Needed to hand-craft a lib/lib/z to go with our libz.a in order
+to not unintentionally pull in /usr/lib/ast.lib (because of mistakenly
+binding the lib/lib/z that goes with /usr/lib/z.lib).
+</li>
+<P>
+<li>
+----------------------------------------------------------->
+We haven't tried to build tcldot or webdot in win32.
+</li>
+<h2>Unix platform-specific build notes</h2>
+<h2>AIX</h2>
+Matt Fago tells us that "--enable-shared=no" is required or the
+executables segfault after seemingly correct compiles. (Bug #421)
+<h2>SGI</h2>
+The default Irix libjpeg is obsolescent. We need at least
+version 62. It wasn't at all clear to me where to get sources for
+this - eventually I found the source for v61 and patches for v62
+using a search engine. We may eventually remove JPEG support
+(lossy compression seems good for photos, not technical diagrams)
+so if you can't get this to work, the loss of -Tjpeg is no big deal.
+<P>
+
+We found that on some platforms (Solaris?)
+gd/dotneato and freetype MUST be compiled with the
+same C compiler (e.g. gcc, or the native cc).
+Otherwise there are are weird stack argument errors in
+the call to TT_Open_Face. I don't have time to try
+to figure out what's wrong.
+
+<h2>Solaris</h2>
+Put /usr/ccs/bin in PATH
+
+<h2>HP-UX</h2>
+The X11 package must include /usr/contrib/X11R6
+as well as the base stuff. For some reason GNU autoconf doesn't seem to find
+X11 in this location so you may need to add the following to the
+./configure line:
+<pre>
+--with-Xawincludedir=/usr/contrib/X11R6/include --with-Xawlibdir=/usr/contrib/X11R6/lib
+</pre>
+
+<h2>Apple Mac OS/X</h2>
+<P>
+Currently, PixelGlow (Glen Low) provides a full featured
+<A HREF="http://www.pixelglow.com/graphviz/">
+port of Graphviz</A> including a very nice Aqua-based graph
+document container. Highly recommended. We merged his patches
+into our source, but we don't build or test on OS X. Talk to Glen.
+<P>
+The following are old pre-Pixelglow build notes:
+<P>
+dot and neato build with old make. (Didn't bother with tcldot.)
+<P>
+There could still be problems with case-sensitive names,
+though we fixed all the ones we could find.
+<P>
+It's weird that Mac OSX declares lrand48() but it's not
+defined in any of the standard system library functions.
+
+<h2>GNU style building</h2>
+
+<pre>
+<!--
+To produce graphviz-(ver).tar.gz from CVS sources.
+
+ cvs checkout graphviz
+ cd graphviz
+ ./autogen.sh
+ make dist
+-->
+To produce graphviz-(ver).tar.gz from GIT sources using cogito.
+ cg clone http://www.graphviz.org/pub/scm/graphviz2/.git
+ cd graphviz2
+or to update from GIT
+ cd graphviz2
+ cg update
+then
+ ./autogen.sh
+ make dist
+
+(Cogito &amp; GIT are available from http://www.kernel.org/pub/software/scm/
+or as binary packages in Fedora-Extras )
+
+To build source and binary rpms (results are left in /usr/src/redhat/ ):
+
+ rpm -ta graphviz-(ver).tar.gz
+
+To build locally:
+
+ zcat graphviz-(ver).tar.gz | tar xfvo -
+ cd graphviz-(ver)
+ ./configure
+ make
+ make install
+</pre>
+
+</body>
+</html>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/gd.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/gd.html
new file mode 100644
index 0000000..531281f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/gd.html
@@ -0,0 +1,5593 @@
+<!-- REMEMBER TO EDIT index.html.source -->
+<head>
+<TITLE>gd 2.0.34</TITLE>
+</head>
+<body bgcolor="#FFFFFF">
+<!-- BANNER HERE -->
+<H2>gd 2.0.33</H2>
+<H3>A graphics library for fast image creation</H3>
+<H3>Follow this link to the
+<A HREF="http://libgd.org">latest version
+of this document</A>.</H3>
+<blockquote>
+<strong>UPGRADING UNIX USERS: READ THIS FIRST!</strong>
+Modern versions of gd install by default to /usr/local/lib and
+/usr/local/include. If you already have an older version of gd
+in /usr/lib and /usr/include, you may wish to use:
+<pre>
+./configure --prefix=/usr</pre>
+To ensure that your
+new installation overwrites the old.
+<p>
+<strong>GIF support has been restored in gd 2.0.28 and above.</strong>
+The well-known patents on LZW compression held by Unisys
+have expired in all countries. British Telecom and IBM may hold related
+patents but have never chosen to require royalties for GIF applications,
+to the best of my knowledge. I am not a lawyer and cannot give
+legal advice regarding this issue. PNG remains a superior format especially
+if lossless truecolor images are needed.
+<p>
+When building from soruce, gd 2.0.33 <strong>requires</strong> that the
+following libraries also be installed, in order to produce the related
+image formats. The win32 binary release (bgd) already contains the
+appropriate libraries.
+You may skip libraries associated with formats you do not use:
+<p>
+libpng (see the <a href="http://www.libpng.org/pub/png/">libpng home page</a>), if you want PNG
+<p>
+zlib (see the <a href="http://www.info-zip.org/pub/infozip/zlib/">info-zip home page</a>), if you want PNG
+<p>
+jpeg-6b or later, if desired (see the <a href="http://www.ijg.org/">Independent JPEG Group home page</a>), if you want JPEG
+<p>
+If you want to use the TrueType font support, you must also
+install the <strong>FreeType 2.x library</strong>, including
+the header files. See the <a href="http://www.freetype.org/">Freetype
+Home Page</a>, or <a href="http://freetype.sourceforge.net/">SourceForge</a>.
+No, I cannot explain why that site is down on a particular day, and no, I
+can't send you a copy.
+<p>
+If you want to use the Xpm color bitmap loading support, you must also
+have the X Window System and the Xpm library installed (Xpm is often
+included in modern X distributions). Most of the time you won't
+need Xpm.
+<p>
+Please read the documentation and install the required libraries.
+Do not send email asking why <code>png.h</code> is not found.
+Do not send email asking why <code>libgd.so</code> is not found, either.
+See the <a href="#required">requirements section</a> for more
+information. Thank you!
+</blockquote>
+<H3>Table of Contents</H3>
+<UL>
+<LI><A HREF="#notice">Credits and license terms</A>
+<LI><A HREF="#whatsnew2.0.34">What's new in version "XYZ" of GD?</A>
+<LI><A HREF="#whatis">What is gd?</A>
+<LI><A HREF="#gdother">What if I want to use another programming language?</A>
+<LI><A HREF="#required">What else do I need to use gd?</A>
+<LI><A HREF="#getgd">How do I get gd?</A>
+<LI><A HREF="#buildgd">How do I build gd?</A>
+<LI><A HREF="#basics">gd basics: using gd in your program</A>
+<LI><A HREF="#webpng">webpng: a useful example</A>
+<LI><A HREF="#reference">Function and type reference by category</A>
+<LI><A HREF="#gdformat">About the additional .gd image file format</A>
+<LI><A HREF="#informing"><strong>Please</strong>
+ tell us you're using gd!</A>
+<LI><A HREF="#support">How do I get support?</A>
+<LI><A HREF="#issues">How do I report issues, bugs or features request?</A>
+<LI><A HREF="#index">Alphabetical quick index</A>
+</UL>
+<P><A HREF="http://www.libgd.org/">
+Up to the <EM>LibGD Homepage</EM></A>
+<A NAME="notice"><H3>Credits and license terms</A></H3>
+<P>
+In order to resolve any possible confusion regarding the authorship
+of gd, the following copyright statement covers all of the authors
+who have required such a statement. <strong>If you are aware of any oversights
+in this copyright notice, please contact <A HREF="http://libgd.org/Contact">Pierre-A. Joye</A> who will be
+pleased to correct them.</strong>
+<pre>
+COPYRIGHT STATEMENT FOLLOWS THIS LINE
+</pre>
+<blockquote>
+
+Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Cold Spring
+Harbor Laboratory. Funded under Grant P41-RR02188 by the National
+Institutes of Health.
+<P>
+Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 by Boutell.Com, Inc.
+<p>
+Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, 2003, 2004 Philip Warner.
+<p>
+Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, 2004 Greg Roelofs.
+<p>
+Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org).
+<p>
+Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John Ellson (ellson@graphviz.org).
+<p>
+Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Pierre-Alain Joye (pierre@libgd.org).
+
+<p>
+Portions relating to JPEG and to color quantization copyright 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas G. Lane. This software is based
+in part on the work of the Independent JPEG Group. See the file
+README-JPEG.TXT for more information.
+<p>
+Portions relating to GIF compression copyright 1989 by Jef
+Poskanzer and David Rowley, with modifications for thread safety
+by Thomas Boutell.
+<p>
+Portions relating to GIF decompression copyright 1990, 1991, 1993
+by David Koblas, with modifications for thread safety by
+Thomas Boutell.
+<p>
+Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 Maurice Szmurlo and Johan Van
+den Brande.
+<p>
+Portions relating to GIF animations copyright 2004 Jaakko Hyv&auml;tti (jaakko.hyvatti@iki.fi)
+<p>
+<strong>Permission has been granted to copy, distribute and modify gd in any
+context without fee, including a commercial application, provided that this notice
+is present in user-accessible supporting documentation.</strong>
+<p>
+This does not affect your ownership of the derived work itself, and the intent
+is to assure proper credit for the authors of gd, not to interfere
+with your productive use of gd. If you have questions, ask.
+"Derived works" includes all programs that utilize the library.
+Credit must be given in user-accessible documentation.
+<p>
+<strong>This software is provided "AS IS."</strong>
+The copyright holders disclaim all warranties, either express or implied,
+including but not limited to implied warranties of merchantability and
+fitness for a particular purpose, with respect to this code and accompanying
+documentation.
+<p>
+Although their code does not appear in the current release, the authors
+also wish to thank Hutchison Avenue Software Corporation for their
+prior contributions.
+</blockquote>
+<pre>
+END OF COPYRIGHT STATEMENT
+</pre>
+<A NAME="whatis"><H3>What is gd?</H3></A>
+<P>
+gd is a graphics library. It allows your code to quickly
+draw images complete with lines, arcs, text, multiple
+colors, cut and paste from other images, and flood fills, and
+write out the result as a PNG or JPEG file. This is particularly
+useful in World Wide Web applications, where PNG and JPEG are two
+of the formats accepted for inline images by most browsers.
+<P>
+gd is not a paint program.
+If you are looking for a paint program, you are looking in
+the wrong place. If you are not a programmer, you are looking
+in the wrong place, unless you are installing a required
+library in order to run an application.
+<P>
+gd does not provide for every possible desirable graphics
+operation. It is not necessary or desirable for gd to become
+a kitchen-sink graphics package, but version 2.0 does include
+most frequently requested features, including both truecolor and
+palette images, resampling (smooth resizing of truecolor images)
+and so forth.
+<P>
+<A NAME="gdother"><H3>What if I want to use another programming
+language?</h3></A>
+Not all of these tools are necessarily up to date and fully compatible
+with 2.0.33.
+<h4>PHP</h4>
+A variant of gd 2.x is included in PHP 4.3.0. It is also possible
+to patch PHP 4.2.3 for use with gd 2.0.33; see the
+<a href="http://www.libgd.org/">gd home page</a> for a link to
+that information. It would be a Good Idea to merge all of the things
+that are better in mainstream gd and all of the things that are
+better in PHP gd at some point in the near future.
+<h4>Perl</h4>
+gd can also be used from Perl, courtesy of
+Lincoln Stein's
+<a href="http://stein.cshl.org/WWW/software/GD/">
+GD.pm</a> library, which uses gd as the basis for a set of
+Perl 5.x classes. Highly recommended.
+<h4>OCaml</h4>
+gd can be used from OCaml, thanks to
+<a href="http://gd4o.sourceforge.net/">Matt Gushee's GD4O project</a>.
+<h4>Tcl</h4>
+gd can be used from Tcl with John Ellson's
+<a href=http://www.graphviz.org/pub/>Gdtclft</a>
+dynamically loaded extension package.
+<h4>Pascal</h4>
+Pascal enthusiasts should look into the
+<a href="http://www.freepascal.org/">freepascal</a> project, a
+free Pascal compiler that includes gd support.
+<h4>REXX</h4>
+A
+<a href="http://www.lightlink.com/hessling/RexxGd/index.html">gd interface
+for the REXX language</a> is available.
+<h4>Any Language</h4>
+The "fly" interpreter performs gd operations specified in a text file.
+You can output the desired commands to a simple
+text file from whatever scripting language you prefer to use, then
+invoke the interpreter.
+<p>
+<ul>
+<li><a href="http://martin.gleeson.com/fly/">fly</a>, by Martin Gleeson
+</ul>
+<p>
+<A NAME="whatsnew2.0.34"><h3>What's new in version 2.0.34?</h3></a>
+<p>
+From 2.0.34 and later, please check the ISSUES and ChangeLog as well as
+the releases announcements.
+<p>
+<A NAME="whatsnew2.0.33"><h3>What's new in version 2.0.33?</h3></a>
+<p>
+Version 2.0.33 restores compatibility with older releases
+of Freetype 2.x in addition to the latest release. Thanks to
+John Ellson and the graphviz project.
+<p>
+<A NAME="whatsnew2.0.32"><h3>What's new in version 2.0.32?</h3></a>
+<p>
+Version 2.0.32 restores correct detection of Unicode character sets
+for freetype fonts, which repairs a bug that prevented umlauts from
+displaying properly. Thanks to John Ellson and the graphviz project.
+Also, version 2.0.32 builds all test programs
+smoothly in the absence of libpng.
+<p>
+<A NAME="whatsnew2.0.31"><h3>What's new in version 2.0.31?</h3></a>
+<p>
+A minor type naming conflict prevented bgd.dll from compiling, and it
+was left out of the distribution as a result. This has been corrected.
+<p>
+<A NAME="whatsnew2.0.30"><h3>What's new in version 2.0.30?</h3></a>
+<p>
+2.0.29 did not compile correctly when freetype was not available.
+This has been corrected. Thanks to Alessandro Ranellucci.
+<p>
+<A NAME="whatsnew2.0.29"><h3>What's new in version 2.0.29?</h3></a>
+<p>
+<ul>
+<li>A 32-bit multiplication overflow vulnerability reported on
+the Bugtraq mailing list has been corrected, along with a number
+of similar issues. These bugs come into play only when attempting
+to deal with images with <i>extremely large</i> dimensions.
+The relevant functions now fail gracefully when such extreme
+parameters are specified. The code in question is also
+correct for systems with larger bit depths. Thanks to Phil Knirsch,
+Alan Cox and infamous41md.
+Since exploits are theoretically possible, upgrading is recommended.
+<li>Support for the fontconfig library, when available.
+When fontconfig is available and gdFTUseFontConfig(1) has been invoked
+or the gdFTEX_FONTCONFIG flag has been set for a particular call, fontconfig
+patterns can be used to fetch the best available font.
+For instance, "arial:bold:italic" does the right thing (or as close as
+the available fonts permit). Also, standard
+PostScript font names can be mapped to an appropriate font by
+gdImageStringFTEx and relatives.
+When fontconfig is available <tt>gdlib-config --features</tt> will list
+the GD_FONTCONFIG feature. For more information about fontconfig, see the
+<a href="http://freedesktop.org/software/fontconfig">fontconfig pages</a>.
+<p>
+The actual resolved font filename can be returned in the gdFTStringExtra
+structure as the fontpath element if the gdFTEX_RETURNFONTPATHNAME flag
+is set. Also, a
+vector of character position advances can be retrieved if gdFTEX_XSHOW is set
+in the flags element. .afm files (font metrics) are now used to adjust size
+calculations
+when available. When fontconfig is not available, gd falls back to its
+usual behavior and requires a specific font file name. One can
+still fetch fonts by filename when gdFTUseFontConfig(1) is in effect, by
+setting the gdFTEX_FONTPATHNAME flag
+in the flag element of the gdFTStringExtra structure. Thanks to
+Dag Lem and John Ellson.
+<li>Additional freetype fixes: fixed width fonts are now the right
+size, horizontal advance calculations now better match the
+PostScript equivalent, and various compiler warning fixes. Also,
+a fix to the encoding table selection in the was made, addressing a problem
+with latin1 font encodings. Thanks to Dag Lem and John Ellson.
+<li>Improved tolerance when reading JPEG files containing some garbage as well
+as valid image data.
+<li>Easier compilation on Windows: no errno.h in gd_gd2.c.
+<li>Support for creating optimized GIF animations has been added
+ by Jaakko Hyv&auml;tti. See
+ <A HREF="#gdImageGifAnimAdd">gdImageGifAnimAdd</A>,
+ <A HREF="#gdImageGifAnimAddCtx">gdImageGifAnimAddCtx</A>,
+ <A HREF="#gdImageGifAnimAddPtr">gdImageGifAnimAddPtr</A>,
+ <A HREF="#gdImageGifAnimBegin">gdImageGifAnimBegin</A>,
+ <A HREF="#gdImageGifAnimBeginCtx">gdImageGifAnimBeginCtx</A>,
+ <A HREF="#gdImageGifAnimBeginPtr">gdImageGifAnimBeginPtr</A>,
+ <A HREF="#gdImageGifAnimEnd">gdImageGifAnimEnd</A>,
+ <A HREF="#gdImageGifAnimEndCtx">gdImageGifAnimEndCtx</A>, and
+ <A HREF="#gdImageGifAnimEndPtr">gdImageGifAnimEndPtr</A>.
+<li><A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A> has been
+ added to allow consecutive line segments to be drawn without
+ connecting the end points to form a closed polygon. Thanks to
+Jaakko Hyv&auml;tti.
+<li>Better alpha channel blending when the destination color
+contains an alpha channel. Also, quicker handling of the
+most common cases. Thanks to Frank Warmerdam.
+</ul>
+<P>
+<A NAME="whatsnew2.0.28"><H3>What's new in version 2.0.28?</H3></A>
+<P>
+<ul>
+<li>GIF support has been restored. See
+<a href="#gdImageGif">gdImageGif</a>,
+<a href="#gdImageGifCtx">gdImageGifCtx</a>,
+<a href="#gdImageGifPtr">gdImageGifPtr</a>,
+<a href="#gdImageCreateFromGif">gdImageCreateFromGif</a>,
+<a href="#gdImageCreateFromGifCtx">gdImageCreateFromGifCtx</a>,
+and <a href="#gdImageCreateFromGifPtr">gdImageCreateFromGifPtr</a>.
+These functions are now thread-safe, similar to the PNG and JPEG
+manipulation functions.
+<li>The new <a href="#gdImageCreatePaletteFromTrueColor">gdImageCreatePaletteFromTrueColor</a> function is identical to <a href="#gdImageTrueColorToPalette">gdImageTrueColorToPalette</a>, except that it returns a new image rather than permanently modifying the original.
+</ul>
+<P>
+<A NAME="whatsnew2.0.27"><H3>What's new in version 2.0.27?</H3></A>
+<P>
+<ul>
+<li>In gd 2.0.26, there was potential for out of bounds fills, and therefore
+crashes, in the horizontalLine function used by gdImageFilledPolygon.
+Fixed by John Ellson.
+<li>The order of the points returned in the bounding rectangle by
+gdImageStringFT was incorrect in version 2.0.26. This has been
+corrected in version 2.0.27. Thanks to Riccardo Cohen for pointing
+this out, and to John Ellson for verifying and fixing it.
+</ul>
+<P>
+<A NAME="whatsnew2.0.26"><H3>What's new in version 2.0.26?</H3></A>
+<P>
+The following enhancements and fixes:
+<ul>
+<li>Drastically faster, less memory-intensive antialiased drawing, thanks to
+Pierre-Alain Joye. This code was imported from the PHP "fork"
+of gd. The API for antialiased drawing has not changed, however the
+implementation has been completely replaced.
+Antialiased line drawing does not support widths other
+than 1, however this did not work properly with the other
+implementation of antialiasing either. Support has been included
+for the "non-blending color" option introduced by the previous
+implementation of antialiased drawing.
+<li><code>gdlib-config</code>, which has been installed by
+<code>make install</code> for some time now, has gained
+a <code>--features</code> option. This option produces a space-separated
+list of optional features with which the gd library was compiled.
+Typical usage looks like this:
+<pre>
+% gdlib-config --features
+GD_XPM GD_JPEG GD_FREETYPE GD_PNG GD_GIF
+</pre>
+Other <code>configure</code> scripts can conveniently define
+preprocessor symbols based on this list in order to conditionally
+compile code. For instance, if
+GD_PNG is not reported by --features, then gdImagePng is not
+included in the library.
+<p>
+Thanks to Lars Hecking and Lincoln Stein for their advice on
+implementing this feature. Any blame for the actual implementation
+is entirely due to me (TBB).
+<li>Fixes to the behavior of the bounding rectangle returned by
+gdImageStringFT and relatives when the string is rotated.
+See fontwheeltest.c. Thanks to John Ellson.
+<li>Previously, gdImageStringFT and friends accepted either
+a full path to a font file, or the name of a font with no
+extension, in which case the GDFONTPATH environment variable
+and then the compiled-in DEFAULT_FONTPATH was searched. In addition,
+a font filename with an extension but no full path can now be
+automatically searched for in the same fashion. Thanks to John Ellson.
+
+<li>Fixes to freetype antialiased text against a transparent
+background. See testtr.c. Thanks to John Ellson.
+
+<li>Support for named entities like &amp;amp; and hex-coded
+entities such as &amp;#x6C34; in text
+strings passed to gdImageStringFT and relatives, adding to the
+previous support for decimal-coded entities like &amp;#197;.
+These were extracted from entities.html (from the W3C) via
+the script entities.tcl, which is included for the curious and
+those with other entities they need support for. Thanks to John Ellson.
+
+<li>Optimization: gdImageSetPixel no longer calls gdImageAlphaBlend
+when either the source or the destination pixel is 100% transparent.
+Thanks to John Ellson.
+
+<li>Optimization: gdImageLine is potentially faster now in the most
+common cases.
+Thanks to John Ellson.
+<li>Documentation of the entities feature of gdImageStringFT.
+<li>autoconf/configure fixes. Thanks to many who pointed out an oversight
+in handling libpng flags.
+</ul>
+<P>
+<A NAME="whatsnew2.0.25"><H3>What's new in version 2.0.25?</H3></A>
+<P>
+Owing to an oversight while making changes to better accommodate the use
+of gd as a DLL, the <b>extern</b> qualifier was dropped from the
+declarations of font pointers in 2.0.24. This has been corrected.
+Thanks to Richard ("OpenMacNews").
+<P>
+<A NAME="whatsnew2.0.24"><H3>What's new in version 2.0.24?</H3></A>
+<P>
+<b>Windows DLL now uses __stdcall calling convention.</b> Existing
+applications will require a recompile, using the new version of gd.h,
+in order to use this version of the DLL. However, Visual BASIC and other
+non-C programmers will now be able to use the DLL, which is an enormous
+benefit and justifies the one-time inconvenience to existing DLL users.
+<p>
+The elaborate #ifdef test for older versions of Freetype without
+FT_ENCODING_MS_SYMBOL was needed in a second place also. Thanks to
+David R. Morrison.
+<p>
+An off-by-one error in gdImageToPalette caused transparency to be applied
+to the wrong pixels. Thanks to "Super Pikeman."
+<P>
+<A NAME="whatsnew2.0.23"><H3>What's new in version 2.0.23?</H3></A>
+<P>
+Output dpi specification option added to the
+<code>gdFTStringExtra</code> structure, thanks to
+Mark Shackelford. See <a href="#gdImageStringFTEx">gdImageStringFTEx</a>.
+<P>
+<A NAME="whatsnew2.0.22"><H3>What's new in version 2.0.22?</H3></A>
+<P>
+<ul>
+<li>Win32 DLL users: working with pointers exported by DLLs is
+difficult and causes unexpected results. gd 2.0.22 exports new
+functions for retrieving the basic gd fonts:
+<a href="#gdFontGetTiny">gdFontGetTiny()</a>,
+<a href="#gdFontGetSmall">gdFontGetSmall()</a>,
+<a href="#gdFontGetMediumBold">gdFontGetMediumBold()</a>,
+<a href="#gdFontGetLarge">gdFontGetLarge()</a>, and
+<a href="#gdFontGetHuge">gdFontGetHuge()</a>. You may safely assign the
+return values from these functions to a local <code>gdFontPtr</code>.
+Direct use of <code>gdFontLarge</code>, etc. is strongly deprecated
+for users of <code>bgd.dll</code>; use these new functions instead.
+<li>Basic support for loading CMYK-colorspace JPEG images. They are
+of course converted to RGB which is a lossy process, however the
+results do look quite good and are certainly fine for thumbnails and
+web previews of DTP work.
+<li>"make" no longer fails on <code>circletexttest</code> if
+PNG support is missing.
+<li>Small performance improvements to gdImageCopyResampled; larger
+improvements are forthcoming.
+</ul>
+<P>
+<A NAME="whatsnew2.0.21"><H3>What's new in version 2.0.21?</H3></A>
+<P>
+<ul>
+<li>Version 2.0.21 adds a <code>gdImageCreateFrom*Ptr</code> family
+of functions which make it convenient to load an image in any
+GD-supported format directly from memory.
+<li>The new <code>gdNewDynamicCtxEx</code> function was added to
+support the easy implementation of the above functions and to
+correct a design problem which made life unpleasant for those passing
+in memory not originally allocated by gd to the
+<code>gdNewDynamicCtx</code> function by provoding a way to specify
+that gd should never free or reallocate a particular block of memory.
+The <code>gdNewDynamicCtx</code> function and its relatives, although
+still exported for ABI compatibility, are now <b>deprecated</b> except
+for internal use, in favor of <a href="#gdImageCreateFromPngPtr"><code>gdImageCreateFromPngPtr</code></a>
+and its relatives.
+<li>Version 2.0.21 includes a new patch from Ethan A. Merritt to
+correct a bug in the conditional compilation of support for
+symbol fonts in gdft.c. Symbol fonts should now work correctly.
+Thanks to Mr. Merritt.
+<li>Version 2.0.20 restores the <code>gdFreeFontCache</code> function,
+an undocumented function added in an earlier release which now simply
+calls <code>gdFontCacheShutdown</code> for backwards compatibility.
+This repairs build problems when compiling PHP against the latest gd.
+<li>Documentation improvements.
+</ul>
+<P>
+<A NAME="whatsnew2.0.20"><H3>What's new in version 2.0.20?</H3></A>
+<P>
+<ul>
+<li>Version 2.0.20 restores the <code>gdFreeFontCache</code> function,
+an undocumented function added in an earlier release which now simply
+calls <code>gdFontCacheShutdown</code> for backwards compatibility.
+This repairs build problems when compiling PHP against the latest gd.
+</ul>
+<P>
+<A NAME="whatsnew2.0.19"><H3>What's new in version 2.0.19?</H3></A>
+<P>
+<ul>
+<li>Version 2.0.19 restored <code>extern</code> declarations for the
+gd font pointers inadvertently removed in 2.0.18.
+</ul>
+<P>
+<A NAME="whatsnew2.0.18"><H3>What's new in version 2.0.18?</H3></A>
+<P>
+<ul>
+<li>A Win32 binary distribution of "bgd.dll," built with mingw32 and
+tested with win32 versions of the demo programs as console applications,
+is now available.
+<li>Semicolon rather than space used as the default separator of
+alternative font file paths in <a href="#gdImageStringFT">gdImageStringFT</a>,
+for better compatibility with Windows and other environments where
+spaces are common in paths.
+<li>The circletexttest demo no longer fails to compile when JPEG
+support happens to be absent.
+</ul>
+<P>
+<A NAME="whatsnew2.0.17"><H3>What's new in version 2.0.17?</H3></A>
+<P>
+Minor compilation and packaging problems with 2.0.16 were corrected.
+If 2.0.16 compiled without errors for you, then you don't need
+to upgrade to 2.0.17.
+<P>
+<A NAME="whatsnew2.0.16"><H3>What's new in version 2.0.16?</H3></A>
+<P>
+<ul>
+<li>Thread safety for freetype text output. Background: all gd functions
+were already thread safe, as long as only one thread manipulates each
+image -- except for gdImageStringFT and gdImageStringFTEx. This is because
+of a shared freetype font cache. Sharing the cache between images
+is worthwhile, so "configure" now detects pthreads and uses it to
+wrap freetype text output in a critical section if available. There is
+also critical section support under WIN32. Those who wish to be
+strictly thread-safe should call the new function
+<a href="#gdFontCacheSetup">gdFontCacheSetup</a> before allowing any
+thread to use freetype text calls. Otherwise this function is automatically
+invoked on the first use of freetype, with a very small but real chance
+of a race condition.
+<li><a href="#gdImageSquareToCircle">gdImageSquareToCircle</a> performs
+a "polar coordinate transform," returning a new image in which the
+X axis of the original has been remapped to theta (angle) and the
+Y axis of the original has been remapped to rho (distance from center).
+<li><a href="#gdImageStringFTCircle">gdImageStringFTCircle</a> wraps
+text in a circle around a specified center point. This function
+takes advantage of <a href="#gdImageSquareToCircle">gdImageSquareToCircle</a>.
+The result is very smooth, although it takes some time to compute.
+Thanks to Steve Bassi for sponsoring this work.
+<li><a href="#gdImageSharpen">gdImageSharpen</a>, contributed by
+Paul Troughton. Thank you.
+<li>Christophe Thomas corrected gdft.c to include freetype header
+files in the way that is now mandatory in freetype 2.1.6 and above.
+<li>Gustavo Scotti fixed a memory leak in gdft.c.
+<li>Clipping rectangle respected in freetype text output. Thanks to Matt
+McNabb.
+<li>Paul den Dulk found a degenerate case that crashes
+gdImageToPalette. Fixed.
+<li>Optimization by Ilia Chipitsine to avoid wasting time with
+offscreen scanlines during polygon rasterization.
+<li>Optimized PNG saving by Phong Tran. Speeds up saves a
+little bit.
+<li>Bug in gdImageCopyResized fixed by Mao Morimoto.
+</ul>
+<P>
+<A NAME="whatsnew2.0.15"><H3>What's new in version 2.0.15?</H3></A>
+<P>
+<ul>
+<li>gd.c in 2.0.14 contained an instance of declaring variables
+after the first line of executable code appears. This is of course
+not allowed by ANSI C, although many compilers accept it.
+My apologies. Thanks to Jeff Vendetti for reporting this quickly.
+</ul>
+<P>
+<A NAME="whatsnew2.0.14"><H3>What's new in version 2.0.14?</H3></A>
+<P>
+<ul>
+<li>2.0.13 was available for mere minutes due to a typo
+in the new bounds-checking code for antialiased line drawing. Fixed.
+<li>Not all platforms -- notably msys/mingw -- have an ssize_t type.
+We now call an int an int in gd_jpeg.c, with good results.
+(Note: ssize_t is signed, unlike size_t, and it needs to be here.)
+</ul>
+<P>
+<A NAME="whatsnew2.0.13"><H3>What's new in version 2.0.13?</H3></A>
+<P>
+<ul>
+<li>The <code>main()</code> function of one of the test programs
+was accidentally included in the gd shared library, causing problems
+on some platforms. This has been corrected. Thanks to many people
+who pointed this out.
+<li>The antialiased drawing functions now have proper bounds
+checking. Thanks to Arne Jorgensen.
+<li>A void function returned a value in gd_png.c, causing warnings
+and, on some platforms, compilation errors but no reported runtime problems.
+Thanks to Kevin Smith, among others.
+<li>Autohinting was being forced ON for freetype text output. This is
+apparently meant only for testing freetype and does not look as good
+as the default behavior (FT_LOAD_DEFAULT). Thanks to Bob Ostermann.
+<li>penf.x is properly reset when newlines are encountered in freetype
+text output. Thanks to Christopher J. Grayce.
+</ul>
+<P>
+<A NAME="whatsnew2.0.12"><H3>What's new in version 2.0.12?</H3></A>
+<P>
+<ul>
+<li>Small but numerous code cleanups by Dr. Martin Zinser.
+<li><a href="#gdImageSetClip">gdImageSetClip</a> and
+<a href="#gdImageGetClip">gdImageGetClip</a> have been added. All
+drawing routines now stay within the specified clipping rectangle.
+Note that the <a href="#gdImageBoundsSafe">gdImageBoundsSafe</a> function
+now returns true only if the specified location is within the
+clipping rectangle. Of course, the default clipping area is the
+entire image. The behavior of existing gd applications does not change.
+<li>Support for fast drawing of antialiased lines and polygons,
+by Bright Fulton and Frank Faubert. To learn more about this feature,
+read about the <a href="#gdImageSetAntiAliased">gdImageSetAntiAliased</a>
+function, which is used to set the foreground color for antialiasing,
+as well as the <a href="#gdAntiAliased">gdAntiAliased</a> constant, which
+is passed to line- and polygon-drawing functions in place of a color.
+This code does not currently support an alpha channel component in the
+specified foreground color, or in the existing background image,
+but <em>does</em> perform alpha blending against an opaque background.
+Also see the
+<a href="#gdImageSetAntiAliasedDontBlend">gdImageSetAntiAliasedDontBlend</a>
+function, which allows the specification of a special background
+color that should never be blended with the foreground.
+<li>Fixes to color mapping in <a href="#gdImageCopyMergeGray">gdImageCopyMergeGray</a>. Thanks to Philip Warner.
+<li><a href="#gdImageStringFTEx">gdImageStringFTEx</a> now supports
+explicit specification of the desired character mapping.
+This is useful when a font offers more than one of Unicode,
+Shift_JIS, and Big5.
+<li>The PNG compression level can now be specified when writing PNG
+images. See the new <a href="#gdImagePngEx">gdImagePngEx</a>,
+<a href="#gdImagePngEx">gdImagePngEx</a>,
+<a href="#gdImagePngCtxEx">gdImagePngCtxEx</a>, and
+<a href="#gdImagePngPtrEx">gdImagePngPtrEx</a> functions.
+<li>The annotate utility builds without error in the absence of
+freetype, although of course it is not useful without freetype.
+<li>Thorben Kundinger fixed a bug relating to the use of palette-based
+images as brushes when drawing on truecolor images.
+<li>Michael Schwartz corrected a problem with his code for drawing
+thick lines.
+<li>Prior to 2.0.12, any alpha channel component in the
+<em>destination</em> image was ignored when drawing with
+alpha blending in effect (see
+<a href="#gdImageAlphaBlending">gdImageAlphaBlending</a>). 2.0.12
+correctly preserves an appropriate proportion of the alpha component
+of the destination, just as it preserves an appropriate proportion
+of the red, green and blue components, depending on the opacity
+of the foreground. Thanks to Frank Warmerdam for pointing out the issue.
+<li>Memory leaks on failed attempts to load fonts
+in <a href="#gdImageStringFTEx">gdImageStringFTEx</a> were corrected.
+Thanks to Frank Faubert.
+<li>The impact of kerning is now correctly included in the calculation
+of the bounding box returned by the freetype text routines. This issue
+was pointed out by several individuals.
+<li>Color problems with the <code>gd2</code> file format routines
+were fixed by Steven Brown. These problems were due to the
+incorrect use of a signed integer.
+<li>Version 2.0.12 supports the <code>gd</code> file format correctly
+for truecolor images. Truecolor <code>gd</code> files created with
+earlier releases in the 2.0 series must be written again. The <code>gd</code>
+file format is used to quickly load an entire uncompressed image, typically
+an existing background to which additional material will be added; it is not a
+general purpose file format. More advanced capabilities are also available
+via the <code>gd2</code> format. Thanks to Andreas Pfaller for reporting
+the problem.
+<li>Signed vs. unsigned problem caused misbehavior when attempting to
+load a bad JPEG image. Thanks to Geert Jansen.
+<li>Existing truecolor PNG images with simple single-color transparency are
+now loaded properly, thanks to Slaven Rezic.
+<li>The <a href="#gdImageTrueColorToPalette">gdImageTrueColorToPalette</a>
+function no longer attempts to preserve an alpha channel in the original.
+My attempt to do so resulted in significantly inferior output even if no
+alpha channel was present in the original. Thanks to Barend Gehrels for
+submitting a new adaptation of Tom Lane's jquant2.c which does a very
+high-quality job of palette conversion. Thanks also to Steven Brown, who
+submitted patches allowing a single 100% transparent color in the
+original truecolor image to be preserved. In practice, more complex
+alpha channels in palettes are ill-supported and difficult to
+allocate skillfully.
+</ul>
+<P>
+<A NAME="whatsnew2.0.11"><H3>What's new in version 2.0.11?</H3></A>
+<P>
+<ul>
+<li>Support for the "gd2" file format, which allows fast loading of all or
+only part of an existing image, has been properly debugged for use with
+truecolor images. (Palette images already worked properly, except for a
+bug when loading from a regular file with gdImageCreateFromGd2Part, which
+has also been fixed.) .gd2 files can be either compressed or uncompressed,
+and they allow useful tricks such as fast loading of a 500x500 pixel
+region of a 6000x3000 pixel image, without uncompressing <em>all</em> of the
+image. .gd2 is NOT a general purpose file format and should only be used
+where quick loading of a background image or subset of a larger image
+is required. For more information, see
+<a href="#gdImageGd2">gdImageGd2</a>,
+<a href="#gdImageCreateFromGd2">gdImageCreateFromGd2</a>,
+and
+<a href="#gdImageCreateFromGd2Part">gdImageCreateFromGd2Part</a>.
+<li>The gd2topng utility has been extended to support extraction of
+only part of an image from a .gd2 file. This is both a demonstration and
+a practical tool.
+<li>Additional <code>configure</code> improvements by Lars Hecking.
+</ul>
+<P>
+<A NAME="whatsnew2.0.10"><H3>What's new in version 2.0.10?</H3></A>
+<P>
+<ul>
+<li>gdImageLine now clips to the edges of the image before drawing
+lines, which greatly improves performance when many lines extend
+outside or are entirely outside the actual image. Thanks to
+Nick Atty for this code.
+<li>gdImageBoundsSafe is replaced with a macro when called internally;
+this improves the performance of gdImageSetPixel and gdImageGetPixel
+a little bit, and therefore everything else as well. Thanks to
+Nicky Atty for the idea.
+<li>Transparent indexes are handled properly with non-truecolor
+source images in gdImageCopy. Thanks to Frank Warmerdam.
+<li>floor() replaced with a cast to long in gdImageCopyResampled,
+for a roughly 35% performance boost. Thanks to John Buckman.
+<li>gdft.c builds correctly on WIN32 without patches.
+<li>Much faster gdImageCreateFromJpeg routines, thanks to Christian
+Aberger for more efficient pointer arithmetic.
+<li>gdtestft correctly builds without PNG tests if PNG support is not present.
+Thanks to Gabriele Verzeletti.
+</ul>
+<P>
+<A NAME="whatsnew2.0.9"><H3>What's new in version 2.0.9?</H3></A>
+<P>
+<ul>
+<li>Version 2.0.9 contains a fix to gdImageCopyResized which allows
+correct results when copying a palette-based image with a single
+transparent index into a truecolor image. Thanks to Thorben
+Kundinger.
+<li>More <code>configure</code> fixes from Lars Hecking. Thanks, Lars.
+</ul>
+<P>
+<A NAME="whatsnew2.0.8"><H3>What's new in version 2.0.8?</H3></A>
+<P>
+<ul>
+<li>Version 2.0.8 contains additional fixes to the 'configure' script,
+allowing a clean out-of-the-box build on more systems.
+<li>Version 2.0.8 adds the new
+<a href="#gdImageCopyRotated">gdImageCopyRotated</a> function, which
+can rotate any rectangular image region by an arbitrary number of degrees.
+</ul>
+<P>
+<A NAME="whatsnew2.0.7"><H3>What's new in version 2.0.7?</H3></A>
+<P>
+Version 2.0.7 corrects a problem which caused 'configure' to complain
+that the directory NONE was not found, in various places, causing
+the configuration process to stop. There are no code changes.
+<P>
+<A NAME="whatsnew2.0.6"><H3>What's new in version 2.0.6?</H3></A>
+<P>
+<ul>
+<li>
+Fixed a compilation problem with gdft.c. A declaration appeared
+after executable code, and gcc let it slide by, so it made it
+out the door. My apologies!
+<li>As penance, I have seen to it that the entire library
+now compiles cleanly with the <code>-Wall</code>, <code>-ansi</code>
+and <code>-pedantic</code> options enabled.
+</ul>
+<p>
+<A NAME="whatsnew2.0.5"><H3>What's new in version 2.0.5?</H3></A>
+<ul>
+<li>libgd 2.0.5 INSTALLS IN /usr/local/lib BY DEFAULT. IF YOU WANT
+IT TO INSTALL IN /usr/lib, YOU MUST SPECIFY THIS at
+<code>configure</code> time using this syntax:
+<p>
+<code>./configure --prefix=/usr</code>
+<li>gd now uses GNU autoconf. This means that the provided
+<code>configure</code> script should be compatible with all standard
+GNU configure options and will figure out the correct settings for a
+much wider range of operating systems. Many, many thanks to
+Lars Hecking for taking care of this.
+<li>The <a href="#gdImageStringFTEx">gdImageStringFTEx</a> function
+is now included, thanks to Wez Furlong. My apologies to Wez for the
+unreasonable amount of time this patch has sat in my queue.
+<li>Additional fixes from Wez Furlong.
+<li>Arithmetic cleanup by Doug Claar.
+<li>Corrections to loading and saving of alpha channel
+information in PNG files, by Andrew Hull.
+<li>gdImageTrueColorToPalette does not contain
+unneeded test code.
+<li>gdImageCopyResized works properly again when copying
+from a non-truecolor source.
+</ul>
+<P>
+<A NAME="whatsnew2.0.4"><H3>What's new in version 2.0.4?</H3></A>
+The following contributions from John Ellson:
+<ul>
+<li>Various test programs now compile in the absence
+of PNG support
+<li>gdIOCtx correctly calls gdFree rather than free
+<li>Various cleanups to pass -Wall without warnings
+<li>Support for Adobe-style Type 1 fonts (.pfa and .pfb files)
+via freetype
+<li>gdImageColorResolve and gdImageColorResolveAlpha will not
+attempt to resolve a color request to the transparent color index
+(for palette-based images)
+<li>Improved font search path support
+<li>Antialiased freetype text on palette images works properly
+when more than one image is created in a single program lifetime
+with different color indexes
+<li>Better threshold for two-color "mono" images
+<li>Memory leak fixes
+<li>Text rotation fix
+<li>More extensive default font path
+<li>fontwheeltest and fontsizetest test programs for freetype
+</ul>
+And the following additional fixes:
+<ul>
+<li><code>configure</code> now correctly detects and provides
+support for the Xpm library and its dependencies (Len Makin)
+</ul>
+<A NAME="whatsnew2.0.3"><H3>What's new in version 2.0.3?</H3></A>
+<ul>
+<li>The <code>configure</code> script has been extensively modified
+to work properly in tests with both Solaris and Linux. Other platforms
+should also work based on feedback received and integrated to date.
+<li>The <code>--prefix</code> option to <code>configure</code>
+works properly.
+<li>The <code>annotate</code> utility has been added. This is a
+very handy tool for adding freetype text to existing JPEGs. After
+<code>make install</code>, type <code>annotate -h</code> for more
+information. Thanks to Joel Dubiner.
+</ul>
+<P>
+<A NAME="whatsnew2.0.2"><H3>What's new in version 2.0.2?</H3></A>
+<ul>
+<li>A "configure" script has been added. After wrestling with GNU
+autoconf for a while, I got tired of trying to make it detect libraries
+but accept their absence gracefully, and so on. Instead, I wrote a short
+Perl script which does the job and builds a reasonable Makefile. Those
+who find it doesn't detect their system's needs properly are welcome
+to contribute patches or the necessary commands.
+<li>Antialiased freetype text output now works properly in both
+truecolor and non-truecolor contexts! Hurrah! On a truecolor image
+it is possible, for instance, to draw antialiased text on an arbitrarily
+complex background with 50% alpha blending (transparency), and get the
+expected pretty results. Thanks to Joel Dubiner for his support of this work.
+<li><strong>By default, alpha blending is now done within the library.</strong>
+Also, by default, alpha channel is not saved with PNG images. This means
+that programmers who try loading a JPEG, scribbling some pretty antialiased
+text on it, and saving the JPEG again will now get the results they
+expected. It also means that, by default, users will not run afoul of
+the fact that many web browsers don't properly support full PNG alpha
+channel.
+<li>Various submitted bug fixes have been incorporated.
+<li>Various other submitted changes have not been incorporated. Sorry.
+The interval between 2.0.1 and 2.0.2 was simply too long, and changes
+accumulated which were not mutually compatible. I'll do better in
+the future, especially with bug fixes.
+</ul>
+<P><A NAME="whatsnew2.0.1"><H3>What's new in version 2.0.1?</H3></A>
+<ul>
+<li>Workaround for a bug in gcc, apparently found in gcc 2.7.2 and up.
+I reproduced and fixed it while using gcc 2.9.5.2. The bug occurred only
+when the -g option was in use. This problem caused gcc to spew
+internal error messages unrelated to the correctness of the code
+in gd_gd2.c. Howard Jones was first to report it.
+<li><a href="#gdImageFilledEllipse">gdImageFilledEllipse</a> documented
+and altered; no longer requires a superfluous style argument. Thanks to
+Francis James Franklin.
+<li>The Makefile now offers the correct syntax for
+optionally creating a static library. Thanks to Jean-Lous Regez,
+among others.
+<li>A nested comment, an attempt to return the value of a void function,
+and a potentially significant error in gdImageCopyResampled were fixed
+thanks to Joseph Shirley.
+<li>A bug preventing proper truecolor text rendering was fixed,
+thanks to Jason Gallagher.
+<li><a href="#gdImageStringFT">gdImageStringFT</a> (FreeType) should
+now work better against a transparent or semitransparent background,
+and should act in a manner consistent with the most recent
+<a href="#gdImageAlphaBlending">gdImageAlphaBlending</a> setting.
+Antialiasing is now done via the alpha channel mechanism if the
+image is a truecolor image.
+<li>Bugs in the output of gdImageArc and gdImageFilledArc were reported
+by Bruce Verderaime. A simple and correct but inefficient implementation
+has been substituted until fixes are contributed for the faster code,
+which is in gd_arc_f_buggy.c along with the test program that reproduces
+the bug(s).
+<li><a href="#gdImageFilledArc">gdImageFilledArc</a> now offers additional
+style options, which can be combined to produce various effects.
+<li>Masahito Yamaga (ma@yama-ga.com) sent a patch to improve
+support for Japanese output via <a href="#gdImageStringFT">gdImageStringFT</a>.
+He also added a new <code>readme.jpn</code> file.
+<li>Zillions of documentation fixes.
+</ul>
+<P><A NAME="whatsnew2.0"><H3>What's new in version 2.0?</H3></A>
+<ul>
+<li><strong>Support for truecolor images!</strong> Version 2.0 can
+load truecolor PNGs with no loss of color information, and almost
+no loss of alpha channel information. Version 2.0 can also load
+truecolor JPEGs with as little loss as possible; however, bear in
+mind that JPEG is a lossy format, so repeated load/save cycles
+always reduce image quality. This is not a bug. To create
+a truecolor image from scratch, call the new
+<a href="#gdImageCreateTrueColor">gdImageCreateTrueColor</a>
+function. The <a href="#gdImageCreate">gdImageCreate</a> function
+is still available to create palette images, and may also be
+referred to as <a href="#gdImageCreatePalette">gdImageCreatePalette</a>.
+<li><strong>Support for alpha channels!</strong> In addition to
+24 bits of color information for each pixel (eight bits of
+red, green, and blue respectively), version 2.0 supports
+7 bits of "alpha channel" information. This is used to determine
+exactly how transparent the pixel should be. There is also support
+for a full 7 bits of transparency for each individual palette index
+in a palette-based image. Please note that, as of this writing,
+only Macintosh Internet Explorer 5.x and Mozilla/Netscape 6.x
+display partial transparency properly.
+<li>The new <a href="#gdImageAlphaBlending">gdImageAlphaBlending</a>
+function allows for two different modes of drawing. In blending mode,
+the alpha channel component of the color supplied to all drawing
+functions, such as <a href="#gdImageSetPixel">gdImageSetPixel</a>,
+determines how much of the underlying color should be allowed to
+shine through. The resulting image is not transparent. In non-blending
+mode, drawing color is copied literally with the alpha channel
+information, resulting in a transparent image. Blending mode is
+not available when drawing on palette images.
+<li>The <a href="#gdImageCopyResampled">gdImageCopyResampled</a>
+function provides "smooth" copying from a large image to a smaller
+one, using a weighted average of the pixels of the source area rather
+than selecting one representative pixel. This function is identical
+to <a href="#gdImageCopyResized">gdImageCopyResized</a> when the
+destination image is a palette image.
+<li>The <a href="#gdImageTrueColorToPalette">gdImageTrueColorToPalette</a>
+function converts a truecolor image to a palette image. The code for
+this function was originally drawn from the Independent JPEG Group library
+code, which is excellent. The code has been modified to preserve as much
+alpha channel information as possible in the resulting palette, in addition
+to preserving colors as well as possible. This does not work as well as
+might be hoped. It is usually best to simply produce a truecolor
+output image instead, which guarantees the highest output quality.
+<li>A very high degree of backwards compatibility with existing
+gd 1.x code has been maintained, at both the source code and binary
+level. <strong>Code which directly accesses the <code>pixels</code> array
+will fail only if it encounters an existing truecolor image</strong>, which may
+happen if the code attempts to open and modify an existing JPEG or
+truecolor PNG. Such code should be modified to check the
+<code>trueColor</code> flag of the <code>gdImage</code> structure, and
+refer to the <code>tpixels</code> array instead when it is set.
+<li>gd is now compiled and installed as a shared library. However,
+gd still does not use autoconf, because I (TBB) have very limited
+patience with autoconf. These days, most Unix systems provide a fairly
+POSIX-standard environment, and the provided Makefile is likely to work well
+if users read it and follow the instructions at the top.
+<li>Support for line thickness was added by Michael Schwartz. My apologies
+to him for sitting on his patches for so long. See the new
+<a href="#gdImageSetThickness">gdImageSetThickness</a> function, which
+affects all standard gd functions that draw lines and curves. In addition,
+Michael added a convenient <a href="#gdImageEllipse">gdImageEllipse</a>
+function.
+<li>The new <a href="#gdImageFilledArc">gdImageFilledArc</a> function
+provides a straightforward way to draw filled arcs. Also,
+<a href="#gdImageFilledEllipse">gdImageFilledEllipse</a> is a
+convenient way to fill an ellipse without specifying starting
+and ending angles. Thanks go out to F J Franklin.
+<li>To put an end to the confusion, TrueType 1.x support has been
+removed in favor of TrueType 2.x support. The old
+gdImageStringTTF function simply invokes gdImageStringFT.
+<li>The specialized .gd and .gd2 file formats have been upgraded to support
+truecolor. New images written by the versions of these functions
+found in 2.0 will be rejected, with varying degrees of grace, by
+older versions of gd. THIS AFFECTS THE .GD and .GD2 FORMATS ONLY. IF YOU
+ARE CONFUSED BY THIS PARAGRAPH, IT PROBABLY DOESN'T APPLY TO ANYTHING
+YOU WILL EVER ENCOUNTER. Since these file formats are absolutely,
+positively *not* designed for distributing images, just for
+preprocessing them, this should not be a big problem. gd 2.0 should
+read old .gd and .gd2 files correctly.
+</ul>
+<P><A NAME="whatsnew1.8.4"><H3>What's new in version 1.8.4?</H3></A>
+<ul>
+<li>Add support for FreeType2 (John Ellson ellson@graphviz.org)
+<li>Add support for finding in fonts in a builtin DEFAULT_FONTPATH,
+or in a path from the GDFONTPATH environment variable.
+<li>remove some unused symbols to reduce compiler warnings
+<li>bugfix in size comparisons in gdImageCompare
+<li>REXX now mentioned
+<li>All memory allocation functions are now wrapped within the
+library; gdFree is exported and recommended for freeing memory
+returned by the gdImage(Something)Ptr family of functions.
+</ul>
+<P><A NAME="whatsnew1.8.3"><H3>What's new in version 1.8.3?</H3></A>
+<ul>
+<li>WBMP output memory leak fixed
+<li><code>#include &lt;gd.h&gt;</code> corrected to <code>#include "gd.h"</code> in gd_wbmp.c
+<li>Documented the fact that the source and output images shouldn't
+match in the WBMP test except for black and white source images
+</ul>
+<P>
+<A NAME="whatsnew1.8.2"><H3>What's new in version 1.8.2?</H3></A>
+<ul>
+<li>WBMP support debugged and improved by Johann Van den Brande
+<li>WBMP tests added to gdtest.c by Thomas Boutell
+<li>Use of platform-dependent 'install' command removed by Thomas Boutell
+<li>Comments added to Makefile warning users to juggle the order of the
+libraries if the linker complains; is there any portable way to do this
+automatically, short of using autoconf?
+<li>Documentation of <a href="#gdImageCreateFromXpm">gdImageCreateFromXpm</a>
+corrected
+<li>Updated links to fast-moving, always dodging libpng and zlib web sites
+</ul>
+<P><A NAME="whatsnew1.8.1"><H3>What's new in version 1.8.1?</H3></A>
+<ul>
+<li>Optional components no longer built by default (following the
+documentation)
+<li>JPEG code no longer requires inappropriate header files
+<li>Win32 patches from Joe Gregorio
+<li>16-bit font support for bdftogd, from Honza Pazdziora
+</ul>
+<P><A NAME="whatsnew1.8"><H3>What's new in version 1.8?</H3></A>
+<ul>
+<li>Support for JPEG output, courtesy of Doug Becker
+<li>A link to Michael Bradbery's Pascal wrapper
+<li>Support for WBMP output, courtesy of Maurice Szmurlo
+<li>gdImageColorClosestHWB function based on hue, whiteness, blackness,
+superior to the regular gdImageColorClosest function, courtesy
+of Philip Warner
+<li>License clarification: yes, you can modify gd
+</ul>
+<h4>Additional JPEG Information</h4>
+Support for reading and writing JPEG-format images is courtesy
+of Doug Becker and the Independent JPEG Group / Thomas G. Lane. You
+can get the latest version of the IJG JPEG software from <A
+HREF="ftp://ftp.uu.net/graphics/jpeg/">ftp://ftp.uu.net/graphics/jpeg/</A>
+(e.g., the <A
+HREF="ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz">jpegsrc.v6b.tar.gz</A>
+file). You <strong>must</strong> use
+version 6b or later of the IJG JPEG software. You might also consult
+the <A HREF="http://www.faqs.org/faqs/jpeg-faq/">JPEG FAQ</A> at
+<A HREF="http://www.faqs.org/faqs/jpeg-faq/">http://www.faqs.org/faqs/jpeg-faq/</A>.
+<P><A NAME="whatsnew1.7.3"><H3>What's new in version 1.7.3?</H3></A>
+Another attempt at Makefile fixes to permit
+linking with all libraries required on platforms with order-
+dependent linkers. Perhaps it will work this time.
+<P><A NAME="whatsnew1.7.2"><H3>What's new in version 1.7.2?</H3></A>
+An uninitialized-pointer bug in <code>gdtestttf.c</code> was corrected.
+This bug caused crashes at the end of each call to gdImageStringTTF on
+some platforms. Thanks to Wolfgang Haefelinger.
+<p>
+Documentation fixes. Thanks to Dohn Arms.
+<p>
+Makefile fixes to permit
+linking with all libraries required on platforms with order-
+dependent linkers.
+<P><A NAME="whatsnew1.7.1"><H3>What's new in version 1.7.1?</H3></A>
+A minor buglet in the Makefile was corrected, as well as an inaccurate
+error message in <code>gdtestttf.c</code>. Thanks to Masahito Yamaga.
+<P><A NAME="whatsnew1.7"><H3>What's new in version 1.7?</H3></A>
+Version 1.7 contains the following changes:
+<ul>
+<li>Japanese language support for the TrueType functions.
+Thanks to Masahito Yamaga.
+<li><code>autoconf</code> and <code>configure</code> have been removed, in favor of a
+carefully designed Makefile which produces and properly installs
+the library and the binaries. System-dependent variables are
+at the top of the Makefile for easy modification. I'm sorry,
+folks, but autoconf generated <strong>many, many confused email
+messages</strong> from people who didn't have things where autoconf
+expected to find them. I am not an autoconf/automake wizard, and
+gd is a simple, very compact library which does not need to
+be a shared library. I <strong>did</strong> make many improvements
+over the old gd 1.3 Makefile, which were directly inspired by the
+autoconf version found in the 1.6 series (thanks to John Ellson).
+<li>Completely ANSI C compliant, according to the <code>-pedantic-errors</code>
+flag of gcc. Several pieces of not-quite-ANSI-C code were causing problems
+for those with non-gcc compilers.
+<li><code>gdttf.c</code> patched to allow the use of Windows symbol
+fonts, when present (thanks to Joseph Peppin).
+<li><code>extern "C"</code> wrappers added to <code>gd.h</code> and the
+font header files for the convenience of C++ programmers.
+<code>bdftogd</code> was also modified to automatically insert these
+wrappers into future font header files. Thanks to John Lindal.
+<li>Compiles correctly on platforms that don't define <code>SEEK_SET</code>.
+Thanks to Robert Bonomi.
+<li>Loads Xpm images via the
+<a href="#gdImageCreateFromXpm"><code>gdImageCreateFromXpm</code></a>
+function, if the Xpm library is available. Thanks to Caolan McNamara.
+</ul>
+<P><A NAME="whatsnew1.6.3"><H3>What's new in version 1.6.3?</H3></A>
+Version 1.6.3 corrects a memory leak in gd_png.c. This leak caused
+a significant amount of memory to be allocated and not freed when
+writing a PNG image.
+<P><A NAME="whatsnew1.6.2"><H3>What's new in version 1.6.2?</H3></A>
+Version 1.6.2 from John Ellson <ellson@graphviz.org> adds two new functions:
+<ul>
+<li>gdImageStringTTF - scalable, rotatable, anti-aliased, TrueType strings using
+the FreeType library, but only if libttf is found by configure.
+<strong>We do not provide TrueType fonts. Obtaining them
+is entirely up to you.</strong>
+<li>gdImageColorResolve - an efficient alternative for the
+common code fragment:
+<pre>
+
+ if ((color=gdImageColorExact(im,R,G,B)) < 0)
+ if ((color=gdImageColorAllocate(im,R,G,B)) < 0)
+ color=gdImageColorClosest(im,R,G,B);
+</pre>
+</ul>
+<p>
+Also in this release the build process has been converted to
+GNU autoconf/automake/libtool conventions so that both (or either)
+static and shared libraries can be built.
+<P><A NAME="whatsnew1.6.1"><H3>What's new in version 1.6.1?</H3></A>
+Version 1.6.1 incorporates superior PNG reading and writing code
+from Greg Roelofs, with minor modifications by Tom Boutell.
+Specifically, I altered his code to read non-palette images
+(converting them to palette images badly, by dithering them),
+and to tolerate palette images with types of transparency that
+gd doesn't actually support (it just ignores the advanced
+transparency features). Any bugs in this area are therefore my
+fault, not Greg's.
+<p>
+Unlike gd 1.6, users should have no trouble linking with
+gd 1.6.1 if they follow the instructions and install all of
+the pieces. However, <strong>If you get undefined symbol errors,
+be sure to check for older versions of libpng in your
+library directories!</strong>
+<P><A NAME="whatsnew1.6"><H3>What's new in version 1.6?</H3></A>
+Version 1.6 features the following changes:
+<p>
+<strong>Support for 8-bit palette PNG images has been added.
+Support for GIF has been removed.</strong> This step was taken
+to completely avoid the legal controversy regarding the LZW
+compression algorithm used in GIF. Unisys holds a patent which
+is relevant to LZW compression. PNG is a superior image format
+in any case. Now that PNG is supported by both Microsoft
+Internet Explorer and Netscape (in their recent releases),
+we highly recommend that GD users upgrade in order to get
+well-compressed images in a format which is legally unemcumbered.
+
+<P><A NAME="whatsnew1.5"><H3>What's new in version 1.5?</H3></A>
+
+Version 1.5 featured the following changes:
+
+<dl>
+<dt><b>New GD2 format</b>
+<dd> An improvement over the GD format, the GD2 format uses the zlib
+ compression library to compress the image in chunks. This results
+ in file sizes comparable to GIFs, with the ability to access parts
+ of large images without having to read the entire image into memory.
+<p>
+ This format also supports version numbers and rudimentary validity
+ checks, so it should be more 'supportable' than the previous GD format.
+<p>
+<dt><b>Re-arranged source files</b>
+<dd> gd.c has been broken into constituant parts: io, gif, gd, gd2 and
+ graphics functions are now in separate files.
+<p>
+<dt><b>Extended I/O capabilities.</b>
+<dd> The source/sink feature has been extended to support GD2 file formats (which
+ require seek/tell functions; seek must return 1 for success, 0 for failure), and to allow more general non-file I/O.
+<p>
+<dt><b>Better support for Lincoln Stein's Perl Module</b>
+<dd> The new gdImage*Ptr function returns the chosen format stored in a block of memory.
+ This can be directly used by the GD perl module.
+<p>
+<dt><b>Added functions</b>
+<dd>gdImageCreateFromGd2Part - allows retrieval of part of an image (good for huge images, like maps),
+<br>gdImagePaletteCopy - Copies a palette from one image to another, doing it's best to match the colors in the target image to the colors in the source palette.
+<br>gdImageGd2, gdImageCreateFromGd2 - Support for new format
+<br>gdImageCopyMerge - Merges two images (useful to highlight part of an image)
+<br>gdImageCopyMergeGray - Similar to gdImageCopyMerge, but tries to preserve source image hue.
+<br>gdImagePngPtr, gdImageJpegPtr, gdImageWBMPPtr, gdImageGdPtr, gdImageGd2Ptr - return memory blocks for each type of image.
+<br>gdImageCreateFromPngCtx, gdImageCreateFromGdCtx, gdImageCreateFromGd2Ctx, gdImageCreateFromGd2PartCtx - Support for new I/O context.
+
+</dl>
+
+<b>NOTE:</b> In fairness to Thomas Boutell, any bug/problems with any of the above features should
+probably be reported to <a href=mailto:pjw@rhyme.com.au>Philip Warner</a>.
+
+<P><A NAME="whatsnew1.4"><H3>What's new in version 1.4?</H3></A>
+
+Version 1.4 features the following changes:
+<dl>
+<dt>Fixed polygon fill routine (again)
+<dd>Thanks to Kirsten Schulz, version 1.4 is able to fill
+numerous types of polygons that caused problems with
+previous releases, including version 1.3.
+<dt>Support for alternate data sources
+<dd>Programmers who wish to load a GIF from something other
+than a stdio FILE * stream can use the new
+<a href="#gdImageCreateFromPngSource">gdImageCreateFromPngSource</a> function.
+<dt>Support for alternate data destinations
+<dd>Programmers who wish to write a GIF to something other
+than a stdio FILE * stream can use the new
+<a href="#gdImagePngToSink">gdImagePngToSink</a> function.
+<dt>More tolerant when reading GIFs
+<dd>
+Version 1.4 does not crash when reading certain animated GIFs,
+although it still only reads the first frame. Version 1.4 also has
+overflow testing code to prevent crashes when reading
+damaged GIFs.
+</dl>
+<P><A NAME="whatsnew1.3"><H3>What's new in version 1.3?</H3></A>
+Version 1.3 features the following changes:
+<dl>
+<dt>Non-LZW-based GIF compression code
+<dd>
+Version 1.3 contained GIF compression code that uses simple Run Length
+Encoding instead of LZW compression, while still retaining compatibility
+with normal LZW-based GIF decoders (your browser will still like your GIFs).
+<strong>LZW compression is patented by Unisys. We are currently reevaluating
+the approach taken by gd 1.3. The current release of gd does not support
+this approach. We recommend that you use the current release, and generate
+PNG images.</strong> Thanks to
+Hutchison Avenue Software Corporation for contributing
+the RLE GIF code.
+<dt>8-bit fonts, and 8-bit font support
+<dd>This improves support for European languages. Thanks are due
+to Honza Pazdziora <adelton@informatics.muni.cz> and also to
+Jan Pazdziora <adelton@fi.muni.cz>. Also see the provided bdftogd
+Perl script if you wish to convert fixed-width X11 fonts
+to gd fonts.
+<dt>16-bit font support (no fonts provided)
+<dd>Although no such fonts are provided in the distribution,
+fonts containing more than 256 characters should work if the
+gdImageString16 and gdImageStringUp16 routines are used.
+<dt>Improvements to the "webpng" example/utility
+<dd>The "webpng" utility is now a slightly more useful application. Thanks to
+Brian Dowling for this code.
+<dt>Corrections to the color resolution field of GIF output
+<dd>Thanks to Bruno Aureli.
+<dt>Fixed polygon fills
+<dd>A one-line patch for the infamous polygon fill bug, courtesy
+of Jim Mason. I believe this fix is sufficient. However, if you
+find a situation where polygon fills still fail to behave properly,
+please send code that demonstrates the problem, <em>and</em> a fix if
+you have one. Verifying the fix is important.
+<dt>Row-major, not column-major
+<dd>Internally, gd now represents the array of pixels as
+an array of rows of pixels, rather than an array of columns
+of pixels. This improves the performance of compression and
+decompression routines slightly, because horizontally adjacent
+pixels are now next to each other in memory. <strong>This should
+not affect properly written gd applications, but applications that
+directly manipulate the <code>pixels</code> array will require
+changes.</strong>
+</dl>
+<A NAME="required"><H3>What else do I need to use gd?</H3></A>
+<P>
+To use gd, you will need an ANSI C compiler. <strong>All popular
+Windows 95 and NT C compilers are ANSI C compliant.</strong> Any
+full-ANSI-standard C compiler should be adequate. <strong>The cc
+compiler released with SunOS 4.1.3 is not an ANSI C compiler.
+Most Unix users who do not already have gcc should get it.
+gcc is free, ANSI compliant and a de facto industry standard.
+Ask your ISP why it is missing.</strong>
+<P>
+As of version 1.6, you also need the zlib compression library,
+and the libpng library. As of version 1.6.2, you can draw text
+using antialiased TrueType fonts if you also have the libttf
+library installed, but this is not mandatory.
+zlib is available for a variety of platforms from
+<a href="http://www.freesoftware.com/pub/infozip/index.html">the zlib web site</a>.
+libpng is available for a variety of platforms from
+<a href="http://www.cdrom.com/pub/png/">the PNG web site</a>.
+
+<P>
+You will also want a PNG viewer, if you do not already have
+one for your system, since you will need a good way to check the
+results of your work. Netscape 4.04 and higher, and Microsoft
+Internet Explorer 4.0 or higher, both support PNG.
+<strong>Not every PNG-compatible viewer supports alpha channel
+transparency,</strong> which is why gd 2.0.2 and above do alpha
+blending in the library by default; it is possible to turn on the
+saving of alpha channel information to the file instead.
+<P>
+<A NAME="getgd"><H3>How do I get gd?</H3></A>
+<h4>Binaries (DLL for Windows programmers):</h4>
+<ul>
+<li><a href="http://www.libgd.org/Downloads">.ZIP File of DLL, Headers, Et Cetera</a>
+<p>
+</ul>
+<h4>Source Code:</h4>
+<ul>
+<li><a href="http://www.libgd.org/Downloads">Gzipped Tar File (Unix)</a>
+<li><a href="http://www.boutell.com/gd/http/gd-2.0.33.tar.gz">.ZIP File of SOURCE CODE (Windows)</a>
+</ul>
+<P>
+<A NAME="buildgd"><H3>How do I build gd?</H3></A>
+<blockquote>
+Win32 DLL users: if you are using MSVC, use the provided batch file
+<code>makemsvcimport.bat</code> to make a bgd.lib import library
+corresponding to the provided bgd.dll. Copy bgd.dll to your
+application directory, or to your Windows sytem directory. In the
+settings of your MSVC project, you <b>MUST</b> choose the
+"multithreaded DLL" library option under "code generation."
+mingw32 and cygwin users can simply link with the provided libbgd.a
+stub library in order to use the DLL.
+</blockquote>
+Building gd From the Source
+<p>
+In order to build gd, you must first unpack the archive you have
+downloaded. If you are not familiar with <code>tar</code> and
+<code>gunzip</code> (Unix) or <code>ZIP</code> (Windows), please
+consult with an experienced user of your system. Sorry, we cannot
+answer questions about basic Internet skills.
+<p>
+Unpacking the archive will produce a directory called "gd-2.0.33".
+<p>
+<h4>For Unix</h4>
+<code>cd</code> to the 2.0.33 directory and type:
+<p>
+<code>./configure</code>
+<P>
+<blockquote>
+<STRONG>NOTE: BY DEFAULT, THE LIBRARY IS INSTALLED IN
+<code>/usr/local/lib</code></strong> and the include files are
+installed in <code>/usr/local/include</code>. IF YOU ARE
+UPGRADING, you may wish to use:
+<pre>
+./configure --prefix=/usr
+</pre>
+Rather than just <code>./configure</code>, before typing
+<code>make</code> and <code>make install</code>.
+</blockquote>
+<p>
+If all goes well, this will create a Makefile. If all does not go well --
+for instance, if neither the the JPEG nor the PNG and ZLIB libraries
+are found -- you will need to install those libraries, then come back
+and run <code>configure</code> again.
+<p>
+If necessary, make changes to the resulting Makefile. Then,
+type "make". If there are no errors, follow this with "make install".
+Because gd 2.0 and above installs as a shared library, it is necessary to
+install the library properly before running gd-based programs.
+<p>
+If you get errors, type <code>./configure --help</code> for more
+information about the available options. In the unlikely event
+that the GNU autoconf-produced configure script does not work well
+for you, you may wish to try <code>configure.pl</code>, a
+simple Perl script with similar but less complete capabilities.
+If all else fails, try renaming <code>makefile.sample</code>
+to <code>Makefile</code>. However, <code>./configure</code> is
+almost always your best bet.
+<blockquote>
+<h4>For Windows</h4>
+Use the DLL version! See the paragraph at the beginning of this sectino.
+If you really want to compile it yourself for some strange reason, read on.
+<p>
+Create a project using your favorite programming environment.
+Copy all of the gd files to the project directory. Add <code>gd.c</code>
+to your project. Add other source files as appropriate. Learning the
+basic skills of creating projects with your chosen C environment
+is up to you. Alternatively, use the free <code>mingw32</code>
+or <code>cygwin</code> tools, which may prove to be compatible
+with the provided <code>configure</code> script.
+</blockquote>
+<P>
+If you wish to test the library, type "make test" AFTER you have
+successfully executed "make install". This will build
+several test programs, including "gddemo". (Not all of these
+programs are expected to print completely successful messages,
+depending on the nature of the image formats with which some of
+the tests are tried; for instance, WBMP is a black and white
+format, so loss of color information is expected there.)
+Run gddemo to see some of the capabilities of gd. Run
+gdtestft to play with the freetype support, if you have built
+gd with it and have access to truetype fonts.
+<P>
+gddemo should execute without incident, creating the file
+demoout.png. (Note there is also a file named demoin.png,
+which is provided in the package as part of the demonstration.)
+<P>
+Display demoout.png in your PNG viewer. The image should
+be 128x128 pixels and should contain an image of the
+space shuttle with quite a lot of graphical elements drawn
+on top of it.
+<P>
+(If you are missing the demoin.png file, the other items
+should appear anyway.)
+<P>
+Look at demoin.png to see the original space shuttle
+image which was scaled and copied into the output image.
+<P>
+<A NAME="basics"><H3>gd basics: using gd in your program</H3></A>
+gd lets you create PNG or JPEG images on the fly. To use gd in your
+program, include the file gd.h, and link with the gd
+library and the other required libraries; the syntax for
+most Unix flavors is:
+<pre>
+-lgd -lpng -lz -ljpeg -lfreetype -lm
+</pre>
+Assuming that all of these libraries are available.
+<P>
+If you want to use the provided simple fonts, include
+gdfontt.h, gdfonts.h, gdfontmb.h, gdfontl.h and/or gdfontg.h. For
+more impressive results, install FreeType 2.x and use the
+<a href="#gdImageStringFT">gdImageStringFT</a>
+function. If you are not using the provided Makefile and/or a
+library-based approach, be sure to include the source modules as well in your
+project. (They may be too large for 16-bit memory models,
+that is, 16-bit DOS and Windows.)
+<P>
+Here is a short example program. <strong>(For a more advanced example,
+see gddemo.c, included in the distribution. gddemo.c is NOT the same program;
+it demonstrates additional features!)</strong>
+<P>
+<PRE>
+/* Bring in gd library functions */
+#include "gd.h"
+
+/* Bring in standard I/O so we can output the PNG to a file */
+#include &lt;stdio.h&gt;
+
+int main() {
+ /* Declare the image */
+ <A HREF="#gdImagePtr">gdImagePtr</A> im;
+ /* Declare output files */
+ FILE *pngout, *jpegout;
+ /* Declare color indexes */
+ int black;
+ int white;
+
+ /* Allocate the image: 64 pixels across by 64 pixels tall */
+ im = <A HREF="#gdImageCreate">gdImageCreate</A>(64, 64);
+
+ /* Allocate the color black (red, green and blue all minimum).
+ Since this is the first color in a new image, it will
+ be the background color. */
+ black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+
+ /* Allocate the color white (red, green and blue all maximum). */
+ white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+
+ /* Draw a line from the upper left to the lower right,
+ using white color index. */
+ <A HREF="#gdImageLine">gdImageLine</A>(im, 0, 0, 63, 63, white);
+
+ /* Open a file for writing. "wb" means "write binary", important
+ under MSDOS, harmless under Unix. */
+ pngout = fopen("test.png", "wb");
+
+ /* Do the same for a JPEG-format file. */
+ jpegout = fopen("test.jpg", "wb");
+
+ /* Output the image to the disk file in PNG format. */
+ <A HREF="#gdImagePng">gdImagePng</A>(im, pngout);
+
+ /* Output the same image in JPEG format, using the default
+ JPEG quality setting. */
+ <A HREF="#gdImageJpeg">gdImageJpeg</A>(im, jpegout, -1);
+
+ /* Close the files. */
+ fclose(pngout);
+ fclose(jpegout);
+
+ /* Destroy the image in memory. */
+ <A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+}
+</PRE>
+When executed, this program creates an image, allocates
+two colors (the first color allocated becomes the background
+color), draws a diagonal line (note that 0, 0 is the upper
+left corner), writes the image to PNG and JPEG files, and
+destroys the image.
+<P>
+The above example program should
+give you an idea of how the package works.
+gd provides many additional functions, which are listed
+in the following reference chapters, complete with code
+snippets demonstrating each. There is also an
+<A HREF="#index">alphabetical index</A>.
+<H3><A NAME="webpng">Webpng: a more powerful gd example</A></H3>
+Webpng is a simple utility program to manipulate PNGs from the
+command line. It is written for Unix and similar command-line
+systems, but should be easily adapted for other environments.
+Webpng allows you to set transparency and interlacing and
+output interesting information about the PNG in question.
+<P>
+webpng.c is provided in the distribution. Unix users can
+simply type "make webpng" to compile the program. Type
+"webpng" with no arguments to see the available options.
+<H2><A NAME="reference">Function and type reference</A></H2>
+<UL>
+<LI><A HREF="#types">Types</A></LI>
+<LI><A HREF="#creating">Image creation, destruction, loading and saving</A></LI>
+<LI><A HREF="#drawing">Drawing, styling, brushing, tiling and
+filling functions</A></LI>
+<LI><A HREF="#query">Query functions (not color-related)</A></LI>
+<LI><A HREF="#fonts">Font and text-handling functions</A></LI>
+<LI><A HREF="#colors">Color handling functions</A></LI>
+<LI><A HREF="#copying">Copying, resizing, rotating, deformation and filter
+functions</A></LI>
+<LI><A HREF="#misc">Miscellaneous Functions</A></LI>
+<LI><A HREF="#constants">Constants</A></LI>
+</UL>
+<H3><A NAME="types">Types</A></H3>
+<DL>
+<DT><A NAME="gdImage"><code>gdImage</code><strong>(TYPE)</strong></A>
+<DD>
+The data structure in which gd stores images. <A HREF="#gdImageCreate">
+gdImageCreate</A>, <a href="#gdImageCreateTrueColor">gdImageCreateTrueColor</a>
+and the various image file-loading functions return
+a pointer to this type, and the other functions expect to receive
+a pointer to this type as their first argument. It is reasonably safe to
+examine any of the members of this structure. It is also reasonably
+safe to modify individual pixels within the <code>pixels</code>
+or <code>tpixels</code> arrays. If the <code>trueColor</code> flag
+is set, the <code>tpixels</code> array is valid; otherwise the
+<code>pixels</code> array is valid.
+<p>
+The <code>colorsTotal</code>, <code>red</code>, <code>green</code>,
+<code>blue</code>, <code>alpha</code> and <code>open</code> arrays
+manage the palette. They are valid only when the <code>trueColor</code>
+flag is not set.
+The <code>transparent</code> value contains the palette index of the first
+transparent color as read-only information for backwards compatibility;
+gd 2.0 stores this information in the <code>alpha</code> array so that
+variable transparency can be supported for each palette entry. However,
+for truecolor images, <code>transparent</code> represents a single
+RGB color which is <strong>always 100% transparent</strong>, and this
+feature is generally supported by browsers which do not support
+full alpha channels.
+<PRE>
+typedef struct {
+ /* Palette-based image pixels */
+ unsigned char ** pixels;
+ int sx;
+ int sy;
+ /* These are valid in palette images only. See also
+ /* 'alpha', which appears later in the structure to
+ preserve binary backwards compatibility */
+ int colorsTotal;
+ int red[gdMaxColors];
+ int green[gdMaxColors];
+ int blue[gdMaxColors];
+ int open[gdMaxColors];
+ /* For backwards compatibility, this is set to the
+ first palette entry with 100% transparency,
+ and is also set and reset by the
+ gdImageColorTransparent function. Newer
+ applications can allocate palette entries
+ with any desired level of transparency; however,
+ bear in mind that many viewers, notably
+ many web browsers, fail to implement
+ full alpha channel for PNG and provide
+ support for full opacity or transparency only. */
+ int transparent;
+ int *polyInts;
+ int polyAllocated;
+ struct gdImageStruct *brush;
+ struct gdImageStruct *tile;
+ int brushColorMap[gdMaxColors];
+ int tileColorMap[gdMaxColors];
+ int styleLength;
+ int stylePos;
+ int *style;
+ int interlace;
+ /* New in 2.0: alpha channel for palettes. Note that only
+ Macintosh Internet Explorer and (possibly) Netscape 6
+ really support multiple levels of transparency in
+ palettes, to my knowledge, as of 2/15/01. Most
+ common browsers will display 100% opaque and
+ 100% transparent correctly, and do something
+ unpredictable and/or undesirable for levels
+ in between. TBB */
+ int alpha[gdMaxColors];
+ /* Truecolor flag and pixels. New 2.0 fields appear here at the
+ end to minimize breakage of existing object code. */
+ int trueColor;
+ int ** tpixels;
+ /* Should alpha channel be copied, or applied, each time a
+ pixel is drawn? This applies to truecolor images only.
+ No attempt is made to alpha-blend in palette images,
+ even if semitransparent palette entries exist.
+ To do that, build your image as a truecolor image,
+ then quantize down to 8 bits. */
+ int alphaBlendingFlag;
+ /* Should the alpha channel of the image be saved? This affects
+ PNG at the moment; other future formats may also
+ have that capability. JPEG doesn't. */
+ int saveAlphaFlag;
+} gdImage;
+</PRE>
+<p>
+The order of the structure members may appear confusing, but was chosen
+deliberately to increase backwards compatibility with existing gd 1.x-based
+binary code that references particular structure members.
+<DT><A NAME="gdImagePtr">gdImagePtr</A> <strong>(TYPE)</strong>
+<DD>
+A pointer to an image structure. <A HREF="#gdImageCreate">gdImageCreate</A>
+returns this type, and the other functions expect it as the first
+argument.
+<DT><A NAME="gdIoCtx">gdIOCtx</a> <strong>(TYPE)</strong>
+<DD>
+Most of the gd functions that read and write files, such as
+<a href="#gdImagePng">gdImagePng</a> and <a href="#gdImageCreateFromJpeg"></a>,
+also have variants that accept a gdIOCtx structure; see
+<a href="#gdImagePngCtx">gdImagePngCtx</a> and
+<a href="#gdImageCreateFromJpegCtx">gdImageCreateFromJpegCtx</a>. Those who wish to provide
+their own custom routines to read and write images can populate a
+gdIOCtx structure with functions of their own devising to
+to read and write data. For image reading, the only mandatory
+functions are getC and getBuf, which must return the number of
+characters actually read, or a negative value on error or EOF.
+These functions must read the number of characters requested
+unless at the end of the file. For image writing, the only mandatory
+functions are putC and putBuf, which return the number of
+characters written; these functions must write the number of
+characters requested except in the event of an error. The seek
+and tell functions are only required in conjunction with the
+<code>gd2</code> file format, which supports quick loading of
+partial images. The gd_free function will not be invoked when
+calling the standard Ctx functions; it is an implementation
+convenience when adding new data types to gd. For examples,
+see gd_png.c, gd_gd2.c, gd_jpeg.c, etc., all of which rely
+on gdIOCtx to implement the standard image read and write functions.
+
+<pre>
+typedef struct gdIOCtx
+{
+ int (*getC) (struct gdIOCtx *);
+ int (*getBuf) (struct gdIOCtx *, void *, int wanted);
+
+ void (*putC) (struct gdIOCtx *, int);
+ int (*putBuf) (struct gdIOCtx *, const void *, int wanted);
+
+ /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
+ int (*seek) (struct gdIOCtx *, const int);
+
+ long (*tell) (struct gdIOCtx *);
+
+ void (*gd_free) (struct gdIOCtx *);
+
+} gdIOCtx;
+</pre>
+
+
+<DT><A NAME="gdFont">gdFont</A> <strong>(TYPE)</strong>
+<DD>
+A font structure. Used to declare the characteristics of a font.
+Please see the files gdfontl.c and gdfontl.h for an example of the
+proper declaration of this structure. You can provide your
+own font data by providing such a structure and the associated
+pixel array. You can determine the width and height of a single
+character in a font by examining the w and h members of the
+structure. If you will not be creating your own fonts, you will
+not need to concern yourself with the rest of the components of this
+structure.
+<PRE>
+typedef struct {
+ /* # of characters in font */
+ int nchars;
+ /* First character is numbered... (usually 32 = space) */
+ int offset;
+ /* Character width and height */
+ int w;
+ int h;
+ /* Font data; array of characters, one row after another.
+ Easily included in code, also easily loaded from
+ data files. */
+ char *data;
+} gdFont;
+</PRE>
+<DT><A NAME="gdFontPtr">gdFontPtr</A> <strong>(TYPE)</strong>
+<DD>
+A pointer to a font structure. Text-output functions expect these
+as their second argument, following the <A HREF="#gdImagePtr">
+gdImagePtr</A> argument. Two such pointers are declared in the
+provided include files gdfonts.h and gdfontl.h.
+<DT><A NAME="gdPoint">gdPoint</A> <strong>(TYPE)</strong>
+<DD>
+Represents a point in the coordinate space of the image; used
+by <A HREF="#gdImagePolygon">gdImagePolygon</A>,
+<A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A> and
+<A HREF="#gdImageFilledPolygon">gdImageFilledPolygon</A>.
+<PRE>
+typedef struct {
+ int x, y;
+} gdPoint, *gdPointPtr;
+</PRE>
+<DT><A NAME="gdPointPtr">gdPointPtr</A> <strong>(TYPE)</strong>
+<DD>
+A pointer to a <A HREF="#gdPoint">gdPoint</A> structure; passed
+as an argument to <A HREF="#gdImagePolygon">gdImagePolygon</A>,
+<A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A>
+and <A HREF="#gdImageFilledPolygon">gdImageFilledPolygon</A>.
+</DL>
+<DT><A NAME="gdFTStringExtra">gdFTStringExtra</a> <strong>(TYPE)</strong>
+<DD>
+A structure used to pass additional parameters to the
+<a href="#gdImageStringFTEx">gdImageStringFTEx</a> function. See
+<a href="#gdImageStringFTEx">gdImageStringFTEx</a> for the
+structure definition.
+</DD>
+<DT><A NAME="gdFTStringExtraPtr">gdFTStringExtraPtr</a> <strong>(TYPE)</strong>
+<DD>
+A pointer to a structure used to pass additional parameters to the
+<a href="#gdImageStringFTEx">gdImageStringFTEx</a> function. See
+<a href="#gdImageStringFTEx">gdImageStringFTEx</a> for the
+structure definition.
+</DD>
+<DT><A NAME="gdSource">gdSource</A> <strong>(TYPE)</strong>
+<DD>
+<pre>
+typedef struct {
+ int (*source) (void *context, char *buffer, int len);
+ void *context;
+} gdSource, *gdSourcePtr;
+</pre>
+Represents a source from which a PNG can be read.
+Programmers who do not wish to read PNGs from a file can provide
+their own alternate input mechanism, using the
+<a href="#gdImageCreateFromPngSource">gdImageCreateFromPngSource</a> function.
+See the documentation of that function for an example of the
+proper use of this type.
+<DT><A NAME="gdSink">gdSink</A> <strong>(TYPE)</strong>
+<DD>
+<PRE>
+typedef struct {
+ int (*sink) (void *context, char *buffer, int len);
+ void *context;
+} gdSink, *gdSinkPtr;
+</PRE>
+Represents a "sink" (destination) to which a PNG can be written.
+Programmers who do not wish to write PNGs to a file can provide
+their own alternate output mechanism, using the
+<a href="#gdImagePngToSink">gdImagePngToSink</a> function.
+See the documentation of that function for an example of the
+proper use of this type.
+<H3><A NAME="creating">Image creation, destruction, loading and saving</A></H3>
+<DL>
+<DT><A NAME="gdImageCreate">gdImageCreate(sx, sy)</A>
+<strong>(FUNCTION)</strong>
+<DD>
+gdImageCreate is called to create palette-based images, with no
+more than 256 colors. Invoke gdImageCreate
+with the x and y dimensions of the desired image. gdImageCreate
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or
+NULL if unable to
+allocate the image. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+im = gdImageCreate(64, 64);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateTrueColor">gdImageCreateTrueColor(sx, sy)</A>
+<strong>(FUNCTION)</strong>
+<DD>
+gdImageCreateTrueColor is called to create truecolor images, with
+an essentially unlimited number of colors. Invoke gdImageCreateTrueColor
+with the x and y dimensions of the desired image. gdImageCreateTrueColor
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or
+NULL if unable to
+allocate the image. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<p>
+Truecolor images are always filled with black at creation time.
+There is no concept of a "background" color index.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+im = gdImageCreateTrueColor(64, 64);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateFromJpeg">gdImageCreateFromJpeg(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<br>
+<A NAME="gdImageCreateFromJpegPtr">gdImageCreateFromJpegPtr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<br>
+<A NAME="gdImageCreateFromJpegCtx">gdImageCreateFromJpegCtx(gdIOCtx *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+<DD>
+gdImageCreateFromJpeg is called to load truecolor images from JPEG format files.
+Invoke gdImageCreateFromJpeg with an already opened pointer to a file
+containing the desired image.
+gdImageCreateFromJpeg
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new
+truecolor image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a JPEG image). gdImageCreateFromJpeg does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>. <strong>The
+returned image is always a truecolor image.</strong>
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromJpegPtr, which is otherwise identical
+to gdImageCreateFromJpeg.
+<p>
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+... inside a function ...
+FILE *in;
+in = fopen("myjpeg.jpg", "rb");
+im = gdImageCreateFromJpeg(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateFromPng">gdImageCreateFromPng(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromPngPtr">gdImageCreateFromPngPtr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromPngCtx">gdImageCreateFromPngCtx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+<DD>
+gdImageCreateFromPng is called to load images from PNG format files.
+Invoke gdImageCreateFromPng with an already opened pointer to a file
+containing the desired image.
+gdImageCreateFromPng
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a PNG image). gdImageCreateFromPng does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromPngPtr, which is otherwise identical
+to gdImageCreateFromPng.
+<p>
+If the PNG image being loaded is a truecolor image, the resulting
+gdImagePtr will refer to a truecolor image. If the PNG image
+being loaded is a palette or grayscale image, the resulting
+gdImagePtr will refer to a palette image. gd retains only 8 bits
+of resolution for each of the red, green and blue channels, and
+only 7 bits of resolution for the alpha channel. The former
+restriction affects only a handful of very rare 48-bit color
+and 16-bit grayscale PNG images. The second restriction affects
+all semitransparent PNG images, but the difference is essentially
+invisible to the eye. 7 bits of alpha channel resolution is,
+in practice, quite a lot.
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+... inside a function ...
+FILE *in;
+in = fopen("mypng.png", "rb");
+im = gdImageCreateFromPng(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateFromPngSource">gdImageCreateFromPngSource(gdSourcePtr in)</A>
+<strong>(FUNCTION)</strong>
+<dd>
+<b>Deprecated</b> in favor of
+<a href="#gdImageCreateFromPngCtx">gdImageCreateFromPngCtx</a>. Should
+not be used in new applications.
+<p>
+gdImageCreateFromPngSource is called to load a PNG from
+a data source other than a file. Usage is very similar to
+the <a href="#gdImageCreateFromPng">gdImageCreateFromPng</a> function,
+except that the programmer provides a custom data source.
+<p>
+The programmer must write an input function which accepts
+a context pointer, a buffer, and a number of bytes to be
+read as arguments. This function must read the number of
+bytes requested, unless the end of the file has been reached,
+in which case the function should return zero, or an error
+has occurred, in which case the function should return
+<code>-1</code>. The programmer then creates a
+<a href="#gdSource">gdSource</a> structure and sets
+the <code>source</code> pointer to the input function and
+the context pointer to any value which is useful to the
+programmer.
+<p>
+The example below
+implements <a href="#gdImageCreateFromPng">gdImageCreateFromPng</a>
+by creating a custom data source and invoking gdImageCreateFromPngSource.
+<pre>
+static int freadWrapper(void *context, char *buf, int len);
+
+gdImagePtr gdImageCreateFromPng(FILE *in)
+{
+ gdSource s;
+ s.source = freadWrapper;
+ s.context = in;
+ return gdImageCreateFromPngSource(&s);
+}
+
+static int freadWrapper(void *context, char *buf, int len)
+{
+ int got = fread(buf, 1, len, (FILE *) context);
+ return got;
+}
+</pre>
+<DT><A NAME="gdImageCreateFromGif">gdImageCreateFromGif(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromGifPtr">gdImageCreateFromGifPtr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromGifCtx">gdImageCreateFromGifCtx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+<DD>
+gdImageCreateFromGif is called to load images from GIF format files.
+Invoke gdImageCreateFromGif with an already opened pointer to a file
+containing the desired image.
+gdImageCreateFromGif
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a GIF image). gdImageCreateFromGif does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromGifPtr, which is otherwise identical
+to gdImageCreateFromGif.
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+... inside a function ...
+FILE *in;
+in = fopen("mygif.gif", "rb");
+im = gdImageCreateFromGif(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateFromGd">gdImageCreateFromGd(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<br><DT><A NAME="gdImageCreateFromGdPtr">gdImageCreateFromGdPtr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromGdCtx">gdImageCreateFromGdCtx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+<DD>
+gdImageCreateFromGd is called to load images from gd format files.
+Invoke gdImageCreateFromGd
+with an already opened pointer to a file containing the desired image
+in the <A HREF="#gdformat">gd file format</A>, which is specific to
+gd and intended for very fast loading. (It is <em>not</em> intended for
+compression; for compression, use PNG or JPEG.)
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromGdPtr, which is otherwise identical
+to gdImageCreateFromGd.
+<p>
+gdImageCreateFromGd
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a gd format image). gdImageCreateFromGd does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+in = fopen("mygd.gd", "rb");
+im = gdImageCreateFromGd(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+
+<DT><A NAME="gdImageCreateFromGd2">gdImageCreateFromGd2(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<br><A NAME="gdImageCreateFromGd2Ptr">gdImageCreateFromGd2Ptr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromGd2Ctx">gdImageCreateFromGd2Ctx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+
+<DD>
+gdImageCreateFromGd2 is called to load images from gd2 format files.
+Invoke gdImageCreateFromGd2
+with an already opened pointer to a file containing the desired image
+in the <A HREF="#gdformat">gd2 file format</A>, which is specific to
+gd2 and intended for fast loading of parts of large images.
+(It is a compressed format, but generally not as good as maximum
+compression of the entire image would be.)
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromGd2Ptr, which is otherwise identical
+to gdImageCreateFromGd2.
+<p>
+gdImageCreateFromGd2
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a gd format image). gdImageCreateFromGd2 does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+in = fopen("mygd.gd2", "rb");
+im = gdImageCreateFromGd2(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+
+<DT><A NAME="gdImageCreateFromGd2Part">gdImageCreateFromGd2Part(FILE *in, int srcX, int srcY, int w, int h)</A>
+<strong>(FUNCTION)</strong>
+<br><A NAME="gdImageCreateFromGd2PartPtr">gdImageCreateFromGd2PartPtr(int size, void *data, int srcX, int srcY, int w, int h)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromGd2PartCtx">gdImageCreateFromGd2PartCtx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+
+<DD>
+gdImageCreateFromGd2Part is called to load parts of images from <A HREF="#gdformat">gd2 format files</a>.
+Invoked in the same way as <a href=#gdImageCreateFromGd2>gdImageCreateFromGd2</a>,
+but with extra parameters
+indicating the source (x, y) and width/height of the desired image.
+gdImageCreateFromGd2Part returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the
+new image, or NULL if unable to load the image.
+The image must eventually be destroyed using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<p>
+If you already have the image file in memory, you may use
+gdImageCreateFromGd2PartPtr. Pass the size of the image file,
+in bytes, as the first argument and the pointer to the image file data
+as the second argument.
+<p>
+<DT><A NAME="gdImageCreateFromWBMP">gdImageCreateFromWBMP(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromWBMPPtr">gdImageCreateFromWBMPPtr(int size, void *data)</A>
+<strong>(FUNCTION)</strong>
+<BR><A NAME="gdImageCreateFromWBMPCtx">gdImageCreateFromWBMPCtx(<a href=#gdioctx>gdIOCtx</a> *in)</A>
+<strong>(FUNCTION)</strong>
+<p>
+<DD>
+gdImageCreateFromWBMP is called to load images from WBMP format files.
+Invoke gdImageCreateFromWBMP with an already opened pointer to a file
+containing the desired image.
+gdImageCreateFromWBMP
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain a PNG image). gdImageCreateFromWBMP does <em>not</em>
+close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<p>
+If you already have the
+image file in memory, pass the size of the file and a pointer to the
+file's data to gdImageCreateFromWBMPPtr, which is otherwise identical
+to gdImageCreateFromWBMP.
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+... inside a function ...
+FILE *in;
+in = fopen("mywbmp.wbmp", "rb");
+im = gdImageCreateFromWBMP(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<p>
+<DT><A NAME="gdImageCreateFromXbm">gdImageCreateFromXbm(FILE *in)</A>
+<strong>(FUNCTION)</strong>
+<DD>
+gdImageCreateFromXbm is called to load images from X bitmap format
+files. Invoke gdImageCreateFromXbm
+with an already opened pointer to a file containing the desired image.
+gdImageCreateFromXbm
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain an X bitmap format image). gdImageCreateFromXbm does
+<em>not</em> close the file. You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+in = fopen("myxbm.xbm", "rb");
+im = gdImageCreateFromXbm(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCreateFromXpm">gdImageCreateFromXpm(char *filename)</A>
+<strong>(FUNCTION)</strong>
+<DD>
+gdImageCreateFromXbm is called to load images from XPM X Window System
+color bitmap format files. This function is available only if HAVE_XPM
+is selected in the Makefile and the Xpm library is linked with the
+application. Unlike most gd file functions, the Xpm functions require
+filenames, not file pointers.
+gdImageCreateFromXpm
+returns a <A HREF="#gdImagePtr">gdImagePtr</A> to the new image, or NULL
+if unable to load the image (most often because the file is corrupt or
+does not contain an XPM bitmap format image). You can inspect the sx and sy members of the
+image to determine its size. The image must eventually be destroyed
+using <A HREF="#gdImageDestroy">gdImageDestroy()</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+in = fopen("myxpm.xpm", "rb");
+im = gdImageCreateFromXpm(in);
+fclose(in);
+/* ... Use the image ... */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageDestroy">gdImageDestroy(gdImagePtr im)</A> <STRONG>(FUNCTION)</STRONG>
+<DD>gdImageDestroy is used to free the memory associated with
+an image. It is important to invoke gdImageDestroy before
+exiting your program or assigning a new image to
+a <A HREF="#gdImagePtr">gdImagePtr</A> variable.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(10, 10);
+/* ... Use the image ... */
+/* Now destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageJpeg">
+void gdImageJpeg(gdImagePtr im, FILE *out, int quality)</A>
+<STRONG>(FUNCTION)</STRONG><BR>
+<a name="gdImageJpegCtx">void gdImageJpegCtx(gdImagePtr im, gdIOCtx *out, int quality)</A>
+<STRONG>(FUNCTION)</STRONG><BR>
+<DD>
+gdImageJpeg outputs the specified image to the specified
+file in JPEG format. The file must be open for writing. Under MSDOS
+and all versions of Windows, it is important to use "wb" as opposed
+to simply "w" as the mode when opening the file, and under Unix there
+is no penalty for doing so. gdImageJpeg does <em>not</em>
+close the file; your code must do so.
+<P>
+If quality is negative, the default IJG JPEG quality value (which
+should yield a good general quality / size tradeoff for most
+situations) is used. Otherwise, for practical purposes, quality
+should be a value in the range 0-95, higher quality values usually
+implying both higher quality and larger image sizes.
+<P>
+If you have set image interlacing using
+<A HREF="#gdImageInterlace">gdImageInterlace</A>, this function will
+interpret that to mean you wish to output a progressive JPEG. Some
+programs (e.g., Web browsers) can display progressive JPEGs
+incrementally; this can be useful when browsing over a relatively slow
+communications link, for example. Progressive JPEGs can also be
+slightly smaller than sequential (non-progressive) JPEGs.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.jpg", "wb");
+/* Write JPEG using default quality */
+gdImageJpeg(im, out, -1);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageJpegPtr">
+void* gdImageJpegPtr(gdImagePtr im, int *size, int quality)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageJpeg except that it returns a pointer to a memory
+area with the JPEG data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+<DT><A NAME="gdImageGif">
+void gdImageGif(gdImagePtr im, FILE *out)</A>
+<br>
+<A NAME="gdImageGifCtx">
+void gdImageGifCtx(gdImagePtr im, gdIOCtx *out)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageGif outputs the specified image to the specified
+file in GIF format. The file must be open for writing. Under MSDOS
+and all versions of Windows, it is important to use "wb" as opposed
+to simply "w" as the mode when opening the file, and under Unix there
+is no penalty for doing so. gdImageGif does <em>not</em>
+close the file; your code must do so.
+<p>
+GIF does not support true color; GIF images can contain a maximum
+of 256 colors. If the image to be written is a
+truecolor image, such as those created with
+<a href="#gdImageCreateTrueColor">gdImageCreateTrueColor</a> or loaded
+from a JPEG or a truecolor PNG image file, a palette-based
+temporary image will automatically be created internally using the
+<a href="#gdImageCreatePaletteFromTrueColor">gdImageCreatePaletteFromTrueColor</a> function. The original image pixels are not modified. This conversion
+produces high quality palettes but does require some CPU time. If you are
+regularly converting truecolor to palette in this way, you should consider
+creating your image as a palette-based image in the first place.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.gif", "wb");
+/* Write GIF */
+gdImageGif(im, out);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageGifPtr">
+void* gdImageGifPtr(gdImagePtr im, int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageGif except that it returns a pointer to a memory
+area with the GIF data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+
+<DT><A NAME="gdImageGifAnimBegin">
+void gdImageGifAnimBegin(gdImagePtr im, FILE *out, int GlobalCM, int Loops)</A>
+<br>
+<A NAME="gdImageGifAnimBeginCtx">
+void gdImageGifAnimBeginCtx(gdImagePtr im, gdIOCtx *out, int GlobalCM, int Loops)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+
+<DD>This function must be called as the first function when creating a
+GIF animation. It writes the correct GIF file headers to selected
+file output, and prepares for frames to be added for the animation.
+The image argument is not used to produce an image frame to the file,
+it is only used to establish the GIF animation frame size, interlacing
+options and the color palette. gdImageGifAnimAdd is used to
+add the first and subsequent frames to the animation, and the animation
+must be terminated by writing a semicolon character (;) to it or by using
+gdImageGifAnimEnd to do that.
+<p>
+
+The GlobalCM flag indicates if a global color map (or palette) is used
+in the GIF89A header. A nonzero value specifies that a global color
+map should be used to reduce the size of the animation.
+Of course, if the color maps of
+individual frames differ greatly, a global color map may not be a good idea.
+GlobalCM=1 means write global color map, GlobalCM=0 means do not, and
+GlobalCM=-1 means to do the default, which currently is to use a global
+color map.
+
+<p>
+
+If Loops is 0 or greater, the Netscape 2.0 extension for animation
+loop count is written. 0 means infinite loop count. -1 means that
+the extension is not added which results in no looping. -1 is the
+default.
+
+<DT><A NAME="gdImageGifAnimBeginPtr">
+void* gdImageGifAnimBeginPtr(gdImagePtr im, int *size, int GlobalCM, int Loops)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageGifAnimBegin except that it returns a pointer
+to a memory area with the GIF data. This memory must be freed by the
+caller when it is no longer needed. <strong>The caller must invoke
+gdFree(), not free(), unless the caller is absolutely certain that the
+same implementations of malloc, free, etc. are used both at library
+build time and at application build time.</strong> The 'size'
+parameter receives the total size of the block of memory.
+
+<DT><A NAME="gdImageGifAnimAdd">
+void gdImageGifAnimAdd(gdImagePtr im, FILE *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)</A>
+<br>
+<A NAME="gdImageGifAnimAddCtx">
+void gdImageGifAnimAddCtx(gdImagePtr im, gdIOCtx *out, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+
+<DD> This function writes GIF animation frames to GIF animation, which
+was initialized with <a
+href="#gdImageGifAnimBegin">gdImageGifAnimBegin</a>. With LeftOfs and
+TopOfs you can place this frame in different offset than (0,0) inside
+the image screen as defined in gdImageGifAnimBegin. Delay between the
+previous frame and this frame is in 1/100s units. Disposal is usually
+<code>gdDisposalNone</code>, meaning that the pixels changed by this
+frame should remain on the display when the next frame begins to render, but
+can also be <code>gdDisposalUnknown</code> (not recommended),
+<code>gdDisposalRestoreBackground</code> (restores the first
+allocated color of the global palette), or
+<code>gdDisposalRestorePrevious</code> (restores the appearance of the
+affected area before the frame was rendered). Only
+<code>gdDisposalNone</code> is a sensible choice for the first frame.
+If <code>previm</code> is
+passed, the built-in GIF optimizer will always use <code>gdDisposalNone</code>
+regardless of the Disposal parameter.
+<p>
+Setting the LocalCM flag to 1 adds a local palette for this image to the
+animation. Otherwise the global palette is assumed and the user must make
+sure the palettes match. Use <A HREF="#gdImagePaletteCopy">gdImagePaletteCopy</A> to do that.
+
+<p>
+
+Automatic optimization is activated by giving the previous image as a
+parameter. This function then compares the images and only writes the changed
+pixels to the new frame in animation. The Disposal parameter for
+optimized animations must be set to 1, also for the first frame.
+LeftOfs and TopOfs parameters are ignored for optimized frames. To
+achieve good optimization, it is usually best to use a single global
+color map. To allow gdImageGifAnimAdd to compress unchanged pixels via
+the use of a transparent color, the image must include a transparent color.
+
+<PRE>
+... inside a function ...
+gdImagePtr im, im2, im3;
+int black, white, trans;
+FILE *out;
+/* Create the image */
+im = gdImageCreate(100, 100);
+/* Allocate background */
+white = gdImageColorAllocate(im, 255, 255, 255);
+/* Allocate drawing color */
+black = gdImageColorAllocate(im, 0, 0, 0);
+/* Allocate transparent color for animation compression */
+trans = gdImageColorAllocate(im, 1, 1, 1);
+/* Draw rectangle */
+gdImageRectangle(im, 0, 0, 10, 10, black);
+/* Open output file in binary mode */
+out = fopen("anim.gif", "wb");
+/* Write GIF header. Use global color map. Loop a few times */
+gdImageGifAnimBegin(im, out, 1, 3);
+/* Write the first frame. No local color map. Delay = 1s */
+gdImageGifAnimAdd(im, out, 0, 0, 0, 100, 1, NULL);
+/* construct the second frame */
+im2 = gdImageCreate(100, 100);
+/* Allocate background to make it white */
+(void)gdImageColorAllocate(im2, 255, 255, 255);
+/* Make sure the palette is identical */
+gdImagePaletteCopy (im2, im);
+/* Draw something */
+gdImageRectangle(im2, 0, 0, 15, 15, black);
+/* Allow animation compression with transparent pixels */
+gdImageColorTransparent (im2, trans);
+/* Add the second frame */
+gdImageGifAnimAdd(im2, out, 0, 0, 0, 100, 1, im);
+/* construct the second frame */
+im3 = gdImageCreate(100, 100);
+/* Allocate background to make it white */
+(void)gdImageColorAllocate(im3, 255, 255, 255);
+/* Make sure the palette is identical */
+gdImagePaletteCopy (im3, im);
+/* Draw something */
+gdImageRectangle(im3, 0, 0, 15, 20, black);
+/* Allow animation compression with transparent pixels */
+gdImageColorTransparent (im3, trans);
+/* Add the third frame, compressing against the second one */
+gdImageGifAnimAdd(im3, out, 0, 0, 0, 100, 1, im2);
+/* Write the end marker */
+/* gdImageGifAnimEnd(out); is the same as the following: */
+putc (';', out);
+/* Close file */
+fclose(out);
+/* Destroy images */
+gdImageDestroy(im);
+gdImageDestroy(im2);
+gdImageDestroy(im3);
+</PRE>
+
+<DT><A NAME="gdImageGifAnimAddPtr">
+void* gdImageGifAnimAddPtr(gdImagePtr im, int *size, int LocalCM, int LeftOfs, int TopOfs, int Delay, int Disposal, gdImagePtr previm)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageGifAnimAdd except that it returns a pointer
+to a memory area with the GIF data. This memory must be freed by the
+caller when it is no longer needed. <strong>The caller must invoke
+gdFree(), not free(), unless the caller is absolutely certain that the
+same implementations of malloc, free, etc. are used both at library
+build time and at application build time.</strong> The 'size'
+parameter receives the total size of the block of memory.
+
+<DT><A NAME="gdImageGifAnimEnd">
+void gdImageGifAnimEnd(FILE *out)</A>
+<br>
+<A NAME="gdImageGifAnimEndCtx">
+void gdImageGifAnimEndCtx(gdIOCtx *out)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+
+<DD>Writes semicolon character (;) to the output file. This
+terminates the GIF file properly. You can omit the call to
+gdImageGifAnimEnd and just print out the semicolon.
+
+<DT><A NAME="gdImageGifAnimEndPtr">
+void* gdImageGifAnimEndPtr(int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+
+<DD>Returns a one byte string containing the semicolon character (;).
+Returns a pointer to a memory area with that string. This memory must
+be freed by the caller when it is no longer needed. <strong>The caller
+must invoke gdFree(), not free(), unless the caller is absolutely
+certain that the same implementations of malloc, free, etc. are used
+both at library build time and at application build time.</strong> The
+'size' parameter receives the total size of the block of memory. The
+string ";" can be used in place of this function.
+
+<DT><A NAME="gdImagePng">
+void gdImagePng(gdImagePtr im, FILE *out)</A>
+<br>
+<A NAME="gdImagePngCtx">
+void gdImagePngCtx(gdImagePtr im, gdIOCtx *out)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImagePng outputs the specified image to the specified
+file in PNG format. The file must be open for writing. Under MSDOS
+and all versions of Windows, it is important to use "wb" as opposed
+to simply "w" as the mode when opening the file, and under Unix there
+is no penalty for doing so. gdImagePng does <em>not</em>
+close the file; your code must do so.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.png", "wb");
+/* Write PNG */
+gdImagePng(im, out);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImagePngEx">
+void gdImagePngEx(gdImagePtr im, FILE *out, int level)</A>
+<br>
+<A NAME="gdImagePngCtxEx">
+void gdImagePngCtxEx(gdImagePtr im, gdIOCtx *out, int level)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Like <a href="#gdImagePng">gdImagePng</a>, gdImagePngEx outputs the
+specified image to the specified file in PNG format. In addition,
+gdImagePngEx allows the level of compression to be specified. A compression
+level of 0 means "no compression." A compression level of 1 means
+"compressed, but as quickly as possible." A compression level of 9
+means "compressed as much as possible to produce the smallest possible
+file." A compression level of -1 will use the default compression level
+at the time zlib was compiled on your system.
+<p>
+For more information, see <a href="#gdImagePng">gdImagePng</a>.
+<DT><A NAME="gdImagePngPtr">
+void* gdImagePngPtr(gdImagePtr im, int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImagePng except that it returns a pointer to a memory
+area with the PNG data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+<DT><A NAME="gdImagePngPtrEx">
+void* gdImagePngPtrEx(gdImagePtr im, int *size, int level)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Like <a href="#gdImagePngPtr">gdImagePngPtr</a>, gdImagePngPtrEx returns a
+pointer to a PNG image in allocated memory.
+In addition, gdImagePngPtrEx allows the level of compression to be
+specified. A compression level of 0 means "no compression." A compression level of 1 means
+"compressed, but as quickly as possible." A compression level of 9
+means "compressed as much as possible to produce the smallest possible
+file." A compression level of -1 will use the default compression level
+at the time zlib was compiled on your system.
+<p>
+For more information, see <a href="#gdImagePngPtr">gdImagePngPtr</a>.
+<DT><A NAME="gdImagePngToSink">gdImagePngToSink(gdImagePtr im, gdSinkPtr out)</A>
+<strong>(FUNCTION)</strong>
+<dd>
+gdImagePngToSink is called to write a PNG to
+a data "sink" (destination) other than a file. Usage is very similar to
+the <a href="#gdImagePng">gdImagePng</a> function,
+except that the programmer provides a custom data sink.
+<p>
+The programmer must write an output function which accepts
+a context pointer, a buffer, and a number of bytes to be
+written as arguments. This function must write the number of
+bytes requested and return that number, unless an error
+has occurred, in which case the function should return
+<code>-1</code>. The programmer then creates a
+<a href="#gdSink">gdSink</a> structure and sets
+the <code>sink</code> pointer to the output function and
+the context pointer to any value which is useful to the
+programmer.
+<p>
+The example below
+implements <a href="#gdImagePng">gdImagePng</a>
+by creating a custom data source and invoking gdImagePngFromSink.
+<pre>
+static int stdioSink(void *context, char *buffer, int len)
+{
+ return fwrite(buffer, 1, len, (FILE *) context);
+}
+
+void gdImagePng(gdImagePtr im, FILE *out)
+{
+ gdSink mySink;
+ mySink.context = (void *) out;
+ mySink.sink = stdioSink;
+ gdImagePngToSink(im, &mySink);
+}
+</pre>
+<DT><A NAME="gdImageWBMP">
+void gdImageWBMP(gdImagePtr im, int fg, FILE *out)</A>
+<BR><A NAME="gdImageWBMPCtx">gdImageWBMPCtx(<a href=#gdioctx>gdIOCtx</a> *out)</A>
+<strong>(FUNCTION)</strong><STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageWBMP outputs the specified image to the specified
+file in WBMP format. The file must be open for writing. Under MSDOS
+and all versions of Windows, it is important to use "wb" as opposed
+to simply "w" as the mode when opening the file, and under Unix there
+is no penalty for doing so. gdImageWBMP does <em>not</em>
+close the file; your code must do so.
+<p>
+<strong>WBMP file support is black and white only. The color index
+specified by the fg argument is the "foreground," and only pixels
+of this color will be set in the WBMP file.</strong> All other pixels
+will be considered "background."
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.wbmp", "wb");
+/* Write WBMP, with black as foreground */
+gdImageWBMP(im, black, out);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageWBMPPtr">
+void* gdImageWBMPPtr(gdImagePtr im, int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageWBMP except that it returns a pointer to a memory
+area with the WBMP data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+<DT><A NAME="gdImageGd">
+void gdImageGd(gdImagePtr im, FILE *out)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageGd outputs the specified image to the specified
+file in the <A HREF="#gdformat">gd image format</A>. The file must
+be open for writing. Under MSDOS and all versions of Windows, it is
+important to use "wb" as
+opposed to simply "w" as the mode when opening the file, and under
+Unix there is no penalty for doing so. gdImagePng does <em>not</em>
+close the file; your code must do so.
+<P>
+The gd image format is intended for fast reads and writes of
+images your program will need frequently to build other
+images. It is <em>not</em> a compressed format, and is not intended
+for general use.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.gd", "wb");
+/* Write gd format file */
+gdImageGd(im, out);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+
+<DT><A NAME="gdImageGdPtr">
+void* gdImageGdPtr(gdImagePtr im, int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageGd except that it returns a pointer to a memory
+area with the GD data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+
+<DT><A NAME="gdImageGd2">
+void gdImageGd2(gdImagePtr im, FILE *out, int chunkSize, int fmt)</A>
+<br>
+<A NAME="gdImageGd2Ctx">
+void gdImageGd2Ctx(gdImagePtr im, gdIOCtx *out, int chunkSize, int fmt)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageGd2 outputs the specified image to the specified
+file in the <A HREF="#gd2format">gd2 image format</A>. The file must
+be open for writing. Under MSDOS and all versions of Windows, it is
+important to use "wb" as
+opposed to simply "w" as the mode when opening the file, and under
+Unix there is no penalty for doing so. gdImageGd2 does <em>not</em>
+close the file; your code must do so.
+<P>
+The gd2 image format is intended for fast reads and writes of
+parts of images.
+It is a compressed format, and well suited to retrieving smll sections of
+much larger images.
+
+The third and fourth parameters are the 'chunk size' and format resposectively.
+<p>
+The file is stored as a series of compressed subimages, and the
+<strong>Chunk Size</strong> determines the sub-image size - a value of
+zero causes the GD library to use the default.
+<p>
+It is also possible to store GD2 files in an uncompressed format, in which case the
+fourth parameter should be GD2_FMT_RAW.
+
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black, white;
+FILE *out;
+/* Create the image */
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Allocate background */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate drawing color */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Draw rectangle */
+<A HREF="#gdImageRectangle">gdImageRectangle</A>(im, 0, 0, 99, 99, black);
+/* Open output file in binary mode */
+out = fopen("rect.gd", "wb");
+/* Write gd2 format file */
+gdImageGd2(im, out, 0, GD2_FMT_COMPRESSED);
+/* Close file */
+fclose(out);
+/* Destroy image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+
+<DT><A NAME="gdImageGd2Ptr">
+void* gdImageGd2Ptr(gdImagePtr im, int chunkSize, int fmt, int *size)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>Identical to gdImageGd2 except that it returns a pointer to a memory
+area with the GD2 data. This memory must be freed by the caller when it is
+no longer needed. <strong>The caller must invoke gdFree(), not free(),
+unless the caller is absolutely certain that the same implementations of
+malloc, free, etc. are used both at library build time and at application
+build time.</strong> The 'size' parameter receives the total size of the block
+of memory.
+<DT><A NAME="gdImageTrueColorToPalette">
+void gdImageTrueColorToPalette(gdImagePtr im, int ditherFlag, int colorsWanted)</A>
+<br>
+<A NAME="gdImageCreatePaletteFromTrueColor">
+gdImagePtr gdImageCreatePaletteFromTrueColor(gdImagePtr im, int ditherFlag, int colorsWanted)</A>
+
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+<blockquote>
+gdImageCreatePaletteFromTrueColor returns a <b>new</b>
+image. gdImageTrueColorToPalette permanently converts the
+<b>existing</b> image. The two functions are otherwise identical.
+</blockquote>
+<p>
+The function converts a truecolor image to a palette-based image,
+using a high-quality two-pass quantization routine.
+If ditherFlag is set, the image will be
+dithered to approximate colors better, at the expense
+of some obvious "speckling." colorsWanted can be
+anything up to 256. If the original source image
+includes photographic information or anything that
+came out of a JPEG, 256 is strongly recommended.
+100% transparency of a single transparent color in the
+original truecolor image will be preserved. There is no other
+support for preservation of alpha channel or transparency in
+the destination image.
+<p>
+For best results, don't use this function -- write real
+truecolor PNGs and JPEGs. The disk space gain of
+conversion to palette is not great (for small images
+it can be negative) and the quality loss is ugly. However,
+the version of this function included in version 2.0.12 and later does
+do a better job than the version included prior to 2.0.12.
+</DL>
+<H3><A NAME="drawing">Drawing Functions</A></H3>
+<DL>
+<DT><A NAME="gdImageSetPixel">void gdImageSetPixel(gdImagePtr im, int x, int y, int color)</A> <STRONG>(FUNCTION)</STRONG>
+<DD>gdImageSetPixel sets a pixel to a particular color index. Always use
+this function or one of the other drawing functions to access pixels;
+do not access the pixels of the <A HREF="#gdImage">gdImage</A> structure
+directly.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Set a pixel near the center. */
+gdImageSetPixel(im, 50, 50, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageLine">void gdImageLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageLine is used to draw a line between two endpoints (x1,y1 and x2, y2).
+The line is drawn using the color index specified. Note that the color
+index can be an actual color returned by <A HREF="#gdImageColorAllocate">
+gdImageColorAllocate</A> or one of <A HREF="#gdStyled">gdStyled</A>,
+<A HREF="#gdBrushed">gdBrushed</A> or <A HREF="#gdStyledBrushed">
+gdStyledBrushed</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green
+ and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a line from the upper left corner to the
+ lower right corner. */
+gdImageLine(im, 0, 0, 99, 99, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageDashedLine">void gdImageDashedLine(gdImagePtr im, int x1, int y1, int x2, int y2, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageDashedLine is provided <strong>solely for backwards compatibility
+</strong> with gd 1.0. New programs should draw dashed lines using
+the normal <A HREF="#gdImageLine">gdImageLine</A> function and the
+new <A HREF="#gdImageSetStyle">gdImageSetStyle</A> function.
+<P>
+gdImageDashedLine is used to draw a dashed line between two endpoints
+(x1,y1 and x2, y2).
+The line is drawn using the color index specified. The portions of the line
+that are not drawn are left transparent so the background is visible.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue
+ all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a dashed line from the upper left corner
+ to the lower right corner. */
+gdImageDashedLine(im, 0, 0, 99, 99);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImagePolygon">void gdImagePolygon(gdImagePtr im, gdPointPtr points, int pointsTotal, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImagePolygon is used to draw a polygon with the verticies
+(at least 3) specified, using the color index specified.
+See also <A HREF="#gdImageFilledPolygon">gdImageFilledPolygon</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+/* Points of polygon */
+<A HREF="#gdPoint">gdPoint</A> points[3];
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and
+ blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a triangle. */
+points[0].x = 50;
+points[0].y = 0;
+points[1].x = 99;
+points[1].y = 99;
+points[2].x = 0;
+points[2].y = 99;
+gdImagePolygon(im, points, 3, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageOpenPolygon">void gdImageOpenPolygon(gdImagePtr im, gdPointPtr points, int pointsTotal, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageOpenPolygon is used to draw a sequence of lines with the verticies
+(at least 3) specified, using the color index specified. Unlike
+<A HREF="#gdImagePolygon">gdImagePolygon</A>, the enpoints of the line
+sequence are not connected to a closed polygon.
+<DT><A NAME="gdImageRectangle">void gdImageRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageRectangle is used to draw a rectangle with the two corners
+(upper left first, then lower right) specified, using the
+color index specified.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a rectangle occupying the central area. */
+gdImageRectangle(im, 25, 25, 74, 74, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFilledPolygon">void gdImageFilledPolygon(gdImagePtr im, gdPointPtr points, int pointsTotal, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageFilledPolygon is used to fill a polygon with the verticies
+(at least 3) specified, using the color index specified.
+See also <A HREF="#gdImageFilledPolygon">gdImagePolygon</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+int red;
+/* Points of polygon */
+<A HREF="#gdPoint">gdPoint</A> points[3];
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate the color red. */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* Draw a triangle. */
+points[0].x = 50;
+points[0].y = 0;
+points[1].x = 99;
+points[1].y = 99;
+points[2].x = 0;
+points[2].y = 99;
+/* Paint it in white */
+gdImageFilledPolygon(im, points, 3, white);
+/* Outline it in red; must be done second */
+<A HREF="#gdImagePolygon">gdImagePolygon</A>(im, points, 3, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFilledRectangle">void gdImageFilledRectangle(gdImagePtr im, int x1, int y1, int x2, int y2, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageFilledRectangle is used to draw a solid rectangle with the two corners
+(upper left first, then lower right) specified, using the
+color index specified.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">int gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a filled rectangle occupying the central area. */
+gdImageFilledRectangle(im, 25, 25, 74, 74, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageArc">void gdImageArc(gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color)</A>
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageArc is used to draw a partial ellipse centered at the given point,
+with the specified width and height in pixels. The arc begins at
+the position in degrees specified by <code>s</code> and ends at
+the position specified by <code>e</code>. The arc is drawn in
+the color specified by the last argument. A circle can be drawn
+by beginning from 0 degrees and ending at 360 degrees, with
+width and height being equal. e must be greater than s. Values greater
+than 360 are interpreted modulo 360.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 50);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Inscribe an ellipse in the image. */
+gdImageArc(im, 50, 25, 98, 48, 0, 360, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFilledArc">void gdImageFilledArc(gdImagePtr im, int cx, int cy, int w, int h, int s, int e, int color, int style)</A>
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageFilledArc is used to draw a partial ellipse centered at the given point,
+with the specified width and height in pixels. The arc begins at
+the position in degrees specified by <code>s</code> and ends at
+the position specified by <code>e</code>. The arc is filled in
+the color specified by the second to last argument. A circle can be drawn
+by beginning from 0 degrees and ending at 360 degrees, with
+width and height being equal. e must be greater than s. Values greater
+than 360 are interpreted modulo 360. The last argument is a bitwise
+OR of the following possibilities:
+<ul>
+<li>gdArc
+<li>gdChord
+<li>gdPie (synonym for gdChord)
+<li>gdNoFill
+<li>gdEdged
+</ul>
+gdArc and gdChord are mutually exclusive;
+gdChord just connects the starting and ending
+angles with a straight line, while gdArc produces
+a rounded edge. gdPie is a synonym for gdArc.
+gdNoFill indicates that the arc or chord should be
+outlined, not filled. gdEdged, used together with
+gdNoFill, indicates that the beginning and ending
+angles should be connected to the center; this is
+a good way to outline (rather than fill) a
+'pie slice'.
+
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 50);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Inscribe a filled pie slice in the image. */
+gdImageFilledArc(im, 50, 25, 98, 48, 0, 45, white, gdArc);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFilledEllipse">void gdImageFilledEllipse(gdImagePtr im, int cx, int cy, int w, int h, int color)</A>
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageFilledEllipse is used to draw an ellipse centered at the given point,
+with the specified width and height in pixels. The ellipse is filled in
+the color specified by the last argument.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 50);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Inscribe a filled ellipse in the image. */
+gdImageFilledEllipse(im, 50, 25, 98, 48, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFillToBorder">void gdImageFillToBorder(gdImagePtr im, int x, int y, int border, int color)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageFillToBorder floods a portion of the image with the specified
+<code>color</code>, beginning at the specified point and stopping at
+the specified <code>border</code> color. For a way of flooding an
+area defined by the color of the starting point, see
+<A HREF="#gdImageFill">gdImageFill</A>.
+<P>
+The border color <em>cannot</em> be a special color
+such as <A HREF="#gdTiled">gdTiled</A>; it must be a proper
+solid color. The fill color can be, however.
+<P>
+Note that gdImageFillToBorder is recursive. It is not the most
+naive implementation possible, and the implementation is
+expected to improve, but there will always be degenerate
+cases in which the stack can become very deep. This can be
+a problem in MSDOS and MS Windows 3.1 environments. (Of course,
+in a Unix or Windows 95/98/NT environment with a proper stack, this is
+not a problem at all.)
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+int red;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 50);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate the color red. */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* Inscribe an ellipse in the image. */
+gdImageArc(im, 50, 25, 98, 48, 0, 360, white);
+/* Flood-fill the ellipse. Fill color is red, border color is
+ white (ellipse). */
+gdImageFillToBorder(im, 50, 50, white, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageFill">void gdImageFill(gdImagePtr im, int x, int y, int color)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageFill floods a portion of the image with the specified
+<code>color</code>, beginning at the specified point and flooding the
+surrounding region of the same color as the starting point.
+For a way of flooding a region defined by a specific border
+color rather than by its interior color, see
+<A HREF="#gdImageFillToBorder">gdImageFillToBorder</A>.
+<P>
+The fill color can be <A HREF="#gdTiled">gdTiled</A>, resulting
+in a tile fill using another image as the tile. However,
+the tile image cannot be transparent. If the image you wish
+to fill with has a transparent color index, call
+<A HREF="#gdImageTransparent">gdImageTransparent</A> on the
+tile image and set the transparent color index to -1
+to turn off its transparency.
+<P>
+Note that gdImageFill is recursive. It is not the most
+naive implementation possible, and the implementation is
+expected to improve, but there will always be degenerate
+cases in which the stack can become very deep. This can be
+a problem in MSDOS and MS Windows environments. (Of course,
+in a Unix or Windows 95/98/NT environment with a proper stack, this is
+not a problem at all.)
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+int red;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 50);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Allocate the color red. */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* Inscribe an ellipse in the image. */
+gdImageArc(im, 50, 25, 98, 48, 0, 360, white);
+/* Flood-fill the ellipse. Fill color is red, and will replace the
+ black interior of the ellipse. */
+gdImageFill(im, 50, 50, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageSetAntiAliased">void gdImageSetAntiAliased(gdImagePtr im, int c)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+"Antialiasing" is a process by which jagged edges associated with line
+drawing can be reduced by blending the foreground color with an appropriate
+percentage of the background, depending on how much of the pixel in question
+is actually within the boundaries of the line being drawn.
+All line-drawing functions,
+such as <A HREF="#gdImageLine">gdImageLine</A>,
+<A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A> and
+<A HREF="#gdImagePolygon">gdImagePolygon</A>, will draw antialiased lines
+if the special "color" <A HREF="#gdAntiAliased">
+gdAntiAliased</A> is used when calling them.
+<P>
+gdImageSetAntiAliased is used to specify the actual foreground color
+to be used when drawing antialiased lines. You may set any color to
+be the foreground, however as of version 2.0.12 an alpha channel
+component is not supported.
+<p>
+Antialiased lines can be drawn on both truecolor and palette-based
+images. However, attempts to draw antialiased lines on
+highly complex palette-based backgrounds may not give satisfactory
+results, due to the limited number of colors available in the
+palette. Antialiased line-drawing on simple backgrounds should
+work well with palette-based images; otherwise create or fetch
+a truecolor image instead.
+<P>
+You need not take any special action when you are finished
+with antialised line drawing.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im, brush;
+int black;
+int blue;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+blue = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 255);
+gdImageSetAntiAliased(im, blue);
+/* Draw a smooth line from the upper left corner to the
+ lower right corner. */
+<A HREF="#gdImageLine">gdImageLine</A>(im, 0, 0, 99, 99, <A HREF="#gdBrushed">gdAntiAliased</A>);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+See also <a href="#gdAntiAliased">gdAntiAliased</a> and
+<a href="#gdSetAntiAliasedDontBlend">gdSetAntiAliasedDontBlend</a>.
+<DT><A NAME="gdImageSetAntiAliasedDontBlend">void gdImageSetAntiAliasedDontBlend(gdImagePtr im, int c)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Normally, when drawing lines with the special
+<a href="#gdAntiAliased">gdAntiAliased</a> "color," blending with the
+background to reduce jagged edges is the desired behavior. However, when
+it is desired that lines not be blended with one particular color when
+it is encountered in the background, the
+gdImageSetAntiAliasedDontBlend function can be used to indicate the
+special color that the foreground should stand out more clearly against.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im, brush;
+int black;
+int blue;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+blue = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 255);
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+
+gdImageSetAntiAliased(im, blue);
+/* The portion of the line that crosses this white rectangle will
+ not be blended smoothly */
+gdImageSetAntiAliasedDontBlend(im, white);
+gdImageFilledRectangle(im, 25, 25, 75, 75, white);
+/* Draw a smooth line from the upper left corner
+ to the lower right corner. */
+<A HREF="#gdImageLine">gdImageLine</A>(im, 0, 0, 99, 99, <A HREF="#gdBrushed">gdAntiAliased</A>);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+See also <a href="#gdAntiAliased">gdAntiAliased</a> and
+<a href="#gdSetAntiAliased">gdSetAntiAliased</a>.
+<DT><A NAME="gdImageSetBrush">void gdImageSetBrush(gdImagePtr im, gdImagePtr brush)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+A "brush" is an image used to draw wide, shaped strokes in another image. Just
+as a paintbrush is not a single point, a brush image need not be
+a single pixel. <em>Any</em> gd image can be used as a brush, and by
+setting the transparent color index of the brush image with
+<A HREF="#gdImageColorTransparent">gdImageColorTransparent</A>,
+a brush of any shape can be created. All line-drawing functions,
+such as <A HREF="#gdImageLine">gdImageLine</A>,
+<A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A> and
+<A HREF="#gdImagePolygon">gdImagePolygon</A>, will use the
+current brush if the special "color" <A HREF="#gdBrushed">
+gdBrushed</A> or <A HREF="#gdStyledBrushed">gdStyledBrushed</A>
+is used when calling them.
+<P>
+gdImageSetBrush is used to specify the brush to be used in a
+particular image. You can set any image to be the brush.
+If the brush image does not have the same color map as the
+first image, any colors missing from the first image
+will be allocated. If not enough colors can be allocated,
+the closest colors already available will be used. This
+allows arbitrary PNGs to be used as brush images. It also
+means, however, that you should not set a brush unless you
+will actually use it; if you set a rapid succession of
+different brush images, you can quickly fill your color map,
+and the results will not be optimal.
+<P>
+You need not take any special action when you are finished
+with a brush. As for any other image, if you will not
+be using the brush image for any further purpose,
+you should call <A HREF="#gdImageDestroy">gdImageDestroy</A>.
+You must not use the color <A HREF="#gdBrushed">gdBrushed</A>
+if the current brush has been destroyed; you can of
+course set a new brush to replace it.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im, brush;
+FILE *in;
+int black;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Open the brush PNG. For best results, portions of the
+ brush that should be transparent (ie, not part of the
+ brush shape) should have the transparent color index. */
+in = fopen("star.png", "rb");
+brush = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+gdImageSetBrush(im, brush);
+/* Draw a line from the upper left corner to the lower right corner
+ using the brush. */
+<A HREF="#gdImageLine">gdImageLine</A>(im, 0, 0, 99, 99, <A HREF="#gdBrushed">gdBrushed</A>);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+/* Destroy the brush image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(brush);
+</PRE>
+<DT><A NAME="gdImageSetTile">void gdImageSetTile(gdImagePtr im, gdImagePtr tile)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+A "tile" is an image used to fill an area with a repeated pattern.
+<em>Any</em> gd image can be used as a tile, and by
+setting the transparent color index of the tile image with
+<A HREF="#gdImageColorTransparent">gdImageColorTransparent</A>,
+a tile that allows certain parts of the underlying area to shine
+through can be created. All region-filling functions,
+such as <A HREF="#gdImageFill">gdImageFill</A> and
+<A HREF="#gdImageFilledPolygon">gdImageFilledPolygon</A>, will use the
+current tile if the special "color" <A HREF="#gdTiled">
+gdTiled</A> is used when calling them.
+<P>
+gdImageSetTile is used to specify the tile to be used in a
+particular image. You can set any image to be the tile.
+If the tile image does not have the same color map as the
+first image, any colors missing from the first image
+will be allocated. If not enough colors can be allocated,
+the closest colors already available will be used. This
+allows arbitrary PNGs to be used as tile images. It also
+means, however, that you should not set a tile unless you
+will actually use it; if you set a rapid succession of
+different tile images, you can quickly fill your color map,
+and the results will not be optimal.
+<P>
+You need not take any special action when you are finished
+with a tile. As for any other image, if you will not
+be using the tile image for any further purpose,
+you should call <A HREF="#gdImageDestroy">gdImageDestroy</A>.
+You must not use the color <A HREF="#gdBrushed">gdTiled</A>
+if the current tile has been destroyed; you can of
+course set a new tile to replace it.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im, tile;
+FILE *in;
+int black;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Open the tile PNG. For best results, portions of the
+ tile that should be transparent (ie, allowing the
+ background to shine through) should have the transparent
+ color index. */
+in = fopen("star.png", "rb");
+tile = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+gdImageSetTile(im, tile);
+/* Fill an area using the tile. */
+<A HREF="#gdImageFilledRectangle">gdImageFilledRectangle</A>(im, 25, 25, 75, 75, <A HREF="#gdTiled">gdTiled</A>);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+/* Destroy the tile image */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(tile);
+</PRE>
+<DT><A NAME="gdImageSetStyle">void gdImageSetStyle(gdImagePtr im, int *style, int styleLength)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+It is often desirable to draw dashed lines, dotted lines, and other
+variations on a broken line. gdImageSetStyle can be used to set
+any desired series of colors, including a special color that
+leaves the background intact, to be repeated during the drawing
+of a line.
+<P>
+To use gdImageSetStyle, create an array of integers and assign
+them the desired series of color values to be repeated.
+You can assign the special color value <A HREF="#gdTransparent">
+gdTransparent</A> to indicate that the existing color should
+be left unchanged for that particular pixel (allowing a dashed
+line to be attractively drawn over an existing image).
+<P>
+Then, to draw a line using the style, use the normal
+<A HREF="#gdImageLine">gdImageLine</A> function with the
+special color value <A HREF="#gdStyled">gdStyled</A>.
+<P>
+As of <A HREF="#whatsnew1.1.1">version 1.1.1</A>, the style
+array is copied when you set the style, so you need not
+be concerned with keeping the array around indefinitely.
+This should not break existing code that assumes styles
+are not copied.
+<P>
+You can also combine styles and brushes to draw the brush
+image at intervals instead of in a continuous stroke.
+When creating a style for use with a brush, the
+style values are interpreted differently: zero (0) indicates
+pixels at which the brush should not be drawn, while one (1)
+indicates pixels at which the brush should be drawn.
+To draw a styled, brushed line, you must use the
+special color value <A HREF="#gdStyledBrushed">
+gdStyledBrushed</A>. For an example of this feature
+in use, see gddemo.c (provided in the distribution).
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int styleDotted[2], styleDashed[6];
+FILE *in;
+int black;
+int red;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* Set up dotted style. Leave every other pixel alone. */
+styleDotted[0] = red;
+styleDotted[1] = gdTransparent;
+/* Set up dashed style. Three on, three off. */
+styleDashed[0] = red;
+styleDashed[1] = red;
+styleDashed[2] = red;
+styleDashed[3] = gdTransparent;
+styleDashed[4] = gdTransparent;
+styleDashed[5] = gdTransparent;
+/* Set dotted style. Note that we have to specify how many pixels are
+ in the style! */
+gdImageSetStyle(im, styleDotted, 2);
+/* Draw a line from the upper left corner to the lower right corner. */
+<A HREF="#gdImageLine">gdImageLine</A>(im, 0, 0, 99, 99, <A HREF="#gdStyled">gdStyled</A>);
+/* Now the dashed line. */
+gdImageSetStyle(im, styleDashed, 6);
+<A HREF="#gdImageLine">gdImageLine</A>(im, 0, 99, 0, 99, <A HREF="#gdStyled">gdStyled</A>);
+
+/* ... Do something with the image, such as
+ saving it to a file ... */
+
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageSetThickness">void gdImageSetThickness(gdImagePtr im, int thickness)</A> <STRONG>(FUNCTION)</STRONG>
+<DD>gdImageSetThickness determines the width of lines drawn by the
+<a href="#gdImageLine">gdImageLine</a>, <a href="#gdImagePolygon">gdImagePolygon</a>, <a href="#gdImageOpenPolygon">gdImageOpenPolygon</a>
+and related functions, in pixels.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Set thickness. */
+gdImageSetThickness(im, 4);
+/* Draw a fat line from the upper left corner to the lower right corner. */
+gdImageLine(im, 0, 0, 99, 99, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageAlphaBlending">void gdImageAlphaBlending(gdImagePtr im, int blending)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+The <a href="#gdImageAlphaBlending">gdImageAlphaBlending</a>
+function allows for two different modes of drawing on truecolor
+images. In blending mode, which is <strong>on by default (gd 2.0.2
+and above)</strong>, the alpha channel component of the color
+supplied to all drawing functions, such as
+<a href="#gdImageSetPixel">gdImageSetPixel</a>, determines how much of
+the underlying color should be allowed to shine through. As a result,
+gd automatically blends the existing color at that point with the
+drawing color, and stores the result in the image. The resulting pixel
+is opaque. In non-blending mode, the drawing color is copied literally
+with its alpha channel information, replacing the destination pixel.
+Blending mode is not available when drawing on palette images.
+<PRE>
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int red, blue;
+im = <A HREF="#gdImageCreate">gdImageCreateTrueColor</A>(100, 100);
+/* Background color */
+red = <A HREF="#gdTrueColor">gdTrueColor</A>(255, 0, 0);
+gdImageFilledRectangle(im, 0, 0, 100, 100, red);
+/* Drawing color. Full transparency would be an alpha channel value
+ of 127 (gd has a 7 bit alpha chnanel). 0 is opaque,
+ 127 is transparent. So cut gdAlphaTransparent in half to get
+ 50% blending. */
+blue = <A HREF="#gdTrueColor">gdTrueColorAlpha</A>(0, 0, 255, gdAlphaTransparent / 2);
+/* Draw with blending. Result will be 50% red, 50% blue: yellow
+ (emitted light, remember, not reflected light. What you learned
+ in Kindergarten is wrong here). */
+gdImageAlphaBlending(im, 1);
+<a href="#gdImageFilledRectangle">gdImageFilledRectangle</a>(im, 0, 0, 25, 25, blue);
+/* Draw without blending. Result will be 50% blue, 50%
+ the background color of the image viewer or web browser
+ used; results in browsers that don't support
+ semi-transparent pixels are unpredictable! */
+gdImageAlphaBlending(im, 0);
+<a href="#gdImageFilledRectangle">gdImageFilledRectangle</a>(im, 75, 75, 25, 25, blue);
+/* Write the image to disk, etc. */
+</pre>
+<DT><A NAME="gdImageSaveAlpha">
+void gdImageSaveAlpha(gdImagePtr im, int saveFlag)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+By default, gd 2.0.2 and above do not attempt to save full alpha channel information
+(as opposed to single-color transparency) when saving PNG images. (PNG
+is currently the only output format supported by gd which can accommodate
+alpa channel information.) This saves space in the output file. If you wish
+to create an image with alpha channel information for use with tools that
+support it, call gdImageSaveAlpha(im, 1) to turn on saving of such
+information, and call <a href="#gdImageAlphaBlending">gdImageAlphaBlending(im, 0)</a>
+to turn off alpha blending within the library so that alpha channel
+information is actually stored in the image rather than being composited
+immediately at the time that drawing functions are invoked.
+<DT><A NAME="gdImageSetClip">
+void gdImageSetClip(gdImagePtr im, int x1, int y1, int x2, int y2)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Establishes a clipping rectangle. Once gdImageSetClip has been called,
+all future drawing operations will remain within the specified clipping
+area, until a new gdImageSetClip call takes place. For instance,
+if a clipping rectangle of 25, 25, 75, 75 has been set within a
+100x100 image, a diagonal line from 0,0 to 99,99 will appear only
+between 25,25 and 75,75.
+<p>
+If gdImageSetClip is never called, the clipping area will be the
+entire image.
+<p>
+The parameters passed to gdImageSetClip are checked against the dimensions
+of the image and limited to "safe" values.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Set the clipping rectangle. */
+gdImageSetClip(im, 25, 25, 75, 75);
+/* Draw a line from the upper left corner to the lower right corner.
+ Only the part within the clipping rectangle will appear. */
+<a href="#gdImageLine">gdImageLine</a>(im, 0, 0, 99, 99, white);
+/* ... Do something with the image, such as
+ saving it to a file ... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+See also <a href="#gdImageGetClip">gdImageGetClip</a>.
+<DT><A NAME="gdImageGetClip">
+void gdImageGetClip(gdImagePtr im, int *x1P, int *y1P, int *x2P, int *y2P)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Fetches the boundaries of the current clipping rectangle.
+<pre>
+... Inside a function ...
+gdImagePtr im = <a href="#gdImageCreateTrueColor">gdImageCreateTrueColor</a>(100, 100);
+int x1, y1, x2, y2;
+gdImageSetClip(im, 25, 25, 75, 75);
+gdImageGetClip(im, &x1, &y1, &x2, &y2);
+printf("%d %d %d %d\n", x1, y1, x2, y2);
+</pre>
+The above code would print:
+<pre>
+25 25 75 75
+</pre>
+See also <a href="#gdImageSetClip">gdImageSetClip</a>.
+</DL>
+<H3><A NAME="query">Query Functions</A></H3>
+<DL>
+<DT><A NAME="gdImageBlue">
+int gdImageAlpha(gdImagePtr im, int color)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageAlpha is a macro which returns the alpha channel component of
+the specified color index. Alpha channel values vary between
+0 (gdAlphaOpaque), which does not blend at all with the background,
+through 127 (gdAlphaTransparent), which allows the background to
+shine through 100%. Use this macro rather than accessing the
+structure members directly.
+int gdImageBlue(gdImagePtr im, int color)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageBlue is a macro which returns the blue component of
+the specified color index. Use this macro rather than accessing the
+structure members directly.
+<DT><A NAME="gdImageGetPixel">int gdImageGetPixel(gdImagePtr im, int x, int y)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageGetPixel() retrieves the color index of a particular
+pixel. Always use this function to query pixels;
+do not access the pixels of the <A HREF="#gdImage">gdImage</A> structure
+directly.
+<PRE>
+... inside a function ...
+FILE *in;
+gdImagePtr im;
+int c;
+in = fopen("mypng.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+c = gdImageGetPixel(im, gdImageSX(im) / 2, gdImageSY(im) / 2);
+printf("The value of the center pixel is %d; RGB values are %d,%d,%d\n",
+ c, im->red[c], im->green[c], im->blue[c]);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageBoundsSafe">
+int gdImageBoundsSafe(gdImagePtr im, int x, int y)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageBoundsSafe returns true (1) if the specified point is within the
+current clipping rectangle, false (0) if not. The clipping rectangle is
+set by <a href="#gdImageSetClip">gdImageSetClip</a> and defaults
+to the entire image. This function is intended primarily for
+use by those who wish to add functions to gd. All of the gd drawing
+functions already clip safely using this function or its macro
+equivalent in gd.c, gdImageBoundsSafeMacro.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+if (gdImageBoundsSafe(im, 50, 50)) {
+ printf("50, 50 is within the image bounds\n");
+} else {
+ printf("50, 50 is outside the image bounds\n");
+}
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageGreen">
+int gdImageGreen(gdImagePtr im, int color)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageGreen is a macro which returns the green component of
+the specified color index. Use this macro rather than accessing the
+structure members directly.
+<DT><A NAME="gdImageRed">
+int gdImageRed(gdImagePtr im, int color)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageRed is a macro which returns the red component of
+the specified color index. Use this macro rather than accessing the
+structure members directly.
+<DT><A NAME="gdImageSX">
+int gdImageSX(gdImagePtr im)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageSX is a macro which returns the width of the image
+in pixels. Use this macro rather than accessing the
+structure members directly.
+<DT><A NAME="gdImageSY">
+int gdImageSY(gdImagePtr im)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageSY is a macro which returns the height of the image
+in pixels. Use this macro rather than accessing the
+structure members directly.
+</DL>
+<H3><A NAME="fonts">Fonts and text-handling functions</A></H3>
+<DL>
+<DT><A NAME="gdFontGetSmall">
+gdFontPtr gdFontGetSmall(void)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Returns a font pointer for the "small" gd font. Your code must
+include the header file <code>gdfonts.h</code> before
+calling this function. Under Windows, due to the nature of DLLs,
+the use of this function is strongly recommended rather than attempting
+to use the <code>gdFontSmall</code> pointer directly. (You may
+safely assign the result to a local <code>gdFontPtr</code> variable
+in your own code.)
+<p>
+See <a href="#gdImageString">gdImageString</a> for more information
+and examples, or <a href="#gdImageStringFT">gdImageStringFT</a> for a
+freetype-based alternative that supports truetype fonts.
+<DT><A NAME="gdFontGetLarge">
+gdFontPtr gdFontGetLarge(void)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Returns a font pointer for the "large" gd font. Your code must
+include the header file <code>gdfontl.h</code> before
+calling this function. Under Windows, due to the nature of DLLs,
+the use of this function is strongly recommended rather than attempting
+to use the <code>gdFontLarge</code> pointer directly. (You may
+safely assign the result to a local <code>gdFontPtr</code> variable
+in your own code.)
+<p>
+See <a href="#gdImageString">gdImageString</a> for more information
+and examples, or <a href="#gdImageStringFT">gdImageStringFT</a> for a
+freetype-based alternative that supports truetype fonts.
+<DT><A NAME="gdFontGetMediumBold">
+gdFontPtr gdFontGetMediumBold(void)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Returns a font pointer for the "medium bold" gd font. Your code must
+include the header file <code>gdfontmb.h</code> before
+calling this function. Under Windows, due to the nature of DLLs,
+the use of this function is strongly recommended rather than attempting
+to use the <code>gdFontMediumBold</code> pointer directly. (You may
+safely assign the result to a local <code>gdFontPtr</code> variable
+in your own code.)
+<p>
+See <a href="#gdImageString">gdImageString</a> for more information
+and examples, or <a href="#gdImageStringFT">gdImageStringFT</a> for a
+freetype-based alternative that supports truetype fonts.
+<DT><A NAME="gdFontGetGiant">
+gdFontPtr gdFontGetGiant(void)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Returns a font pointer for the "giant" gd font. Your code must
+include the header file <code>gdfontg.h</code> before
+calling this function. Under Windows, due to the nature of DLLs,
+the use of this function is strongly recommended rather than attempting
+to use the <code>gdFontGiant</code> pointer directly. (You may
+safely assign the result to a local <code>gdFontPtr</code> variable
+in your own code.)
+<p>
+See <a href="#gdImageString">gdImageString</a> for more information
+and examples, or <a href="#gdImageStringFT">gdImageStringFT</a> for a
+freetype-based alternative that supports truetype fonts.
+<DT><A NAME="gdFontGetTiny">
+gdFontPtr gdFontGetTiny(void)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Returns a font pointer for the "tiny" gd font. Your code must
+include the header file <code>gdfontt.h</code> before
+calling this function. Under Windows, due to the nature of DLLs,
+the use of this function is strongly recommended rather than attempting
+to use the <code>gdFontTiny</code> pointer directly. (You may
+safely assign the result to a local <code>gdFontPtr</code> variable
+in your own code.)
+<p>
+See <a href="#gdImageString">gdImageString</a> for more information
+and examples, or <a href="#gdImageStringFT">gdImageStringFT</a> for a
+freetype-based alternative that supports truetype fonts.
+<DT><A NAME="gdImageChar">
+void gdImageChar(gdImagePtr im, gdFontPtr font, int x, int y,
+ int c, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageChar is used to draw single characters on the image.
+(To draw multiple characters, use <A HREF="#gdImageString">
+gdImageString</A> or <A HREF="#gdImageString16">
+gdImageString16</A>.
+See also <A HREF="#gdImageStringFT">gdImageStringFT</A> for a high quality
+solution.)
+The second argument is a pointer to a font definition structure; five fonts are
+provided with gd, gdFontTiny, gdFontSmall, gdFontMediumBold,
+gdFontLarge, and gdFontGiant.
+<p>
+You must include the files "gdfontt.h", "gdfonts.h", "gdfontmb.h",
+"gdfontl.h" and "gdfontg.h" respectively
+and (if you are not using a library-based approach) link with the
+corresponding .c files to use the provided fonts.
+<p>
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+<p>
+The character specified by the fifth
+argument is drawn from left to right in the specified
+color. (See <A HREF="#gdImageCharUp">gdImageCharUp</A> for a way
+of drawing vertical text.) Pixels not
+set by a particular character retain their previous color.
+<PRE>
+#include "gd.h"
+#include "gdfontl.h"
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a character. */
+gdImageChar(im, gdFontGetLarge(), 0, 0, 'Q', white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageCharUp">
+void gdImageCharUp(gdImagePtr im, gdFontPtr font, int x, int y,
+int c, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageCharUp is used to draw single characters on the image,
+rotated 90 degrees.
+(To draw multiple characters, use <A HREF="#gdImageStringUp">
+gdImageStringUp</A> or <A HREF="#gdImageStringUp16">
+gdImageStringUp16</A>.) The second argument is a
+pointer to a font definition structure; five fonts are
+provided with gd, gdFontTiny, gdFontSmall, gdFontMediumBold,
+gdFontLarge, and gdFontGiant. You must
+include the files "gdfontt.h", "gdfonts.h", "gdfontmb.h",
+"gdfontl.h" and "gdfontg.h" respectively
+and (if you are not using a library-based approach) link with the
+corresponding .c files to use the provided fonts.
+<p>
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+<p>
+The character specified by
+the fifth argument is drawn
+from bottom to top, rotated at a 90-degree angle, in the specified
+color. (See <A HREF="#gdImageChar">gdImageChar</A> for a way
+of drawing horizontal text.) Pixels not
+set by a particular character retain their previous color.
+<PRE>
+#include "gd.h"
+#include "gdfontl.h"
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a character upwards so it rests against the top of the image. */
+gdImageCharUp(im, gdFontGetLarge(),
+ 0, gdFontGetLarge()->h, 'Q', white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageString">
+void gdImageString(gdImagePtr im, gdFontPtr font, int x, int y,
+unsigned char *s, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageString is used to draw multiple characters on the image.
+(To draw single characters, use <A HREF="#gdImageChar">
+gdImageChar</A>.) The second argument is a
+pointer to a font definition structure; five fonts are
+provided with gd, gdFontTiny, gdFontSmall, gdFontMediumBold,
+gdFontLarge, and gdFontGiant. You must
+include the files "gdfontt.h", "gdfonts.h", "gdfontmb.h",
+"gdfontl.h" and "gdfontg.h" respectively
+and (if you are not using a library-based approach) link with the
+corresponding .c files to use the provided fonts.
+<p>
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+The null-terminated C string specified
+by the fifth argument is drawn from left to right in the specified
+color. (See <A HREF="#gdImageStringUp">gdImageStringUp</A> for a way
+of drawing vertical text.
+See also <A HREF="#gdImageStringFT">gdImageStringFT</A> for a high
+quality solution.)
+Pixels not set by a particular character retain their previous color.
+<PRE>
+#include "gd.h"
+#include "gdfontl.h"
+#include &lt;string.h&gt;
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+/* String to draw. */
+char *s = "Hello.";
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a centered string. */
+gdImageString(im, gdFontGetLarge(),
+ im->sx / 2 - (strlen(s) * gdFontGetLarge()->w / 2),
+ im->sy / 2 - gdFontGetLarge()->h / 2,
+ s, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageString16">
+void gdImageString16(gdImagePtr im, gdFontPtr font, int x, int y,
+unsigned short *s, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageString16 is used to draw multiple 16-bit characters on the image.
+(To draw single characters, use <A HREF="#gdImageChar">
+gdImageChar16</A>.) The second argument is a
+pointer to a font definition structure; no 16-bit fonts are
+provided with gd as standard equipment and there does not seem to be
+much momentum to create them although the bdftogd script can do so. The
+preferred solution is <a href="#gdImageStringFT">gdImageStringFT</a>, which
+uses freetype to provide truetype font support.
+<p>
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+The null-terminated string of characters represented as 16-bit unsigned
+short integers specified by the fifth argument is drawn from left to right
+in the specified
+color. (See <A HREF="#gdImageStringUp16">gdImageStringUp16</A> for a way
+of drawing vertical text.) Pixels not
+set by a particular character retain their previous color.
+<p>
+This function was added in gd1.3 to provide a means of rendering
+fonts with more than 256 characters for those who have them. A
+more frequently used routine is <a href="#gdImageString">gdImageString</a>.
+<DT><A NAME="gdImageStringUp">
+void gdImageStringUp(gdImagePtr im, gdFontPtr font, int x, int y,
+unsigned char *s, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageStringUp is used to draw multiple characters on the image,
+rotated 90 degrees.
+(To draw single characters, use <A HREF="#gdImageCharUp">
+gdImageCharUp</A>.) The second argument is a
+pointer to a font definition structure; five fonts are
+provided with gd, gdFontTiny, gdFontSmall, gdFontMediumBold,
+gdFontLarge, and gdFontGiant. You must
+include the files "gdfontt.h", "gdfonts.h", "gdfontmb.h",
+"gdfontl.h" and "gdfontg.h" respectively
+and (if you are not using a library-based approach) link with the
+corresponding .c files to use the provided fonts.
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+
+The null-terminated C string specified
+by the fifth argument is drawn from bottom to top (rotated
+90 degrees) in the specified color. (See
+<A HREF="#gdImageString">gdImageString</A> for a way
+of drawing horizontal text.) Pixels not
+set by a particular character retain their previous color.
+<PRE>
+#include "gd.h"
+#include "gdfontl.h"
+#include &lt;string.h&gt;
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+/* String to draw. */
+char *s = "Hello.";
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color white (red, green and blue all maximum). */
+white = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 255, 255);
+/* Draw a centered string going upwards. Axes are reversed,
+ and Y axis is decreasing as the string is drawn. */
+gdImageStringUp(im, gdFontGetLarge(),
+ im->w / 2 - gdFontGetLarge()->h / 2,
+ im->h / 2 + (strlen(s) * gdFontGetLarge()->w / 2),
+ s, white);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageStringUp16">
+void gdImageStringUp16(gdImagePtr im, gdFontPtr font, int x, int y,
+unsigned short *s, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageString is used to draw multiple 16-bit characters vertically on
+the image. (To draw single characters, use <A HREF="#gdImageChar">
+gdImageChar</A>.) The second argument is a
+pointer to a font definition structure; five fonts are
+provided with gd, gdFontTiny, gdFontSmall, gdFontMediumBold,
+gdFontLarge, and gdFontGiant. You must
+include the files "gdfontt.h", "gdfonts.h", "gdfontmb.h",
+"gdfontl.h" and "gdfontg.h" respectively
+and (if you are not using a library-based approach) link with the
+corresponding .c files to use the provided fonts.
+<blockquote>
+<b>Windows DLL users:</b> although you can use
+these DLL-exported pointers directly, you cannot easily assign them to other
+pointers. This will cause hard-to-debug problems. To avoid such troubles, you
+should call the functions gdFontGetTiny(), gdFontGetSmall(),
+gdFontGetMediumBold(), gdFontGetLarge(), and gdFontGetGiant() in order to
+obtain pointers to the fonts under Windows.
+</blockquote>
+The null-terminated string of characters represented as 16-bit unsigned
+short integers specified by the fifth argument is drawn from bottom to top
+in the specified color.
+(See <A HREF="#gdImageStringUp16">gdImageStringUp16</A> for a way
+of drawing horizontal text.) Pixels not
+set by a particular character retain their previous color.
+<p>
+This function was added in gd1.3 to provide a means of rendering
+fonts with more than 256 characters for those who have them. A
+more frequently used routine is <a href="#gdImageStringUp">gdImageStringUp</a>.
+<DT><A NAME="gdFTUseFontConfig">int gdFTUseFontConfig(int flag)</a>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+GD 2.0.29 introduced the ability to use
+<a href="http://freedesktop.org/software/fontconfig">fontconfig patterns</a>
+rather than font file names as parameters to
+<a href="#gdImageStringFT">gdImageStringFT</a>,
+<a href="#gdImageStringFTEx">gdImageStringFTEx</a> and
+<a href="#gdImageStringFTEx">gdImageStringFTCircle</a>.
+For backwards compatibility reasons, the fontlist parameter to those
+functions is still expected to be a full or partial font file path name
+or list thereof by default. However, as a convenience, a single call
+to gdFTUseFontConfig with a nonzero parameter configures gd to expect
+the fontlist parameter to be a fontconfig pattern. Regardless of whether
+the flag argument is nonzero, this function returns true when the
+fontconfig library is available and false when it is not. When fontconfig
+is not available, the fontlist parameter always behaves as in previous
+versions of GD.
+<pre>
+#include "gd.h"
+#include &lt;string.h&gt;
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+int brect[8];
+int x, y;
+char *err;
+
+char *s = "Hello."; /* String to draw. */
+double sz = 40.;
+char *fc = "times:bold:italic"; /* fontconfig pattern */
+
+/* Signal that all freetype font calls in this program will receive
+ fontconfig patterns rather than filenames of font files */
+gdUseFontConfig(1);
+
+/* obtain brect so that we can size the image */
+err = <A HREF="#gdImageStringFT">gdImageStringFT</A>(NULL,&brect[0],0,fc,sz,0.,0,0,s);
+if (err) {fprintf(stderr,err); return 1;}
+
+/* create an image big enough for the string plus a little whitespace */
+x = brect[2]-brect[6] + 6;
+y = brect[3]-brect[7] + 6;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(x,y);
+
+/* Background color (first allocated) */
+white = <A HREF="#gdImageColorResolve">gdImageColorResolve</A>(im, 255, 255, 255);
+black = <A HREF="#gdImageColorResolve">gdImageColorResolve</A>(im, 0, 0, 0);
+
+/* render the string, offset origin to center string*/
+/* note that we use top-left coordinate for adjustment
+ * since gd origin is in top-left with y increasing downwards. */
+x = 3 - brect[6];
+y = 3 - brect[7];
+err = <A HREF="#gdImageStringFT">gdImageStringFT</A>(im,&brect[0],black,fc,sz,0.0,x,y,s);
+if (err) {fprintf(stderr,err); return 1;}
+</pre>
+<DT><A NAME="gdImageStringFT">
+char *gdImageStringFT(gdImagePtr im, int *brect,
+ int fg, char *fontname, double ptsize, double angle,
+ int x, int y, char *string)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+<strong>RECOMMENDED. New in 1.8.4.</strong> gdImageStringFT draws text using the
+FreeType 2.x library.
+<p>
+gdImageStringFT draws a string of anti-aliased characters on the image using
+the <A HREF=http://www.freetype.org/>FreeType</A>
+library to render user-supplied TrueType fonts. <strong>We do not provide
+TrueType fonts (.ttf and .ttc files). Obtaining them is entirely up to
+you.</strong> The string is anti-aliased, meaning that there should be
+fewer "jaggies" visible. The fontname is the full pathname to a TrueType
+font file, or a font face name if the GDFONTPATH environment variable
+or the compiled-in DEFAULT_FONTPATH macro of gdft.c have been set intelligently. In the absence of a full path, the font face name may be presented with or without extension (2.0.26).
+<p>
+The null-terminated <b>string</b> argument is considered to be encoded via the UTF_8
+standard; also, HTML entities are supported, including decimal,
+hexadecimal, and named entities (2.0.26). Those who are passing
+ordinary ASCII strings may have difficulty with the &amp;
+character unless encoded correctly as &amp; but should have no
+other difficulties.
+<p>
+The string may be arbitrarily scaled (ptsize) and rotated (angle in radians).
+The direction of rotation is counter-clockwise, with 0 radians (0 degrees)
+at 3 o'clock and PI/2 radians (90 degrees) at 12 o'clock.
+
+<p>
+The user-supplied int brect[8] array is filled on return from gdImageStringFT
+with the 8 elements representing the 4 corner coordinates of the
+bounding rectangle (the smallest rectangle that completely surrounds the
+rendered string and does not intersect any pixel of the rendered string).
+
+<TABLE BORDER="1">
+<TR><TD ALIGN="LEFT" VALIGN="TOP">0</TD><TD ALIGN="LEFT" VALIGN="TOP">
+lower left corner, X position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">1</TD><TD ALIGN="LEFT" VALIGN="TOP">
+lower left corner, Y position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">2</TD><TD ALIGN="LEFT" VALIGN="TOP">
+lower right corner, X position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">3</TD><TD ALIGN="LEFT" VALIGN="TOP">
+lower right corner, Y position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">4</TD><TD ALIGN="LEFT" VALIGN="TOP">
+upper right corner, X position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">5</TD><TD ALIGN="LEFT" VALIGN="TOP">
+upper right corner, Y position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">6</TD><TD ALIGN="LEFT" VALIGN="TOP">
+upper left corner, X position</TD></TR>
+<TR><TD ALIGN="LEFT" VALIGN="TOP">7</TD><TD ALIGN="LEFT" VALIGN="TOP">
+upper left corner, Y position</TD></TR>
+</TABLE>
+<p>
+The points are relative to the text regardless of the angle, so "upper left"
+means in the top left-hand corner seeing the text horizontally.
+<p>
+Use a NULL gdImagePtr to get the bounding rectangle without rendering.
+This is a relatively cheap operation if followed by a rendering of the same
+string, because of the caching of the partial rendering during bounding
+rectangle calculation.
+<p>
+The string is rendered in the color indicated by the gf color index.
+<strong>Use the negative of the desired color index to
+disable anti-aliasing.</strong>
+<p>
+The string may contain UTF-8 sequences like: "&amp;#192;"
+<p>
+gdImageStringFT will return a null char* on success, or an error
+string on failure.
+<PRE>
+#include "gd.h"
+#include &lt;string.h&gt;
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int white;
+int brect[8];
+int x, y;
+char *err;
+
+char *s = "Hello."; /* String to draw. */
+double sz = 40.;
+char *f = "/usr/local/share/ttf/Times.ttf"; /* User supplied font */
+
+/* obtain brect so that we can size the image */
+err = <A HREF="#gdImageStringFT">gdImageStringFT</A>(NULL,&brect[0],0,f,sz,0.,0,0,s);
+if (err) {fprintf(stderr,err); return 1;}
+
+/* create an image big enough for the string plus a little whitespace */
+x = brect[2]-brect[6] + 6;
+y = brect[3]-brect[7] + 6;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(x,y);
+
+/* Background color (first allocated) */
+white = <A HREF="#gdImageColorResolve">gdImageColorResolve</A>(im, 255, 255, 255);
+black = <A HREF="#gdImageColorResolve">gdImageColorResolve</A>(im, 0, 0, 0);
+
+/* render the string, offset origin to center string*/
+/* note that we use top-left coordinate for adjustment
+ * since gd origin is in top-left with y increasing downwards. */
+x = 3 - brect[6];
+y = 3 - brect[7];
+err = <A HREF="#gdImageStringFT">gdImageStringFT</A>(im,&brect[0],black,f,sz,0.0,x,y,s);
+if (err) {fprintf(stderr,err); return 1;}
+
+/* Write img to stdout */
+<A HREF="#gdImagePng">gdImagePng</A>(im, stdout);
+
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+See also <a href="#gdImageStringFTEx">gdImageStringFTEx</a>.
+<DT><A NAME="gdImageStringFTEx">
+char *gdImageStringFTEx(gdImagePtr im, int *brect,
+ int fg, char *fontname, double ptsize, double angle,
+ int x, int y, char *string, gdFTStringExtraPtr strex)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+<strong>New in 2.0.5,</strong> also found in common third-party versions
+of gd. gdImageStringFTEx extends the capabilities of
+<a href="#gdImageStringFT">gdImageStringFT</a> by providing a
+way to pass additional parameters.
+<p>
+If the <code>strex</code> parameter is not null, it must point to a
+<code>gdFTStringExtra</code> structure. As of gd 2.0.5, this structure
+is defined as follows:
+<pre>
+typedef struct {
+ /* logical OR of gdFTEX_ values */
+ int flags;
+ /* fine tune line spacing for '\n' */
+ double linespacing;
+ /* Preferred character mapping */
+ int charmap;
+ /* Rendering resolution */
+ int hdpi;
+ int vdpi;
+ char *xshow;
+ char *fontpath;
+} gdFTStringExtra, *gdFTStringExtraPtr;
+</pre>
+To output multiline text with a specific line spacing,
+include <code>gdFTEX_LINESPACE</code> in the setting of
+<code>flags</code>:
+<pre>
+flags |= gdFTEX_LINESPACE;
+</pre>
+And also set <code>linespacing</code> to the desired spacing, expressed as a
+multiple of the font height. Thus a line spacing of 1.0 is the
+minimum to guarantee that lines of text do not collide.
+<p>
+If <code>gdFTEX_LINESPACE</code> is not present, or
+<code>strex</code> is null, or <a href="#gdImageStringFT">gdImageStringFT</a>
+is called, <code>linespacing</code> defaults to 1.05.
+<p>
+To specify a preference for Unicode, Shift_JIS Big5 character encoding,
+set or To output multiline text with a specific line spacing,
+include <code>gdFTEX_CHARMAP</code> in the setting of
+<code>flags</code>:
+<pre>
+flags |= gdFTEX_CHARMAP;
+</pre>
+And set <code>charmap</code> to the desired value, which can be
+any of gdFTEX_Unicode, gdFTEX_Shift_JIS, gdFTEX_Big5, or gdFTEX_Adobe_Custom.
+If you do not specify a preference, Unicode will be tried first. If the preferred
+character mapping is not found in the font, other character mappings
+are attempted.
+<p>
+GD operates on the assumption that the output image will be
+rendered to a computer screen. By default, gd passes a
+resolution of 96 dpi to the freetype text rendering engine.
+This influences the "hinting" decisions made by the renderer. To
+specify a different resolution, set hdpi and vdpi accordingly
+(in dots per inch) and add <code>gdFTEX_RESOLUTION</code> to <code>flags</code>:
+<pre>
+flags | gdFTEX_RESOLUTION;
+</pre>
+GD 2.0.29 and later will normally attempt to apply kerning tables, if
+fontconfig is available, to adjust the relative positions of consecutive
+characters more ideally for that pair of characters. This can be turn off by
+specifying the gdFTEX_DISABLE_KERNING flag:
+<pre>
+flags | gdFTEX_DISABLE_KERNING;
+</pre>
+GD 2.0.29 and later can return a vector of individual character
+position advances, occasionally useful in applications that must know
+exactly where each character begins. This is returned in the xshow
+element of the gdFTStringExtra structure if the gdFTEX_XSHOW
+flag is set:
+<pre>
+flags | gdFTEX_XSHOW;
+</pre>
+<b>The caller is responsible for calling gdFree() on the xshow
+element after the call</b> if gdFTEX_XSHOW is set.
+<p>
+GD 2.0.29 and later can also return the path to the actual font file
+used if the gdFTEX_RETURNFONTPATHNAME flag is set. This is useful because
+GD 2.0.29 and above are capable of
+selecting a font automatically based on a fontconfig font pattern
+when fontconfig is available. This information is returned in the
+fontpath element of the gdFTStringExtra structure.
+<pre>
+flags | gdFTEX_RETURNFONTPATHNAME;
+</pre>
+<b>The caller is responsible for calling gdFree() on the fontpath
+element after the call</b> if gdFTEX_RETURNFONTPATHNAME is set.
+<p>
+GD 2.0.29 and later can use fontconfig to resolve
+font names, including fontconfig patterns, if the gdFTEX_FONTCONFIG
+flag is set. As a convenience, this behavior can be made the default
+by calling <a href="#gdFTUseFontConfig">gdFTUseFontConfig</a> with
+a nonzero value. In that situation it is not necessary to set the
+gdFTEX_FONTCONFIG flag on every call; however explicit font path names
+can still be used if the gdFTEX_FONTPATHNAME flag is set:
+<pre>
+flags | gdFTEX_FONTPATHNAME;
+</pre>
+<p>
+Unless <a href="#gdFTUseFontConfig">gdFTUseFontConfig</a> has been
+called with a nonzero value, GD 2.0.29 and later will still expect
+the fontlist argument to the freetype text output functions to be
+a font file name or list thereof as in previous versions. If you do
+not wish to make fontconfig the default, it is
+still possible to force the use of fontconfig for a single call to
+the freetype text output functions by setting the gdFTEX_FONTCONFIG
+flag:
+<pre>
+flags | gdFTEX_FONTCONFIG;
+</pre>
+GD 2.0.29 and above can use fontconfig to resolve
+font names, including fontconfig patterns, if the gdFTEX_FONTCONFIG
+flag is set. As a convenience, this behavior can be made the default
+by calling <a href="#gdFTUseFontConfig">gdFTUseFontConfig</a> with
+a nonzero value. In that situation it is not necessary to set the
+gdFTEX_FONTCONFIG flag on every call; however explicit font path names
+can still be used if the gdFTEX_FONTPATHNAME flag is set:
+<pre>
+flags | gdFTEX_FONTPATHNAME;
+</pre>
+For more information, see <a href="#gdImageStringFT">gdImageStringFT</a>.
+<DT><A NAME="gdImageStringFTCircle">
+char *gdImageStringFTCircle(gdImagePtr im,
+ int cx,
+ int cy,
+ double radius,
+ double textRadius,
+ double fillPortion,
+ char *font,
+ double points,
+ char *top,
+ char *bottom,
+ int fgcolor)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+Draws the text strings specified by <code>top</code> and <code>bottom</code>
+on <code>im</code>, curved along the edge of a circle of radius
+<code>radius</code>, with its center at <code>cx</code> and <code>cy</code>.
+<code>top</code> is written clockwise
+along the top; <code>bottom</code> is written counterclockwise
+along the bottom. <code>textRadius</code> determines the "height"
+of each character; if <code>textRadius</code> is 1/2 of
+<code>radius</code>,
+characters extend halfway from the edge to the center.
+<code>fillPortion</code> varies from 0 to 1.0, with useful values
+from about 0.4 to 0.9, and determines how much of the
+180 degrees of arc assigned to each section of text
+is actually occupied by text; 0.9 looks better than
+1.0 which is rather crowded. <code>font</code> is a freetype
+font; see gdImageStringFT. <code>points</code> is passed to the
+freetype engine and has an effect on hinting; although
+the size of the text is determined by <code>radius</code>,
+<code>textRadius</code>, and <code>fillPortion</code>, you should
+pass a point size that
+"hints" appropriately -- if you know the text will be
+large, pass a large point size such as 24.0 to get the
+best results. <code>fgcolor</code> can be any color, and may have
+an alpha component, do blending, etc.
+<p>
+Returns 0 on success, or an error string otherwise.
+<pre>
+#include &lt;stdio.h&gt;
+#include &lt;gd.h&gt;
+
+int main (int argc, char *argv[])
+{
+ FILE *in;
+ FILE *out;
+ gdImagePtr im;
+ int radius;
+ /* Create an image of text on a circle, with an
+ alpha channel so that we can copy it onto a
+ background */
+ in = fopen("mypicture.jpg", "rb");
+ if (!in) {
+ im = gdImageCreateTrueColor(300, 300);
+ } else {
+ im = gdImageCreateFromJpeg(in);
+ fclose(in);
+ }
+ if (gdImageSX(im) &lt; gdImageSY(im)) {
+ radius = gdImageSX(im) / 2;
+ } else {
+ radius = gdImageSY(im) / 2;
+ }
+ gdStringFTCircle(
+ im,
+ gdImageSX(im) / 2,
+ gdImageSY(im) / 2,
+ radius,
+ radius / 2,
+ 0.8,
+ "arial",
+ 24,
+ "top text",
+ "bottom text",
+ gdTrueColorAlpha(240, 240, 255, 32));
+ out = fopen("gdfx.png", "wb");
+ if (!out) {
+ fprintf(stderr, "Can't create gdfx.png\n");
+ return 1;
+ }
+ gdImagePng(im, out);
+ fclose(out);
+ gdImageDestroy(im);
+ return 0;
+}
+</pre>
+
+<p>
+For more information, see <a href="#gdImageStringFTEx">gdImageStringFTEx</a>
+and <a href="#gdImageSquareToCircle">gdImageSquareToCircle</a>.
+<DT><A NAME="gdImageStringTTF">
+char *gdImageStringTTF(gdImagePtr im, int *brect,
+ int fg, char *fontname, double ptsize, double angle,
+ int x, int y, char *string)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+<strong>DEPRECATED.</strong> This function simply invokes
+<a href="#gdImageStringFT">gdImageStringFT</a> for backwards
+compatibility with old code that was written with FreeType 1.x.
+<DT><A NAME="gdFontCacheSetup">
+int gdFontCacheSetup(void)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+This function initializes the font cache for freetype text output
+functions such as <a href="#gdImageStringFTEx">gdImageStringFTEx</a>.
+If this function is not called by the programmer, it is invoked
+automatically on the first truetype text output call, which is
+perfectly safe <b>unless</b> the application is multithreaded.
+Multithreaded applications should directly invoke this function before
+allowing any thread to use freetype text output. Returns 0 on success,
+nonzero if the freetype library fails to initialize.
+<DT><A NAME="gdFontCacheShutdown">
+void gdFontCacheShutdown(void)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+This function releases the memory used by the freetype font cache
+and the text output mutex. Applications that use gd for their
+entire lifetime, then exit, need not call this function.
+</DL>
+<H3><A NAME="colors">Color-handling functions</A></H3>
+<DL>
+<DT><A NAME="gdImageColorAllocate">
+int gdImageColorAllocate(gdImagePtr im, int r, int g, int b)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorAllocate finds the first available color index in
+the image specified, sets its RGB values to those requested
+(255 is the maximum for each),
+and returns the index of the new color table entry, or an RGBA
+value in the case of a truecolor image; in either case you can
+then use the returned value as a parameter to drawing functions. When
+creating a new palette-based image, the first time you invoke this function,
+you are setting the background color for that image.
+<P>
+In the event that all <A HREF="#gdMaxColors">gdMaxColors</A> colors
+(256) have already been allocated, gdImageColorAllocate will
+return -1 to indicate failure. (This is not uncommon when
+working with existing PNG files that already use 256 colors.)
+Note that gdImageColorAllocate
+does not check for existing colors that match your request;
+see <A HREF="#gdImageColorExact">gdImageColorExact</A>,
+<A HREF="#gdImageColorClosest">gdImageColorClosest</A> and
+<A HREF="#gdImageColorClosestHWB">gdImageColorClosestHWB</A>
+for ways to locate existing colors that approximate the
+color desired in situations where a new color is not available.
+Also see <A HREF="#gdImageColorResolve">gdImageColorResolve</A>,
+new in gd-1.6.2.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int red;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color red. */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* Draw a dashed line from the upper left corner
+ to the lower right corner. */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as saving
+ it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorAllocateAlpha">
+int gdImageColorAllocateAlpha(gdImagePtr im, int r, int g, int b, int a)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorAllocateAlpha finds the first available color index in
+the image specified, sets its RGBA values to those requested
+(255 is the maximum for red, green and blue, and 127 represents
+full transparency for alpha),
+and returns the index of the new color table entry, or an RGBA
+value in the case of a truecolor image; in either case you can
+then use the returned value as a parameter to drawing functions. When
+creating a new palette-based image, the first time you invoke this function,
+you are setting the background color for that image.
+<P>
+In the event that all <A HREF="#gdMaxColors">gdMaxColors</A> colors
+(256) have already been allocated, gdImageColorAllocate will
+return -1 to indicate failure. (This is not uncommon when
+working with existing palette-based PNG files that already use 256 colors.)
+Note that gdImageColorAllocateAlpha
+does not check for existing colors that match your request;
+see <A HREF="#gdImageColorExactAlpha">gdImageColorExactAlpha</A> and
+<A HREF="#gdImageColorClosestAlpha">gdImageColorClosestAlpha</A>
+for ways to locate existing colors that approximate the
+color desired in situations where a new color is not available.
+Also see <A HREF="#gdImageColorResolveAlpha">gdImageColorResolveAlpha</A>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+int red;
+im = <A HREF="#gdImageCreate">gdImageCreate</A>(100, 100);
+/* Background color (first allocated) */
+black = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 0, 0, 0);
+/* Allocate the color red, 50% transparent. */
+red = <A HREF="#gdImageColorAllocateAlpha">gdImageColorAllocateAlpha</A>(im, 255, 0, 0, 64);
+/* Draw a dashed line from the upper left corner to the lower right corner. */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorClosest">
+int gdImageColorClosest(gdImagePtr im, int r, int g, int b)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorClosest searches the colors which have been
+defined thus far in the image specified and returns the
+index of the color with RGB values closest to those of the
+request. (Closeness is determined by Euclidian distance,
+which is used to determine the distance in three-dimensional color
+space between colors.)
+<P>
+If no colors have yet been allocated in the image,
+gdImageColorClosest returns -1.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<P>
+This function is most useful as a backup method for choosing
+a drawing color when an image already contains
+<A HREF="#gdMaxColors">gdMaxColors</A> (256) colors and
+no more can be allocated. (This is not uncommon when
+working with existing PNG files that already use many colors.)
+See <A HREF="#gdImageColorExact">gdImageColorExact</A>
+for a method of locating exact matches only.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+int red;
+/* Let's suppose that photo.png is a scanned photograph with
+ many colors. */
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Try to allocate red directly */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* If we fail to allocate red... */
+if (red == (-1)) {
+ /* Find the <em>closest</em> color instead. */
+ red = gdImageColorClosest(im, 255, 0, 0);
+}
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorClosestAlpha">
+int gdImageColorClosestAlpha(gdImagePtr im, int r, int g, int b, int a)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorClosest searches the colors which have been
+defined thus far in the image specified and returns the
+index of the color with RGBA values closest to those of the
+request. (Closeness is determined by Euclidian distance,
+which is used to determine the distance in four-dimensional color/alpha
+space between colors.)
+<P>
+If no colors have yet been allocated in the image,
+gdImageColorClosestAlpha returns -1.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<P>
+This function is most useful as a backup method for choosing
+a drawing color when a palette-based image already contains
+<A HREF="#gdMaxColors">gdMaxColors</A> (256) colors and
+no more can be allocated. (This is not uncommon when
+working with existing palette-based PNG files that already use many colors.)
+See <A HREF="#gdImageColorExactAlpha">gdImageColorExactAlpha</A>
+for a method of locating exact matches only.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+int red;
+/* Let's suppose that photo.png is a scanned photograph with
+ many colors. */
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Try to allocate red, 50% transparent, directly */
+red = <A HREF="#gdImageColorAllocateAlpha">gdImageColorAllocateAlpha</A>(im, 255, 0, 0, 64);
+/* If we fail to allocate red... */
+if (red == (-1)) {
+ /* Find the <em>closest</em> color instead. */
+ red = gdImageColorClosestAlpha(im, 255, 0, 0, 64);
+}
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorClosestHWB">
+int gdImageColorClosestHWB(gdImagePtr im, int r, int g, int b)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorClosestHWB searches the colors which have been
+defined thus far in the image specified and returns the
+index of the color with hue, whiteness and blackness closest to the
+requested color. This scheme is typically superior to the
+Euclidian distance scheme used by
+<a href="#gdImageColorClosest">gdImageColorClosest</a>.
+<P>
+If no colors have yet been allocated in the image,
+gdImageColorClosestHWB returns -1.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<P>
+This function is most useful as a backup method for choosing
+a drawing color when an image already contains
+<A HREF="#gdMaxColors">gdMaxColors</A> (256) colors and
+no more can be allocated. (This is not uncommon when
+working with existing PNG files that already use many colors.)
+See <A HREF="#gdImageColorExact">gdImageColorExact</A>
+for a method of locating exact matches only.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+FILE *in;
+int red;
+/* Let's suppose that photo.png is a scanned photograph with
+ many colors. */
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Try to allocate red directly */
+red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+/* If we fail to allocate red... */
+if (red == (-1)) {
+ /* Find the <em>closest</em> color instead. */
+ red = gdImageColorClosestHWB(im, 255, 0, 0);
+}
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorExact">
+int gdImageColorExact(gdImagePtr im, int r, int g, int b)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorExact searches the colors which have been
+defined thus far in the image specified and returns the
+index of the first color with RGB values which exactly
+match those of the request. If no allocated color matches the
+request precisely, gdImageColorExact returns -1.
+See <A HREF="#gdImageColorClosest">gdImageColorClosest</A>
+for a way to find the color closest to the color requested.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int red;
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* The image may already contain red; if it does, we'll save a slot
+ in the color table by using that color. */
+/* Try to allocate red directly */
+red = gdImageColorExact(im, 255, 0, 0);
+/* If red isn't already present... */
+if (red == (-1)) {
+ /* Second best: try to allocate it directly. */
+ red = <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>(im, 255, 0, 0);
+ /* Out of colors, so find the <em>closest</em> color instead. */
+ red = gdImageColorClosest(im, 255, 0, 0);
+}
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorResolve">
+int gdImageColorResolve(gdImagePtr im, int r, int g, int b)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorResolve searches the colors which have been
+defined thus far in the image specified and returns the
+index of the first color with RGB values which exactly
+match those of the request. If no allocated color matches the
+request precisely, then gdImageColorResolve tries to allocate the
+exact color. If there is no space left in the color table then
+gdImageColorResolve returns the closest color (as in gdImageColorClosest).
+This function always returns an index of a color.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int red;
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* The image may already contain red; if it does, we'll save a slot
+ in the color table by using that color. */
+/* Get index of red, or color closest to red */
+red = gdImageColorResolve(im, 255, 0, 0);
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorResolveAlpha">
+int gdImageColorResolveAlpha(gdImagePtr im, int r, int g, int b, int a)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorResolveAlpha searches the colors which have been
+defined thus far in the image specified and returns the
+index of the first color with RGBA values which exactly
+match those of the request. If no allocated color matches the
+request precisely, then gdImageColorResolveAlpha tries to allocate the
+exact color. If there is no space left in the color table then
+gdImageColorResolveAlpha returns the closest color (as in gdImageColorClosestAlpha).
+This function always returns an index of a color.
+<p>
+When applied to a truecolor image, this function always
+succeeds in returning the desired color.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int red;
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* The image may already contain red; if it does,
+ we'll save a slot in the color table by using that color. */
+/* Get index of red, 50% transparent, or the next best thing */
+red = gdImageColorResolveAlpha(im, 255, 0, 0, 64);
+/* Draw a dashed line from the upper left corner to the lower right corner */
+gdImageDashedLine(im, 0, 0, 99, 99, red);
+/* ... Do something with the image, such as saving
+ it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorsTotal">
+int gdImageColorsTotal(gdImagePtr im)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageColorsTotal is a macro which returns the number of
+colors currently allocated in a palette image. For truecolor
+images, the result of this call is undefined and should not
+be used.
+<DT><A NAME="gdImageRed">
+int gdImageRed(gdImagePtr im, int c)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageRed is a macro which returns the red portion
+of the specified color in the image. This macro works
+for both palette and truecolor images.
+<DT><A NAME="gdImageGreen">
+int gdImageGreen(gdImagePtr im, int c)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageGreen is a macro which returns the green portion
+of the specified color in the image. This macro works
+for both palette and truecolor images.
+<DT><A NAME="gdImageBlue">
+int gdImageBlue(gdImagePtr im, int c)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageBlue is a macro which returns the blue portion
+of the specified color in the image. This macro works
+for both palette and truecolor images.
+<DT><A NAME="gdImageGetInterlaced">
+int gdImageGetInterlaced(gdImagePtr im)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageGetInterlaced is a macro which returns true (1)
+if the image is interlaced, false (0) if not.
+Use this macro to obtain this information; do not
+access the structure directly.
+See <A HREF="#gdImageInterlace">gdImageInterlace</A> for
+a means of interlacing images.
+<DT><A NAME="gdImageGetTransparent">
+int gdImageGetTransparent(gdImagePtr im)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageGetTransparent is a macro which returns the
+current transparent color index in the image.
+If there is no transparent color, gdImageGetTransparent
+returns -1. Use this macro to obtain this information; do not
+access the structure directly.
+<DT><A NAME="gdImageColorDeallocate">
+void gdImageColorDeallocate(gdImagePtr im, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorDeallocate marks the specified color as being
+available for reuse. It does not attempt to determine whether
+the color index is still in use in the image. After a call
+to this function, the next call to
+<A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>
+for the same image will set new RGB values for that
+color index, changing the color of any pixels which
+have that index as a result. If multiple calls to
+gdImageColorDeallocate are made consecutively, the lowest-numbered
+index among them will be reused by the next
+<A HREF="#gdImageColorAllocate"> gdImageColorAllocate</A> call.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int red, blue;
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Look for red in the color table. */
+red = gdImageColorExact(im, 255, 0, 0);
+/* If red is present... */
+if (red != (-1)) {
+ /* Deallocate it. */
+ gdImageColorDeallocate(im, red);
+ /* Allocate blue, reusing slot in table.
+ Existing red pixels will change color. */
+ blue = gdImageColorAllocate(im, 0, 0, 255);
+}
+/* ... Do something with the image, such as
+ saving it to a file... */
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageColorTransparent">
+void gdImageColorTransparent(gdImagePtr im, int color)</A>
+<STRONG>(FUNCTION)</STRONG>
+<DD>
+gdImageColorTransparent sets the transparent color index
+for the specified image to the specified index. To indicate
+that there should be <em>no</em> transparent color, invoke
+gdImageColorTransparent with a color index of -1. Note that
+JPEG images do not support transparency, so this setting has no effect
+when writing JPEG images.
+<P>
+The color index used should be an index
+allocated by <A HREF="#gdImageColorAllocate">gdImageColorAllocate</A>,
+whether explicitly invoked by your code or implicitly
+invoked by loading an image.
+In order to ensure that your image has a reasonable appearance
+when viewed by users who do not have transparent background
+capabilities (or when you are writing a JPEG-format file, which does
+not support transparency), be sure to give reasonable RGB values to the
+color you allocate for use as a transparent color,
+<em>even though it will be transparent on systems
+that support PNG transparency</em>.
+<PRE>
+... inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im;
+int black;
+FILE *in, *out;
+in = fopen("photo.png", "rb");
+im = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Look for black in the color table and make it transparent. */
+black = <A HREF="#gdImageColorExact">gdImageColorExact</A>(im, 0, 0, 0);
+/* If black is present... */
+if (black != (-1)) {
+ /* Make it transparent */
+ gdImageColorTransparent(im, black);
+}
+/* Save the newly-transparent image back to the file */
+out = fopen("photo.png", "wb");
+<A HREF="#gdImagePng">gdImagePng</A>(im, out);
+fclose(out);
+/* Destroy it */
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdImageTrueColor">
+void gdImageTrueColor(int red, int green, int blue)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdImageTrueColor returns an RGBA color value for use when
+drawing on a truecolor image. Red, green, and blue are all
+in the range between 0 (off) and 255 (maximum). This macro should
+not be used with palette-based images. If you need to write
+code which is compatible with both palette-based and
+truecolor images, use <a href="#gdImageColorResolve">gdImageColorResolve</a>.
+<DT><A NAME="gdTrueColorAlpha">
+void gdTrueColorAlpha(int red, int green, int blue, int alpha)</A>
+<STRONG>(MACRO)</STRONG>
+<DD>
+gdTrueColorAlpha returns an RGBA color value for use when
+drawing on a truecolor image with alpha channel transparency. Red,
+green, and blue are all
+in the range between 0 (off) and 255 (maximum). Alpha is in the
+range between 0 (opaque) and 127 (fully transparent). This macro should
+not be used with palette-based images. If you need to write
+code which is compatible with both palette-based and
+truecolor images, use <a href="#gdImageColorResolveAlpha">gdImageColorResolveAlpha</a>.</DL>
+<H3><A NAME="copying">Copying and resizing functions</A></H3>
+<DL>
+
+<DT><A NAME="gdImageCopy">void gdImageCopy(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopy is used to copy a rectangular portion of one image to
+another image. (For a way of stretching or shrinking the image
+in the process, see <A HREF="#gdImageCopyResized">
+gdImageCopyResized</A>.)
+<P>
+The <code>dst</code> argument is the destination image to which the
+region will be copied. The <code>src</code> argument is the source
+image from which the region is copied. The <code>dstX</code>
+and <code>dstY</code> arguments specify the point in the destination
+image to which the region will be copied. The <code>srcX</code>
+and <code>srcY</code> arguments specify the upper left corner
+of the region in the source image. The <code>w</code>
+and <code>h</code> arguments specify the width and height
+of the region.
+<P>
+When you copy a region from one location in an image to another
+location in the same image, gdImageCopy will perform as expected
+unless the regions overlap, in which case the result is
+unpredictable.
+<P>
+<strong>Important note on copying between images:</strong> since
+different images do
+not necessarily have the same color tables, pixels are not simply set to the
+same color index values to copy them. gdImageCopy will attempt
+to find an identical RGB value in the destination image for
+each pixel in the copied portion of the source image by
+invoking <A HREF="#gdImageColorExact">gdImageColorExact</A>. If
+such a value is not found, gdImageCopy will attempt to
+allocate colors as needed using <A HREF="#gdImageColorAllocate">
+gdImageColorAllocate</A>. If both of these methods fail,
+gdImageCopy will invoke <A HREF="#gdImageColorClosest">
+gdImageColorClosest</A> to find the color in the destination
+image which most closely approximates the color of the
+pixel being copied.
+<PRE>
+... Inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im_in;
+<A HREF="#gdImagePtr">gdImagePtr</A> im_out;
+int x, y;
+FILE *in;
+FILE *out;
+/* Load a small png to tile the larger one with */
+in = fopen("small.png", "rb");
+im_in = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Make the output image four times as large on both axes */
+im_out = <A HREF="#gdImageCreate">gdImageCreate</A>(im_in->sx * 4, im_in->sy * 4);
+/* Now tile the larger image using the smaller one */
+for (y = 0; (y < 4); y++) {
+ for (x = 0; (x < 4); x++) {
+ gdImageCopy(im_out, im_in,
+ x * im_in->sx, y * im_in->sy,
+ 0, 0,
+ im_in->sx, im_in->sy);
+ }
+}
+out = fopen("tiled.png", "wb");
+<A HREF="#gdImagePng">gdImagePng</A>(im_out, out);
+fclose(out);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_in);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_out);
+</PRE>
+<DT><A NAME="gdImageCopyResized">void gdImageCopyResized(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int destW, int destH, int srcW, int srcH)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopyResized is used to copy a rectangular portion of one image to
+another image. The X and Y dimensions of the original region and the
+destination region can vary, resulting in stretching or shrinking of
+the region as appropriate. (For a simpler version of this function
+which does not deal with resizing, see <A HREF="#gdImageCopy">
+gdImageCopy</A>.)
+<P>
+The <code>dst</code> argument is the destination image to which the
+region will be copied. The <code>src</code> argument is the source
+image from which the region is copied. The <code>dstX</code>
+and <code>dstY</code> arguments specify the point in the destination
+image to which the region will be copied. The <code>srcX</code>
+and <code>srcY</code> arguments specify the upper left corner
+of the region in the source image. The <code>dstW</code>
+and <code>dstH</code> arguments specify the width and height
+of the destination region. The <code>srcW</code>
+and <code>srcH</code> arguments specify the width and height
+of the source region and can differ from the destination size,
+allowing a region to be scaled during the copying process.
+<P>
+When you copy a region from one location in an image to another
+location in the same image, gdImageCopy will perform as expected
+unless the regions overlap, in which case the result is
+unpredictable. If this presents a problem, create a scratch image
+in which to keep intermediate results.
+<P>
+<strong>Important note on copying between images:</strong> since images
+do not necessarily have the same color tables, pixels are not simply set
+to the same color index values to copy them. gdImageCopy will attempt
+to find an identical RGB value in the destination image for
+each pixel in the copied portion of the source image by
+invoking <A HREF="#gdImageColorExact">gdImageColorExact</A>. If
+such a value is not found, gdImageCopy will attempt to
+allocate colors as needed using <A HREF="#gdImageColorAllocate">
+gdImageColorAllocate</A>. If both of these methods fail,
+gdImageCopy will invoke <A HREF="#gdImageColorClosest">
+gdImageColorClosest</A> to find the color in the destination
+image which most closely approximates the color of the
+pixel being copied.
+<PRE>
+... Inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im_in;
+<A HREF="#gdImagePtr">gdImagePtr</A> im_out;
+int x, y;
+FILE *in;
+FILE *out;
+/* Load a small png to expand in the larger one */
+in = fopen("small.png", "rb");
+im_in = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Make the output image four times as large on both axes */
+im_out = <A HREF="#gdImageCreate">gdImageCreate</A>(im_in->sx * 4, im_in->sy * 4);
+/* Now copy the smaller image, but four times larger */
+gdImageCopyResized(im_out, im_in, 0, 0, 0, 0,
+ im_out->sx, im_out->sy,
+ im_in->sx, im_in->sy);
+out = fopen("large.png", "wb");
+<A HREF="#gdImagePng">gdImagePng</A>(im_out, out);
+fclose(out);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_in);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_out);
+</PRE>
+<DT><A NAME="gdImageCopyResampled">void gdImageCopyResampled(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int destW, int destH, int srcW, int srcH)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopyResampled is used to copy a rectangular portion of one image to
+another image, smoothly interpolating pixel values so that, in particular,
+reducing the size of an image still retains a great deal of clarity. The
+X and Y dimensions of the original region and the
+destination region can vary, resulting in stretching or shrinking of
+the region as appropriate. (For a simpler version of this function
+which does not deal with resizing, see <A HREF="#gdImageCopy">
+gdImageCopy</A>. For a version which does not interpolate pixel values,
+see <A HREF="#gdImageCopyResized">gdImageCopyResized</A>.
+<p>
+Pixel values are only interpolated if the destination image is a
+truecolor image. Otherwise,
+<a href="#gdImageCopyResized">gdImageCopyResized</a> is
+automatically invoked.
+<P>
+The <code>dst</code> argument is the destination image to which the
+region will be copied. The <code>src</code> argument is the source
+image from which the region is copied. The <code>dstX</code>
+and <code>dstY</code> arguments specify the point in the destination
+image to which the region will be copied. The <code>srcX</code>
+and <code>srcY</code> arguments specify the upper left corner
+of the region in the source image. The <code>dstW</code>
+and <code>dstH</code> arguments specify the width and height
+of the destination region. The <code>srcW</code>
+and <code>srcH</code> arguments specify the width and height
+of the source region and can differ from the destination size,
+allowing a region to be scaled during the copying process.
+<P>
+When you copy a region from one location in an image to another
+location in the same image, gdImageCopy will perform as expected
+unless the regions overlap, in which case the result is
+unpredictable. If this presents a problem, create a scratch image
+in which to keep intermediate results.
+<P>
+<strong>Important note on copying between images:</strong> since images
+do not necessarily have the same color tables, pixels are not simply set
+to the same color index values to copy them. If the destination image
+is a palette image, gd will use the
+<a href="#gdImageColorResolve">gdImageColorResolve</a> function to
+determine the best color available.
+<PRE>
+... Inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im_in;
+<A HREF="#gdImagePtr">gdImagePtr</A> im_out;
+int x, y;
+FILE *in;
+FILE *out;
+/* Load a large png to shrink in the smaller one */
+in = fopen("large.png", "rb");
+im_in = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Make the output image four times as small on both axes. Use
+ a true color image so that we can interpolate colors. */
+im_out = <A HREF="#gdImageCreate">gdImageCreateTrueColor</A>(im_in->sx / 4, im_in->sy / 4);
+/* Now copy the large image, but four times smaller */
+gdImageCopyResampled(im_out, im_in, 0, 0, 0, 0,
+ im_out->sx, im_out->sy,
+ im_in->sx, im_in->sy);
+out = fopen("large.png", "wb");
+<A HREF="#gdImagePng">gdImagePng</A>(im_out, out);
+fclose(out);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_in);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_out);
+</PRE>
+<DT><A NAME="gdImageCopyRotated">void gdImageCopyRotated(gdImagePtr dst, gdImagePtr src, double dstX, double dstY, int srcX, int srcY, int srcW, int srcH, int angle)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopyRotated is used to copy a rectangular portion of one image to
+another image, or to another region of the same image. <strong>The srcX and
+srcY coordinates specify the upper left corner of the source area; however,
+the dstX and dstY coordinates specify the CENTER of the destination area.
+</strong> This important distinction is made because the rotated rectangle may
+may or may not be parallel to the X and Y axes. The destination coordinates
+may be floating point, as the center of the desired destination area may lie
+at the center of a pixel (0.5 pixels) rather than its upper left corner.
+The angle specified is an integer number of degrees, between 0 and 360,
+with 0 degrees causing no change, and counterclockwise rotation as
+the angle increases.
+<P>
+When you copy a region from one location in an image to another
+location in the same image, gdImageCopyRotated will perform as expected
+unless the regions overlap, in which case the result is
+unpredictable. If this presents a problem, create a scratch image
+in which to keep intermediate results.
+<P>
+<strong>Important note on copying between images:</strong> since
+palette-based images do not necessarily have the same color tables, pixels
+are not simply set to the same color index values to copy them.
+If the destination image is not a truecolor image,
+<a href="#gdImageColorResolveAlpha">gdImageColorResolveAlpha</a> is
+used to choose the destination pixel.
+<PRE>
+... Inside a function ...
+<A HREF="#gdImagePtr">gdImagePtr</A> im_in;
+<A HREF="#gdImagePtr">gdImagePtr</A> im_out;
+int x, y;
+int a;
+FILE *in;
+FILE *out;
+/* Load a small png to rotate in the larger one */
+in = fopen("small.png", "rb");
+im_in = <A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A>(in);
+fclose(in);
+/* Make the output image four times as large on both axes */
+im_out = <A HREF="#gdImageCreate">gdImageCreate</A>(im_in->sx * 4, im_in->sy * 4);
+/* Now rotate the smaller image */
+for (a = 0; (a < 360); a += 45) {
+ double x = cos(a * .0174532925) * gdImageSX(im_out) / 2;
+ double y = -sin(a * .0174532925) * gdImageSY(im_out) / 2;
+ gdImageCopyRotated(im_out, im_in,
+ gdImageSX(im_out) / 2 + x,
+ gdImageSY(im_out) / 2 + y,
+ 0, 0,
+ gdImageSX(im_in),
+ gdImageSY(im_in),
+ a);
+}
+out = fopen("large.png", "wb");
+<A HREF="#gdImagePng">gdImagePng</A>(im_out, out);
+fclose(out);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_in);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im_out);
+</PRE>
+
+<DT><A NAME="gdImageCopyMerge">void gdImageCopyMerge(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int w, int h, int pct)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopyMerge is almost identical to <a href=#gdImageCopy>gdImageCopy</a>, except that
+it 'merges' the two images by an amount specified in the last parameter. If the last
+parameter is 100, then it will function identically to gdImageCopy - the source image replaces
+the pixels in the destination.
+<p>
+If, however, the <strong>pct</strong> parameter is less than 100, then the two images are merged.
+With pct = 0, no action is taken.
+<p>This feature is most useful to 'highlight' sections of an image by merging a solid color with
+pct = 50:
+<PRE>
+... Inside a function ...
+gdImageCopyMerge(im_out, im_in, 100, 200, 0, 0, 30, 50, 50);
+</PRE>
+
+<DT><A NAME="gdImageCopyMergeGray">void gdImageCopyMergeGray(gdImagePtr dst, gdImagePtr src, int dstX, int dstY, int srcX, int srcY, int
+ w, int h, int pct)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCopyMergeGray is almost identical to <a href=#gdImageCopyMerge>gdImageCopyMerge</a>,
+except that when merging images it preserves the hue of the source by converting the destination
+pixels to grey scale before the copy operation.
+<PRE>
+... Inside a function ...
+gdImageCopyMergeGray(im_out, im_in, 100, 200, 0, 0, 30, 50, 50);
+</PRE>
+
+<DT><A NAME="gdImagePaletteCopy">void gdImagePaletteCopy(gdImagePtr dst, gdImagePtr src)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+Copies a palette from one image to another, attempting to match the colors in the target image
+to the colors
+in the source palette.
+<DT><A NAME="gdImageSquareToCircle">void gdImageSquareToCircle(gdImagePtr im, int radius)</a>
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+<b>im MUST be square, but can have any size.</b> Returns a new image
+of width and height radius * 2, in which the X axis of
+the original has been remapped to theta (angle) and the Y axis
+of the original has been remapped to rho (distance from center).
+This is known as a "polar coordinate transform."
+See also <a href="#gdImageStringFTCircle">gdImageStringFTCircle</a>, which
+uses this function internally.
+<DT><A NAME="gdImageSharpen">void gdImageSharpen(gdImagePtr im, int pct)</a>
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+Sharpens the specified image. pct is a sharpening percentage, and
+can be greater than 100. Silently does nothing to non-truecolor images.
+Silently does nothing for pct<0. Transparency/alpha channel are not
+altered.
+</DL>
+<H3><A NAME="misc">Miscellaneous Functions</A></H3>
+<DL>
+
+<DT><A NAME="gdImageCompare">int gdImageCompare(gdImagePtr im1, gdImagePtr im2)
+<STRONG> (FUNCTION)</STRONG>
+<DD>
+gdImageCompare returns a bitmap indicating if the two images are different. The members of the
+bitmap are defined in gd.h, but the most important is GD_CMP_IMAGE, which indicated that the images
+will actually appear different when displayed. Other, less important, differences relate to pallette
+entries. Any difference in the transparent colour is assumed to make images display differently,
+even if the transparent colour is not used.
+<PRE>
+... Inside a function ...
+cmpMask = gdImageCompare(im1, im2);
+</PRE>
+
+<DT><A NAME="gdImageInterlace">gdImageInterlace(gdImagePtr im, int interlace)</A> <strong>(FUNCTION)</strong>
+<DD>
+gdImageInterlace is used to determine whether an image should be stored
+in a linear fashion, in which lines will appear on the display from
+first to last, or in an interlaced fashion, in which the image
+will "fade in" over several passes. By default, images are not
+interlaced. (When writing JPEG images, interlacing implies generating
+progressive JPEG files, which are represented as a series of scans of
+increasing quality. Noninterlaced gd images result in regular
+[sequential] JPEG data streams.)
+<P>
+A nonzero value for the interlace argument turns on interlace;
+a zero value turns it off. Note that interlace has no effect
+on other functions, and has no meaning unless you save the
+image in PNG or JPEG format; the gd and xbm formats do not support
+interlace.
+<P>
+When a PNG is loaded with
+<A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A> or a JPEG is
+loaded with
+<A HREF="#gdImageCreateFromJpeg">gdImageCreateFromJpeg</A>, interlace
+will be set according to the setting in the PNG or JPEG file.
+<P>
+Note that many PNG and JPEG viewers and web browsers do <em>not</em>
+support interlace or the incremental display of progressive
+JPEGs. However, the interlaced PNG or progressive JPEG should still
+display; it will simply appear all at once, just as other images do.
+<PRE>
+gdImagePtr im;
+FILE *out;
+/* ... Create or load the image... */
+
+/* Now turn on interlace */
+gdImageInterlace(im, 1);
+/* And open an output file */
+out = fopen("test.png", "wb");
+/* And save the image -- could also use <A HREF="#gdImageJpeg">gdImageJpeg</A> */
+<A HREF="#gdImagePng">gdImagePng</A>(im, out);
+fclose(out);
+<A HREF="#gdImageDestroy">gdImageDestroy</A>(im);
+</PRE>
+<DT><A NAME="gdFree">gdFree(void *ptr)</A> <strong>(FUNCTION)</strong>
+<DD>
+gdFree provides a reliable way to free memory allocated by functions
+such as <a href="#gdImagePngPtr">gdImagePngPtr</a> which return
+blocks of memory. Use of this function guarantees that the
+version of <code>free()</code> that is ultimately called will
+be intended for use with the version of <code>malloc()</code> that
+originally allocated the block.
+</DL>
+<H3><A NAME="constants">Constants</A></H3>
+<DL>
+<DT><A NAME="gdAntiAliased">gdAntiAliased</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a color when invoking a line-drawing
+function such as <A HREF="#gdImageLine">gdImageLine</A>
+or <A HREF="#gdImageRectangle">gdImageRectangle</A>.
+When gdAntiAliased is used as the color, the foreground color
+set with <a href="#gdImageSetAntiAliased">gdImageSetAntiAliased</a>
+is used, with antialiasing mechanisms to minimize any
+"jagged" appearance.
+For more information, see
+<a href="#gdImageSetAntiAliased">gdImageSetAntiAliased</a>.
+<DT><A NAME="gdBrushed">gdBrushed</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a color when invoking a line-drawing
+function such as <A HREF="#gdImageLine">gdImageLine</A>
+or <A HREF="#gdImageRectangle">gdImageRectangle</A>.
+When gdBrushed is used as the color, the brush
+image set with <A HREF="#gdImageSetBrush">gdImageSetBrush</A>
+is drawn in place of each pixel of the line (the brush is
+usually larger than one pixel, creating the effect
+of a wide paintbrush). See also
+<A HREF="#gdStyledBrushed">gdStyledBrushed</A> for a way
+to draw broken lines with a series of distinct copies of an image.
+<DT><A NAME="gdMaxColors"><code>gdMaxColors</code><strong>(CONSTANT)</strong>
+<DD>
+The constant 256. This is the maximum number of colors in a palette-based
+PNG file according to the PNG standard, and is also the maximum number of
+colors in a palette-based gd image. This of course does not apply to
+truecolor images.
+<DT><A NAME="gdStyled">gdStyled</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a color when invoking a line-drawing
+function such as <A HREF="#gdImageLine">gdImageLine</A>
+or <A HREF="#gdImageRectangle">gdImageRectangle</A>.
+When gdStyled is used as the color, the colors of the pixels are
+drawn successively from the style that has been
+set with <A HREF="#gdImageSetStyle">gdImageSetStyle</A>.
+If the color of a pixel is equal to
+<A HREF="#gdTransparent">gdTransparent</A>, that pixel
+is not altered. (This mechanism is completely unrelated
+to the "transparent color" of the image itself; see
+<A HREF="#gdImageColorTransparent">gdImageColorTransparent</A>
+gdImageColorTransparent for that mechanism.) See also
+<A NAME="#gdStyledBrushed"> gdStyledBrushed</A>.
+<DT><A NAME="gdStyledBrushed">gdStyledBrushed</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a color when invoking a line-drawing
+function such as <A HREF="#gdImageLine">gdImageLine</A>
+or <A HREF="#gdImageRectangle">gdImageRectangle</A>.
+When gdStyledBrushed is used as the color, the brush
+image set with <A HREF="#gdImageSetBrush">gdImageSetBrush</A>
+is drawn at each pixel of the line, providing that the
+style set with <A HREF="#gdImageSetStyle">gdImageSetStyle</A>
+contains a nonzero value (OR gdTransparent, which
+does not equal zero but is supported for consistency)
+for the current pixel. (Pixels are drawn successively from the style as the
+line is drawn, returning to the beginning when the
+available pixels in the style are exhausted.) Note that
+this differs from the behavior of <A HREF="#gdStyled">gdStyled</A>,
+in which the values in the style are used as actual
+pixel colors, except for gdTransparent.
+<DT><A NAME="gdDashSize">gdDashSize</A> <strong>(CONSTANT)</strong>
+<DD>
+The length of a dash in a dashed line. Defined to be 4 for
+backwards compatibility with programs that use
+<A NAME="gdImageDashedLine">gdImageDashedLine</A>. New
+programs should use <A NAME="gdImageSetStyle">
+gdImageSetStyle</A> and call the standard
+<A NAME="gdImageLine">gdImageLine</A> function
+with the special "color" <A NAME="gdStyled">
+gdStyled</A> or <A NAME="gdStyledBrushed">gdStyledBrushed</A>.
+<DT><A NAME="gdTiled">gdTiled</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a normal color in <A HREF="#gdImageFilledRectangle">
+gdImageFilledRectangle</A>, <A HREF="#gdImageFilledPolygon">
+gdImageFilledPolygon</A>,
+<A HREF="#gdImageFill">gdImageFill</A>, and <A HREF="#gdImageFillToBorder">
+gdImageFillToBorder</A>. gdTiled selects a pixel from the
+tile image set with <A HREF="#gdImageSetTile">gdImageSetTile</A>
+in such a way as to ensure that the filled area will be
+tiled with copies of the tile image. See the discussions of
+<A HREF="#gdImageFill">gdImageFill</A> and
+<A HREF="#gdImageFillToBorder">gdImageFillToBorder</A> for special
+restrictions regarding those functions.
+<DT><A NAME="gdTransparent">gdTransparent</A> <strong>(CONSTANT)</strong>
+<DD>
+Used in place of a normal color in a style to be set with
+<A HREF="#gdImageSetStyle">gdImageSetStyle</A>.
+gdTransparent is <strong>not</strong> the transparent
+color index of the image; for that functionality please
+see <A HREF="#gdImageColorTransparent">gdImageColorTransparent</A>.
+</DL>
+
+<A NAME="gdformat"><H3>About the additional .gd image file format</H3></A>
+In addition to reading and writing the PNG and JPEG formats and reading the
+X Bitmap format, gd has the capability to read and write its
+own ".gd" format. This format is <em>not</em> intended for
+general purpose use and should never be used to distribute
+images. It is not a compressed format. Its purpose is solely to
+allow very fast loading of images your program needs often in
+order to build other images for output. If you are experiencing
+performance problems when loading large, fixed PNG images your
+program needs to produce its output images, you may wish
+to examine the functions <A HREF="#gdImageCreateFromGd">
+gdImageCreateFromGd</A> and <A HREF="#gdImageGd">gdImageGd</A>,
+which read and write .gd format images.
+
+<P>
+The program "pngtogd.c" is provided as a simple way of converting
+.png files to .gd format. I emphasize again that you will not
+need to use this format unless you have a need for high-speed loading
+of a few frequently-used images in your program.
+
+<A NAME="gd2format"><H3>About the .gd2 image file format</H3></A>
+In addition to reading and writing the PNG format and reading the
+X Bitmap format, gd has the capability to read and write its
+own ".gd2" format. This format is <em>not</em> intended for
+general purpose use and should never be used to distribute
+images. It is a compressed format allowing pseudo-random access
+to large image files. Its purpose is solely to
+allow very fast loading of <strong>parts</strong> of images
+If you are experiencing
+performance problems when loading large, fixed PNG or JPEG images your
+program needs to produce its output images, you may wish
+to examine the functions <A HREF="#gdImageCreateFromGd2">
+gdImageCreateFromGd2</A>, <A HREF="#gdImageCreateFromGd2Part">
+gdImageCreateFromGd2Part</A> and <A HREF="#gdImageGd2">gdImageGd2</A>,
+which read and write .gd2 format images.
+
+<P>
+The program "pngtogd2.c" is provided as a simple way of converting
+.png files to .gd2 format.
+
+<A NAME="gdioctx"><H3>About the gdIOCtx structure</H3></A>
+Version 1.5 of GD added a new style of I/O based on an IOCtx
+structure (the most up-to-date version can be found in gd_io.h):
+<PRE>
+typedef struct gdIOCtx {
+ int (*getC)(struct gdIOCtx*);
+ int (*getBuf)(struct gdIOCtx*, void*, int);
+
+ void (*putC)(struct gdIOCtx*, int);
+ int (*putBuf)(struct gdIOCtx*, const void*, int);
+
+ int (*seek)(struct gdIOCtx*, const int); /* Returns 1 on SUCCESS */
+ long (*tell)(struct gdIOCtx*);
+
+ void (*free)(struct gdIOCtx*);
+
+} gdIOCtx;
+</PRE>
+
+Most functions that accepted files in previous versions now also have a
+counterpart that accepts an I/O context. These functions have a 'Ctx'
+suffix.
+<p>
+The <xxx>Ctx routines use the function pointers in the I/O context pointed to
+by gdIOCtx to perform all I/O. Examples of how to implement an I/O context
+can be found in io_file.c (which provides a wrapper for file routines), and
+io_dp.c (which implements in-memory storage).
+<p>
+It is not necessary to implement all functions in an I/O context if you know
+that it will only be used in limited cirsumstances. At the time of writing
+(Version 1.6.1, July 1999), the known requirements are:
+<p>
+<Table>
+<TR><TD>All</TD><td width=20>&nbsp;</td><TD>Must have 'free',</td></tr>
+<TR><TD>Anything that reads from the context</TD><td></td><TD>Must have 'getC' and 'getBuf',</td></tr>
+<TR><TD>Anything that writes to the context</TD><td></td><TD>Must have 'putC' and 'putBuf'.</td></tr>
+<TR><TD>If gdCreateFromGd2Part is called</td><td></td><TD>Must also have 'seek' and 'tell'. Note: seek must return 1 on SUCCESS and 0 on FAILURE.</td></tr>
+<TR><TD>If gdImageGd2 is called</td><td></td><TD>Must also have 'seek' and 'tell'.</td></tr>
+</Table>
+
+
+
+<A NAME="informing"><H3>Please tell us you're using gd!</H3>
+When you contact us and let us know you are using gd,
+you help us justify the time spent in maintaining and improving
+it. So please let us know. If the results are publicly
+visible on the web, a URL is a wonderful thing to receive, but
+if it's not a publicly visible project, a simple note is just
+as welcome.
+
+<A NAME="support"><H3>How do I get support?</H3></A>
+<h4>Free Support</h4>
+
+Anyone can mail questions about the gd library using the
+<a href="http://www.libgd.org/Wiki/Support">LibGD support</a>. However,
+we receive a very large volume of email on many subjects, and while we do
+our best to respond to all queries this can take some time. Sometimes
+the response must take the form of an eventual new release or
+ an addition to a FAQ or other document, as opposed to an detailed individual response.
+
+<h4>Hourly Support</h4>
+Those requiring support in detail may arrange for direct support
+from the maintaines, at the rate of $50/hr, billed
+directly by credit card. Purchase orders are also accepted from
+Fortune 500 corporations and institutions in good standing.
+To make arrangements, contact <A HREF="http://www.libgd.org/Contact">Pierre-A. Joye</A>. To avoid delay
+and/or confusion, be sure to specifically mention that you wish to purchase gd support at the
+hourly rate above.
+
+<A NAME="issues"><H3>How do I report issues, bugs or features request?</H3></A>
+Bugs, feature requests or other issues can be reported using the
+<A HREF="http://bugs.libgd.org">libGD.org issues tracker.</A> as well as using
+one of our support channels: <a href="http://www.libgd.org/Wiki/Support">LibGD support</a>
+
+<H3><A NAME="index">Alphabetical quick index</A></H3>
+<A HREF="#gdAntiAliased">gdAntiAliased</A> |
+<A HREF="#gdBrushed">gdBrushed</A> |
+<A HREF="#gdDashSize">gdDashSize</A> |
+<A HREF="#gdFont">gdFont</A> |
+<A HREF="#gdFontGetHuge">gdFontGetHuge</A> |
+<A HREF="#gdFontGetLarge">gdFontGetLarge</A> |
+<A HREF="#gdFontGetMediumBold">gdFontGetMediumBold</A> |
+<A HREF="#gdFontGetSmall">gdFontGetSmall</A> |
+<A HREF="#gdFontGetTiny">gdFontGetTiny</A> |
+<A HREF="#gdFontCacheSetup">gdFontCacheSetup</A> |
+<A HREF="#gdFontCacheShutdown">gdFontCacheShutdown</A> |
+<A HREF="#gdFontPtr">gdFontPtr</A> |
+<A HREF="#gdFree">gdFree</A> |
+<A HREF="#gdImage">gdImage</A> |
+<A HREF="#gdImageAlphaBlending">gdImageAlphaBlending</A> |
+<A HREF="#gdImageArc">gdImageArc</A> |
+<A HREF="#gdImageBlue">gdImageBlue</A> |
+<A HREF="#gdImageBoundsSafe">gdImageBoundsSafe</A> |
+<A HREF="#gdImageChar">gdImageChar</A> |
+<A HREF="#gdImageCharUp">gdImageCharUp</A> |
+<A HREF="#gdImageColorAllocate">gdImageColorAllocate</A> |
+<A HREF="#gdImageColorAllocateAlpha">gdImageColorAllocateAlpha</A> |
+<A HREF="#gdImageColorClosest">gdImageColorClosest</A> |
+<A HREF="#gdImageColorClosestAlpha">gdImageColorClosestAlpha</A> |
+<A HREF="#gdImageColorClosestHWB">gdImageColorClosestHWB</A> |
+<A HREF="#gdImageColorDeallocate">gdImageColorDeallocate</A> |
+<A HREF="#gdImageColorExact">gdImageColorExact</A> |
+<A HREF="#gdImageColorExactAlpha">gdImageColorExactAlpha</A> |
+<A HREF="#gdImageColorResolve">gdImageColorResolve</A> |
+<A HREF="#gdImageColorResolveAlpha">gdImageColorResolveAlpha</A> |
+<A HREF="#gdImageColorTransparent">gdImageColorTransparent</A> |
+<A HREF="#gdImageCopy">gdImageCopy</A> |
+<A HREF="#gdImageCopyMerge">gdImageCopyMerge</A> |
+<A HREF="#gdImageCopyMergeGray">gdImageMergeGray</A> |
+<A HREF="#gdImageCopyResized">gdImageCopyResized</A> |
+<A HREF="#gdImageCopyResampled">gdImageCopyResampled</A> |
+<A HREF="#gdImageCopyRotated">gdImageCopyRotated</A> |
+<A HREF="#gdImageCreate">gdImageCreate</A> |
+<A HREF="#gdImageCreate">gdImageCreatePalette</A> |
+<A HREF="#gdImageCreate">gdImageCreateTrueColor</A> |
+<A HREF="#gdImageCreateFromGd">gdImageCreateFromGd</A> |
+<A HREF="#gdImageCreateFromGdCtx">gdImageCreateFromGdCtx</A> |
+<A HREF="#gdImageCreateFromGdPtr">gdImageCreateFromGdPtr</A> |
+<A HREF="#gdImageCreateFromGd2">gdImageCreateFromGd2</A> |
+<A HREF="#gdImageCreateFromGd2Ctx">gdImageCreateFromGd2Ctx</A> |
+<A HREF="#gdImageCreateFromGd2Ptr">gdImageCreateFromGd2Ptr</A> |
+<A HREF="#gdImageCreateFromGd2Part">gdImageCreateFromGd2Part</A> |
+<A HREF="#gdImageCreateFromGd2PartCtx">gdImageCreateFromGd2PartCtx</A> |
+<A HREF="#gdImageCreateFromGd2PartPtr">gdImageCreateFromGd2PartPtr</A> |
+<A HREF="#gdImageCreateFromJpeg">gdImageCreateFromJpeg</A> |
+<A HREF="#gdImageCreateFromJpegCtx">gdImageCreateFromJpegCtx</A> |
+<A HREF="#gdImageCreateFromJpegPtr">gdImageCreateFromJpegPtr</A> |
+<A HREF="#gdImageCreateFromPng">gdImageCreateFromPng</A> |
+<A HREF="#gdImageCreateFromPngCtx">gdImageCreateFromPngCtx</A> |
+<A HREF="#gdImageCreateFromPngPtr">gdImageCreateFromPngPtr</A> |
+<A HREF="#gdImageCreateFromPngSource">gdImageCreateFromPngSource</A> |
+<A HREF="#gdImageCreateFromWBMP">gdImageCreateFromWBMP</A> |
+<A HREF="#gdImageCreateFromWBMPCtx">gdImageCreateFromWBMPCtx</A> |
+<A HREF="#gdImageCreateFromWBMPPtr">gdImageCreateFromWBMPPtr</A> |
+<A HREF="#gdImageCreateFromXbm">gdImageCreateFromXbm</A> |
+<A HREF="#gdImageCreateFromXpm">gdImageCreateFromXpm</A> |
+<A HREF="#gdImageDashedLine">gdImageDashedLine</A> |
+<A HREF="#gdImageDestroy">gdImageDestroy</A> |
+<A HREF="#gdImageFill">gdImageFill</A> |
+<A HREF="#gdImageFilledArc">gdImageFilledArc</A> |
+<A HREF="#gdImageFilledEllipse">gdImageFilledEllipse</A> |
+<A HREF="#gdImageFillToBorder">gdImageFillToBorder</A> |
+<A HREF="#gdImageFilledRectangle">gdImageFilledRectangle</A> |
+<A HREF="#gdImageGd">gdImageGd</A> |
+<A HREF="#gdImageGd2">gdImageGd2</A> |
+<A HREF="#gdImageGetInterlaced">gdImageGetInterlaced</A> |
+<A HREF="#gdImageGetPixel">gdImageGetPixel</A> |
+<A HREF="#gdImageGetTransparent">gdImageGetTransparent</A> |
+<A HREF="#gdImageGifAnimAdd">gdImageGifAnimAdd</A> |
+<A HREF="#gdImageGifAnimAddCtx">gdImageGifAnimAddCtx</A> |
+<A HREF="#gdImageGifAnimAddPtr">gdImageGifAnimAddPtr</A> |
+<A HREF="#gdImageGifAnimBegin">gdImageGifAnimBegin</A> |
+<A HREF="#gdImageGifAnimBeginCtx">gdImageGifAnimBeginCtx</A> |
+<A HREF="#gdImageGifAnimBeginPtr">gdImageGifAnimBeginPtr</A> |
+<A HREF="#gdImageGifAnimEnd">gdImageGifAnimEnd</A> |
+<A HREF="#gdImageGifAnimEndCtx">gdImageGifAnimEndCtx</A> |
+<A HREF="#gdImageGifAnimEndPtr">gdImageGifAnimEndPtr</A> |
+<A HREF="#gdImageGreen">gdImageGreen</A> |
+<A HREF="#gdImageInterlace">gdImageInterlace</A> |
+<A HREF="#gdImageJpeg">gdImageJpeg</A> |
+<A HREF="#gdImageJpegCtx">gdImageJpegCtx</A> |
+<A HREF="#gdImageLine">gdImageLine</A> |
+<A HREF="#gdImageFilledPolygon">gdImageFilledPolygon</A> |
+<A HREF="#gdImageOpenPolygon">gdImageOpenPolygon</A> |
+<A HREF="#gdImagePaletteCopy">gdImagePaletteCopy</A> |
+<A HREF="#gdImagePng">gdImagePng</A> |
+<A HREF="#gdImagePngEx">gdImagePngEx</A> |
+<A HREF="#gdImagePngCtx">gdImagePngCtx</A> |
+<A HREF="#gdImagePngCtxEx">gdImagePngCtxEx</A> |
+<A HREF="#gdImagePngPtr">gdImagePngPtr</A> |
+<A HREF="#gdImagePngPtrEx">gdImagePngPtrEx</A> |
+<A HREF="#gdImagePngToSink">gdImagePngToSink</A> |
+<A HREF="#gdImagePolygon">gdImagePolygon</A> |
+<A HREF="#gdImagePtr">gdImagePtr</A> |
+<A HREF="#gdImageWBMP">gdImageWBMP</A> |
+<A HREF="#gdImageWBMPCtx">gdImageWBMPCtx</A> |
+<A HREF="#gdImageRectangle">gdImageRectangle</A> |
+<A HREF="#gdImageRed">gdImageRed</A> |
+<A HREF="#gdImageSaveAlpha">gdImageSaveAlpha</A> |
+<A HREF="#gdImageSetAntiAliased">gdImageSetAntiAliased</A> |
+<A HREF="#gdImageSetAntiAliasedDontBlend">gdImageSetAntiAliasedDontBlend</A> |
+<A HREF="#gdImageSetBrush">gdImageSetBrush</A> |
+<A HREF="#gdImageSetPixel">gdImageSetPixel</A> |
+<A HREF="#gdImageSetStyle">gdImageSetStyle</A> |
+<A HREF="#gdImageSetThickness">gdImageSetThickness</A> |
+<A HREF="#gdImageSetTile">gdImageSetTile</A> |
+<A HREF="#gdImageSharpen">gdImageSharpen</A> |
+<A HREF="#gdImageSquareToCircle">gdImageSquareToCircle</A> |
+<A HREF="#gdImageString">gdImageString</A> |
+<A HREF="#gdImageString16">gdImageString16</A> |
+<A HREF="#gdImageStringFT">gdImageStringFT</A> |
+<A HREF="#gdImageStringFTCircle">gdImageStringFTCircle</A> |
+<A HREF="#gdImageStringFTEx">gdImageStringFTEx</A> |
+<A HREF="#gdImageStringTTF">gdImageStringTTF</A> |
+<A HREF="#gdImageStringUp">gdImageStringUp</A> |
+<A HREF="#gdImageStringUp">gdImageStringUp16</A> |
+<A HREF="#gdImageToPalette">gdImageToPalette</A> |
+<A HREF="#gdImageWBMP">gdImageWBMP</A> |
+<A HREF="#gdMaxColors">gdMaxColors</A> |
+<A HREF="#gdPoint">gdPoint</A> |
+<A HREF="#gdStyled">gdStyled</A> |
+<A HREF="#gdStyledBrushed">gdStyledBrushed</A> |
+<A HREF="#gdTiled">gdTiled</A> |
+<A HREF="#gdTransparent">gdTransparent</A>
+<P>
+<em><A HREF="http://www.libgd.org/">
+www.libgd.org</A></em>
+</body>
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/index.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/index.html
new file mode 100644
index 0000000..2eca18b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/index.html
@@ -0,0 +1,70 @@
+<html>
+<head>
+<title>Graphviz Documentation Index</title>
+</head>
+<body>
+<h1>Graphviz Documentation Index</h1>
+<ul>
+<li>Reference (HTML)
+ <ul>
+ <li><a href="info/index.html">Dot Language Reference</a>
+ </ul>
+<li>Miscellaneous (HTML)
+ <ul>
+ <li><a href="FAQ.html">FAQ</a>
+ <li><a href="build.html">build</a>
+ <li><a href="gd.html">gd</a>
+ <li><a href="tcldot.html">tcldot</a>
+ </ul>
+<li>Guides (PDF)
+ <ul>
+ <li><a href="../pdf/dotguide.pdf">dot guide</a>
+ <li><a href="../pdf/dottyguide.pdf">dotty guide</a>
+ <li><a href="../pdf/leftyguide.pdf">lefty guide</a>
+ <li><a href="../pdf/neatoguide.pdf">neato guide</a>
+ </ul>
+<li>Command manual pages (PDF)
+ <ul>
+ <li><a href="../pdf/acyclic.pdf">acyclic.1</a>
+ <li><a href="../pdf/bcomps.pdf">bcmps.1</a>
+ <li><a href="../pdf/ccomps.pdf">ccomps.1</a>
+ <li><a href="../pdf/circo.pdf">circo.1</a>
+ <li><a href="../pdf/dijkstra.pdf">dijkstra.1</a>
+ <li><a href="../pdf/dot.pdf">dot.1</a>
+ <li><a href="../pdf/dot2gxl.pdf">dot2gxl.1</a>
+ <li><a href="../pdf/dotneato-config.pdf">dotneato-config.1</a>
+ <li><a href="../pdf/dotty.pdf">dotty.1</a>
+ <li><a href="../pdf/fdp.pdf">fdp.1</a>
+ <li><a href="../pdf/gc.pdf">gc.1</a>
+ <li><a href="../pdf/gvcolor.pdf">gvcolor.1</a>
+ <li><a href="../pdf/gvpack.pdf">gvpack.1</a>
+ <li><a href="../pdf/gvpr.pdf">gvpr.1</a>
+ <li><a href="../pdf/gxl2dot.pdf">gxl2dot.1</a>
+ <li><a href="../pdf/lefty.pdf">lefty.1</a>
+ <li><a href="../pdf/lneato.pdf">lneato.1</a>
+ <li><a href="../pdf/neato.pdf">neato.1</a>
+ <li><a href="../pdf/nop.pdf">nop.1</a>
+ <li><a href="../pdf/prune.pdf">prune.1</a>
+ <li><a href="../pdf/sccmap.pdf">sccmap.1</a>
+ <li><a href="../pdf/tred.pdf">tred.1</a>
+ <li><a href="../pdf/twopi.pdf">twopi.1</a>
+ <li><a href="../pdf/unflatten.pdf">unflatten.1</a>
+ </ul>
+<li>Tcl package manual pages (PDF)
+ <ul>
+ <li><a href="../pdf/gdtclft.pdf">gdtclft.n</a>
+ <li><a href="../pdf/tcldot.pdf">tcldot.n</a>
+ <li><a href="../pdf/tkspline.pdf">tkspline.n</a>
+ </ul>
+<li>Library manual pages (PDF)
+ <ul>
+ <li><a href="../pdf/agraph.pdf">agraph.3</a>
+ <li><a href="../pdf/cdt.pdf">cdt.3</a>
+ <li><a href="../pdf/expr.pdf">expr.3</a>
+ <li><a href="../pdf/graph.pdf">graph.3</a>
+ <li><a href="../pdf/pathplan.pdf">pathplan.3</a>
+ <li><a href="../pdf/pack.pdf">pack.3</a>
+ </ul>
+</ul>
+</body>
+</html>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mcircle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mcircle.gif
new file mode 100644
index 0000000..a684b84
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mcircle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mdiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mdiamond.gif
new file mode 100644
index 0000000..220c8d7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Mdiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Msquare.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Msquare.gif
new file mode 100644
index 0000000..96e9144
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/Msquare.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_box.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_box.gif
new file mode 100644
index 0000000..00bef9d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_box.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_crow.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_crow.gif
new file mode 100644
index 0000000..dabd484
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_crow.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_diamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_diamond.gif
new file mode 100644
index 0000000..cd2d000
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_diamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_dot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_dot.gif
new file mode 100644
index 0000000..6d4f080
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_dot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_ediamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_ediamond.gif
new file mode 100644
index 0000000..b0a8465
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_ediamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_empty.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_empty.gif
new file mode 100644
index 0000000..317b1a5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_empty.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_forward.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_forward.gif
new file mode 100644
index 0000000..23c365c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_forward.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_halfopen.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_halfopen.gif
new file mode 100644
index 0000000..c1d5e53
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_halfopen.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_inv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_inv.gif
new file mode 100644
index 0000000..d0cd5bf
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_inv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invdot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invdot.gif
new file mode 100644
index 0000000..8b80942
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invdot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invempty.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invempty.gif
new file mode 100644
index 0000000..701c7f9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invempty.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invodot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invodot.gif
new file mode 100644
index 0000000..8954285
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_invodot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_lteeoldiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_lteeoldiamond.gif
new file mode 100644
index 0000000..a242dec
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_lteeoldiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_nohead.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_nohead.gif
new file mode 100644
index 0000000..23c365c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_nohead.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_none.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_none.gif
new file mode 100644
index 0000000..23c365c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_none.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_normal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_normal.gif
new file mode 100644
index 0000000..a3d4ddb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_normal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_obox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_obox.gif
new file mode 100644
index 0000000..682f4b5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_obox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odiamond.gif
new file mode 100644
index 0000000..b0a8465
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odot.gif
new file mode 100644
index 0000000..e14f92b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_odot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_open.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_open.gif
new file mode 100644
index 0000000..edee17c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_open.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_tee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_tee.gif
new file mode 100644
index 0000000..7a34425
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/a_tee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_box.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_box.gif
new file mode 100644
index 0000000..60360d6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_box.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_crow.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_crow.gif
new file mode 100644
index 0000000..9bbff84
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_crow.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_diamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_diamond.gif
new file mode 100644
index 0000000..d64cc6a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_diamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_dot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_dot.gif
new file mode 100644
index 0000000..ad4dfed
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_dot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_inv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_inv.gif
new file mode 100644
index 0000000..d1e1000
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_inv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lbox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lbox.gif
new file mode 100644
index 0000000..f9117df
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lbox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lcrow.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lcrow.gif
new file mode 100644
index 0000000..30be388
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lcrow.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ldiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ldiamond.gif
new file mode 100644
index 0000000..cdff2b5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ldiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_linv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_linv.gif
new file mode 100644
index 0000000..03e0660
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_linv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lnormal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lnormal.gif
new file mode 100644
index 0000000..d6243d6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lnormal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ltee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ltee.gif
new file mode 100644
index 0000000..ccf6eaf
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ltee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lvee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lvee.gif
new file mode 100644
index 0000000..ee01406
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_lvee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_none.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_none.gif
new file mode 100644
index 0000000..447075c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_none.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_normal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_normal.gif
new file mode 100644
index 0000000..e915e8a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_normal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_obox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_obox.gif
new file mode 100644
index 0000000..6ede1c8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_obox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odiamond.gif
new file mode 100644
index 0000000..3ca8e3e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odot.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odot.gif
new file mode 100644
index 0000000..f537596
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_odot.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oinv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oinv.gif
new file mode 100644
index 0000000..bbab71c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oinv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olbox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olbox.gif
new file mode 100644
index 0000000..12dd9aa
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olbox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oldiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oldiamond.gif
new file mode 100644
index 0000000..549ae9c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_oldiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olinv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olinv.gif
new file mode 100644
index 0000000..b0bc9c2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olinv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olnormal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olnormal.gif
new file mode 100644
index 0000000..1431b9c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_olnormal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_onormal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_onormal.gif
new file mode 100644
index 0000000..664ac17
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_onormal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orbox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orbox.gif
new file mode 100644
index 0000000..8a73a6e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orbox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ordiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ordiamond.gif
new file mode 100644
index 0000000..f5d0376
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ordiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orinv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orinv.gif
new file mode 100644
index 0000000..c02c6b3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_orinv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ornormal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ornormal.gif
new file mode 100644
index 0000000..4029249
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_ornormal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rbox.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rbox.gif
new file mode 100644
index 0000000..701c406
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rbox.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rcrow.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rcrow.gif
new file mode 100644
index 0000000..e5be5b4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rcrow.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rdiamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rdiamond.gif
new file mode 100644
index 0000000..6caa2b9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rdiamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rinv.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rinv.gif
new file mode 100644
index 0000000..5afe91d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rinv.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rnormal.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rnormal.gif
new file mode 100644
index 0000000..a254644
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rnormal.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rtee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rtee.gif
new file mode 100644
index 0000000..df9fe2a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rtee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rvee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rvee.gif
new file mode 100644
index 0000000..26b678a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_rvee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_tee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_tee.gif
new file mode 100644
index 0000000..5cc2733
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_tee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_vee.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_vee.gif
new file mode 100644
index 0000000..7e904fe
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/aa_vee.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/attrs.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/attrs.html
new file mode 100644
index 0000000..4b92c65
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/attrs.html
@@ -0,0 +1,1909 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!--
+ This is a generated document. Do not edit.
+-->
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>Node, Edge and Graph Attributes</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 align=CENTER>Node, Edge and Graph Attributes</H1>
+<HR>
+The table below describes the attributes used by various Graphviz tools.
+The table gives the name of the attribute, the graph components (node,
+edge, etc.) which use the attribute and the type of the attribute
+(strings representing legal values of that type). Where applicable, the table
+also gives a default value for the attribute, a minimum allowed setting
+for numeric attributes, and certain restrictions on the use of the attribute.
+<P>
+All Graphviz attributes are specified by name-value pairs. Thus, to
+set the fillcolor of a node <TT>abc</TT>, one would use
+<TABLE>
+<TR><TD><TT>abc [fillcolor = red]</TT></TR>
+</TABLE>
+Similarly, to set the arrowhead style of an edge <TT>abc -> def</TT>,
+one would use
+<TABLE>
+<TR><TD><TT>abc -> def [arrowhead = diamond]</TT></TR>
+</TABLE>
+Further details concerning the setting of attributes can be found
+in the description of the
+<A HREF="http://www.graphviz.org/doc/info/lang.html">DOT language.</A>
+<P>
+At present, most device-independent units are either inches or
+<A NAME="points"></A>
+<A HREF="http://en.wikipedia.org/wiki/Point_(typography)">points</A>,
+which we take as 72 points per inch.
+<P>
+<A NAME=h:undir_note><STRONG>Note:</STRONG></A> Some attributes, such as
+<A HREF=#d:dir>dir</A> or <A HREF=#d:arrowtail>arrowtail</A>, are
+ambiguous when used in
+<A HREF="http://www.graphviz.org/doc/info/lang.html">DOT</A>
+with an undirected graph since the head and tail of an edge are meaningless.
+As a convention, the first time an undirected edge appears, the
+<A HREF="http://www.graphviz.org/doc/info/lang.html">DOT</A>
+parser will assign the left node as the tail node and the right node as
+the head. For example, the edge <TT>A -- B</TT> will have tail <TT>A</TT>
+and head <TT>B</TT>. It is the user's responsibility to handle such
+edges consistently. If the edge appears later, in the format
+<TABLE>
+<TR><TD><TT>B -- A [taillabel = "tail"]</TT></TR>
+</TABLE>
+the drawing will attach the tail label to node <TT>A</TT>.
+To avoid possible confusion when such attributes are required, the user
+is encouraged to use a directed graph.
+If it is important to make the graph appear undirected, this can be
+done using the <A HREF=#d:dir>dir</A>, <A HREF=#d:arrowtail>arrowtail</A>
+or <A HREF=#d:arrowhead>arrowhead</A> attributes.
+<P>
+The tools accept standard C representations for <EM>int</EM> and
+<EM>double</EM> types.
+For the <A NAME=k:bool><EM>bool</EM></A> type, TRUE values are
+represented by "true" (case-insensitive)
+and any non-zero integer, and FALSE values by "false" (case-insensitive)
+and zero.
+In addition, there are a variety of specialized types such as
+<EM>arrowType</EM>, <EM>color</EM>,
+<EM>pointf</EM> and <EM>rankdir</EM>. Legal values for these types are given
+at the end.
+<P>
+In the <A NAME=h:uses><STRONG>Used By</STRONG></A> field, the
+characters E, N, G, S and C
+represent edges, nodes, the root graph, subgraphs
+and cluster subgraphs, respectively.
+This field indicates which graph component uses the attribute.
+<HR ALIGN=CENTER WIDTH="70%" SIZE=3>
+<TABLE ALIGN=CENTER>
+<TR><TH>Name</TH><TH><A HREF=#h:uses>Used By</A></TH><TH>Type</TH><TH>Default</TH><TH>Minimum</TH><TH>Notes</TH></TR>
+ <TR><TD><A NAME=a:Damping HREF=#d:Damping>Damping</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.99</TD><TD>0.0</TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:K HREF=#d:K>K</A>
+</TD><TD>GC</TD><TD>double</TD><TD ALIGN="CENTER">0.3</TD><TD>0</TD><TD>fdp only</TD> </TR>
+ <TR><TD><A NAME=a:URL HREF=#d:URL>URL</A>
+</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
+ <TR><TD><A NAME=a:arrowhead HREF=#d:arrowhead>arrowhead</A>
+</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
+</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:arrowsize HREF=#d:arrowsize>arrowsize</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:arrowtail HREF=#d:arrowtail>arrowtail</A>
+</TD><TD>E</TD><TD><A HREF=#k:arrowType>arrowType</A>
+</TD><TD ALIGN="CENTER">normal</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:bb HREF=#d:bb>bb</A>
+</TD><TD>G</TD><TD><A HREF=#k:rect>rect</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
+ <TR><TD><A NAME=a:bgcolor HREF=#d:bgcolor>bgcolor</A>
+</TD><TD>GC</TD><TD><A HREF=#k:color>color</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:center HREF=#d:center>center</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:charset HREF=#d:charset>charset</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"UTF-8"</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:clusterrank HREF=#d:clusterrank>clusterrank</A>
+</TD><TD>G</TD><TD><A HREF=#k:clusterMode>clusterMode</A>
+</TD><TD ALIGN="CENTER">local</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:color HREF=#d:color>color</A>
+</TD><TD>ENC</TD><TD><A HREF=#k:color>color</A>
+<BR><A HREF=#k:colorList>colorList</A>
+</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:colorscheme HREF=#d:colorscheme>colorscheme</A>
+</TD><TD>ENCG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:comment HREF=#d:comment>comment</A>
+</TD><TD>ENG</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:compound HREF=#d:compound>compound</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:concentrate HREF=#d:concentrate>concentrate</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:constraint HREF=#d:constraint>constraint</A>
+</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:decorate HREF=#d:decorate>decorate</A>
+</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:defaultdist HREF=#d:defaultdist>defaultdist</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1+(avg. len)*sqrt(|V|)</TD><TD>epsilon</TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:dim HREF=#d:dim>dim</A>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">2</TD><TD>2</TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:dir HREF=#d:dir>dir</A>
+</TD><TD>E</TD><TD><A HREF=#k:dirType>dirType</A>
+</TD><TD ALIGN="CENTER">forward(directed)<BR>none(undirected)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:diredgeconstraints HREF=#d:diredgeconstraints>diredgeconstraints</A>
+</TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:distortion HREF=#d:distortion>distortion</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:dpi HREF=#d:dpi>dpi</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">96.0<BR>0.0</TD><TD></TD><TD>svg, bitmap output only</TD> </TR>
+ <TR><TD><A NAME=a:edgeURL HREF=#d:edgeURL>edgeURL</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:edgehref HREF=#d:edgehref>edgehref</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:edgetarget HREF=#d:edgetarget>edgetarget</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:edgetooltip HREF=#d:edgetooltip>edgetooltip</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
+ <TR><TD><A NAME=a:epsilon HREF=#d:epsilon>epsilon</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">.0001 * # nodes(mode == KK)<BR>.0001(mode == major)</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:esep HREF=#d:esep>esep</A>
+</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER">+3</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:fillcolor HREF=#d:fillcolor>fillcolor</A>
+</TD><TD>NC</TD><TD><A HREF=#k:color>color</A>
+</TD><TD ALIGN="CENTER">lightgrey(nodes)<BR>black(clusters)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:fixedsize HREF=#d:fixedsize>fixedsize</A>
+</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:fontcolor HREF=#d:fontcolor>fontcolor</A>
+</TD><TD>ENGC</TD><TD><A HREF=#k:color>color</A>
+</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:fontname HREF=#d:fontname>fontname</A>
+</TD><TD>ENGC</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:fontnames HREF=#d:fontnames>fontnames</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
+ <TR><TD><A NAME=a:fontpath HREF=#d:fontpath>fontpath</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">system-dependent</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:fontsize HREF=#d:fontsize>fontsize</A>
+</TD><TD>ENGC</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:group HREF=#d:group>group</A>
+</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:headURL HREF=#d:headURL>headURL</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:headclip HREF=#d:headclip>headclip</A>
+</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:headhref HREF=#d:headhref>headhref</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:headlabel HREF=#d:headlabel>headlabel</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:headport HREF=#d:headport>headport</A>
+</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
+</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:headtarget HREF=#d:headtarget>headtarget</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:headtooltip HREF=#d:headtooltip>headtooltip</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
+ <TR><TD><A NAME=a:height HREF=#d:height>height</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.5</TD><TD>0.02</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:href HREF=#d:href>href</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, postscript, map only</TD> </TR>
+ <TR><TD><A NAME=a:image HREF=#d:image>image</A>
+</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:imagescale HREF=#d:imagescale>imagescale</A>
+</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
+<BR>string</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:label HREF=#d:label>label</A>
+</TD><TD>ENGC</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">"\N" (nodes)<BR>"" (otherwise)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelURL HREF=#d:labelURL>labelURL</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:labelangle HREF=#d:labelangle>labelangle</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">-25.0</TD><TD>-180.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labeldistance HREF=#d:labeldistance>labeldistance</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelfloat HREF=#d:labelfloat>labelfloat</A>
+</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelfontcolor HREF=#d:labelfontcolor>labelfontcolor</A>
+</TD><TD>E</TD><TD><A HREF=#k:color>color</A>
+</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelfontname HREF=#d:labelfontname>labelfontname</A>
+</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">"Times-Roman"</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelfontsize HREF=#d:labelfontsize>labelfontsize</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">14.0</TD><TD>1.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelhref HREF=#d:labelhref>labelhref</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:labeljust HREF=#d:labeljust>labeljust</A>
+</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"c"</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labelloc HREF=#d:labelloc>labelloc</A>
+</TD><TD>GC</TD><TD>string</TD><TD ALIGN="CENTER">"t"(clusters)<BR>"b"(root graphs)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=aa:labelloc HREF=#dd:labelloc>labelloc</A>
+</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">"c"(clusters)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:labeltarget HREF=#d:labeltarget>labeltarget</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:labeltooltip HREF=#d:labeltooltip>labeltooltip</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
+ <TR><TD><A NAME=a:landscape HREF=#d:landscape>landscape</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:layer HREF=#d:layer>layer</A>
+</TD><TD>EN</TD><TD><A HREF=#k:layerRange>layerRange</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:layers HREF=#d:layers>layers</A>
+</TD><TD>G</TD><TD><A HREF=#k:layerList>layerList</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:layersep HREF=#d:layersep>layersep</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">" :\t"</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:len HREF=#d:len>len</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0(neato)<BR>0.3(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:levelsgap HREF=#d:levelsgap>levelsgap</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:lhead HREF=#d:lhead>lhead</A>
+</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:lp HREF=#d:lp>lp</A>
+</TD><TD>EGC</TD><TD><A HREF=#k:point>point</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
+ <TR><TD><A NAME=a:ltail HREF=#d:ltail>ltail</A>
+</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:margin HREF=#d:margin>margin</A>
+</TD><TD>NG</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER">&#60;device-dependent&#62;</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:maxiter HREF=#d:maxiter>maxiter</A>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">100 * # nodes(mode == KK)<BR>200(mode == major)<BR>600(fdp)</TD><TD></TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:mclimit HREF=#d:mclimit>mclimit</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:mindist HREF=#d:mindist>mindist</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD>circo only</TD> </TR>
+ <TR><TD><A NAME=a:minlen HREF=#d:minlen>minlen</A>
+</TD><TD>E</TD><TD>int</TD><TD ALIGN="CENTER">1</TD><TD>0</TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:mode HREF=#d:mode>mode</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"major"</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:model HREF=#d:model>model</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">"shortpath"</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:mosek HREF=#d:mosek>mosek</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>neato only</TD> </TR>
+ <TR><TD><A NAME=a:nodesep HREF=#d:nodesep>nodesep</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.25</TD><TD>0.02</TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:nojustify HREF=#d:nojustify>nojustify</A>
+</TD><TD>GCNE</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:normalize HREF=#d:normalize>normalize</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:nslimit HREF=#d:nslimit>nslimit</A>
+<BR><A NAME=a:nslimit1 HREF=#d:nslimit1>nslimit1</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:ordering HREF=#d:ordering>ordering</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:orientation HREF=#d:orientation>orientation</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>360.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=aa:orientation HREF=#dd:orientation>orientation</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:outputorder HREF=#d:outputorder>outputorder</A>
+</TD><TD>G</TD><TD><A HREF=#k:outputMode>outputMode</A>
+</TD><TD ALIGN="CENTER">breadthfirst</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:overlap HREF=#d:overlap>overlap</A>
+</TD><TD>G</TD><TD>string<BR><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:pack HREF=#d:pack>pack</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+<BR>int</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:packmode HREF=#d:packmode>packmode</A>
+</TD><TD>G</TD><TD><A HREF=#k:packMode>packMode</A>
+</TD><TD ALIGN="CENTER">node</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:pad HREF=#d:pad>pad</A>
+</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER">0.0555 (4 points)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:page HREF=#d:page>page</A>
+</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:pagedir HREF=#d:pagedir>pagedir</A>
+</TD><TD>G</TD><TD><A HREF=#k:pagedir>pagedir</A>
+</TD><TD ALIGN="CENTER">BL</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:pencolor HREF=#d:pencolor>pencolor</A>
+</TD><TD>C</TD><TD><A HREF=#k:color>color</A>
+</TD><TD ALIGN="CENTER">black</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:penwidth HREF=#d:penwidth>penwidth</A>
+</TD><TD>CNE</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:peripheries HREF=#d:peripheries>peripheries</A>
+</TD><TD>NC</TD><TD>int</TD><TD ALIGN="CENTER">shape default(nodes)<BR>1(clusters)</TD><TD>0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:pin HREF=#d:pin>pin</A>
+</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:pos HREF=#d:pos>pos</A>
+</TD><TD>EN</TD><TD><A HREF=#k:point>point</A>
+<BR><A HREF=#k:splineType>splineType</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:quantum HREF=#d:quantum>quantum</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>0.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:rank HREF=#d:rank>rank</A>
+</TD><TD>S</TD><TD><A HREF=#k:rankType>rankType</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:rankdir HREF=#d:rankdir>rankdir</A>
+</TD><TD>G</TD><TD><A HREF=#k:rankdir>rankdir</A>
+</TD><TD ALIGN="CENTER">TB</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:ranksep HREF=#d:ranksep>ranksep</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.5(dot)<BR>1.0(twopi)</TD><TD>0.02</TD><TD>twopi, dot only</TD> </TR>
+ <TR><TD><A NAME=a:ratio HREF=#d:ratio>ratio</A>
+</TD><TD>G</TD><TD>double<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:rects HREF=#d:rects>rects</A>
+</TD><TD>N</TD><TD><A HREF=#k:rect>rect</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
+ <TR><TD><A NAME=a:regular HREF=#d:regular>regular</A>
+</TD><TD>N</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:remincross HREF=#d:remincross>remincross</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">false</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:resolution HREF=#d:resolution>resolution</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">96.0<BR>0.0</TD><TD></TD><TD>svg, bitmap output only</TD> </TR>
+ <TR><TD><A NAME=a:root HREF=#d:root>root</A>
+</TD><TD>GN</TD><TD>string<BR><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">""(graphs)<BR>false(nodes)</TD><TD></TD><TD>circo, twopi only</TD> </TR>
+ <TR><TD><A NAME=a:rotate HREF=#d:rotate>rotate</A>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:samehead HREF=#d:samehead>samehead</A>
+</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:sametail HREF=#d:sametail>sametail</A>
+</TD><TD>E</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:samplepoints HREF=#d:samplepoints>samplepoints</A>
+</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">8(output)<BR>20(overlap and image maps)</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:searchsize HREF=#d:searchsize>searchsize</A>
+</TD><TD>G</TD><TD>int</TD><TD ALIGN="CENTER">30</TD><TD></TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:sep HREF=#d:sep>sep</A>
+</TD><TD>G</TD><TD>double<BR><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER">+4</TD><TD></TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:shape HREF=#d:shape>shape</A>
+</TD><TD>N</TD><TD><A HREF=#k:shape>shape</A>
+</TD><TD ALIGN="CENTER">ellipse</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:shapefile HREF=#d:shapefile>shapefile</A>
+</TD><TD>N</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:showboxes HREF=#d:showboxes>showboxes</A>
+</TD><TD>ENG</TD><TD>int</TD><TD ALIGN="CENTER">0</TD><TD>0</TD><TD>dot only</TD> </TR>
+ <TR><TD><A NAME=a:sides HREF=#d:sides>sides</A>
+</TD><TD>N</TD><TD>int</TD><TD ALIGN="CENTER">4</TD><TD>0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:size HREF=#d:size>size</A>
+</TD><TD>G</TD><TD><A HREF=#k:pointf>pointf</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:skew HREF=#d:skew>skew</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-100.0</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:splines HREF=#d:splines>splines</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+<BR>string</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:start HREF=#d:start>start</A>
+</TD><TD>G</TD><TD><A HREF=#k:startType>startType</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>fdp, neato only</TD> </TR>
+ <TR><TD><A NAME=a:style HREF=#d:style>style</A>
+</TD><TD>ENC</TD><TD><A HREF=#k:style>style</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:stylesheet HREF=#d:stylesheet>stylesheet</A>
+</TD><TD>G</TD><TD>string</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg only</TD> </TR>
+ <TR><TD><A NAME=a:tailURL HREF=#d:tailURL>tailURL</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:tailclip HREF=#d:tailclip>tailclip</A>
+</TD><TD>E</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER">true</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:tailhref HREF=#d:tailhref>tailhref</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:taillabel HREF=#d:taillabel>taillabel</A>
+</TD><TD>E</TD><TD><A HREF=#k:lblString>lblString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:tailport HREF=#d:tailport>tailport</A>
+</TD><TD>E</TD><TD><A HREF=#k:portPos>portPos</A>
+</TD><TD ALIGN="CENTER">center</TD><TD></TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:tailtarget HREF=#d:tailtarget>tailtarget</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:tailtooltip HREF=#d:tailtooltip>tailtooltip</A>
+</TD><TD>E</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
+ <TR><TD><A NAME=a:target HREF=#d:target>target</A>
+</TD><TD>ENGC</TD><TD><A HREF=#k:escString>escString</A>
+<BR>string</TD><TD ALIGN="CENTER">&#60;none&#62;</TD><TD></TD><TD>svg, map only</TD> </TR>
+ <TR><TD><A NAME=a:tooltip HREF=#d:tooltip>tooltip</A>
+</TD><TD>NEC</TD><TD><A HREF=#k:escString>escString</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>svg, cmap only</TD> </TR>
+ <TR><TD><A NAME=a:truecolor HREF=#d:truecolor>truecolor</A>
+</TD><TD>G</TD><TD><A HREF=#k:bool>bool</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>bitmap output only</TD> </TR>
+ <TR><TD><A NAME=a:vertices HREF=#d:vertices>vertices</A>
+</TD><TD>N</TD><TD><A HREF=#k:pointfList>pointfList</A>
+</TD><TD ALIGN="CENTER"></TD><TD></TD><TD>write only</TD> </TR>
+ <TR><TD><A NAME=a:viewport HREF=#d:viewport>viewport</A>
+</TD><TD>G</TD><TD><A HREF=#k:viewPort>viewPort</A>
+</TD><TD ALIGN="CENTER">""</TD><TD></TD><TD>bitmap output, cmap, map, postscript only</TD> </TR>
+ <TR><TD><A NAME=a:voro_margin HREF=#d:voro_margin>voro_margin</A>
+</TD><TD>G</TD><TD>double</TD><TD ALIGN="CENTER">0.05</TD><TD>0.0</TD><TD>not dot</TD> </TR>
+ <TR><TD><A NAME=a:weight HREF=#d:weight>weight</A>
+</TD><TD>E</TD><TD>double</TD><TD ALIGN="CENTER">1.0</TD><TD>0(dot)<BR>1(neato)</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:width HREF=#d:width>width</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.75</TD><TD>0.01</TD><TD></TD> </TR>
+ <TR><TD><A NAME=a:z HREF=#d:z>z</A>
+</TD><TD>N</TD><TD>double</TD><TD ALIGN="CENTER">0.0</TD><TD>-MAXFLOAT<BR>-1000</TD><TD></TD> </TR>
+</TABLE>
+<HR>
+<H1>Attribute Descriptions</H1>
+<DL>
+<DT><A NAME=d:Damping HREF=#a:Damping><STRONG>Damping</STRONG></A>
+<DD> Factor damping force motions. On each iteration, a nodes movement
+ is limited to this factor of its potential motion. By being less than
+ 1.0, the system tends to ``cool'', thereby preventing cycling.
+
+<DT><A NAME=d:K HREF=#a:K><STRONG>K</STRONG></A>
+<DD> Spring constant used in virtual physical model. It roughly corresponds
+ to an ideal edge length (in inches), in that increasing K tends to
+ increase the distance between nodes.
+ Note that the edge attribute <A HREF=#d:len>len</A> can be used to
+ override this value for adjacent nodes.
+
+<DT><A NAME=d:URL HREF=#a:URL><STRONG>URL</STRONG></A>
+<DD> Hyperlinks incorporated into device-dependent output.
+ At present, used in ps2, cmap, i*map and svg formats.
+ For all these formats, URLs can be attached to nodes, edges and
+ clusters. URL attributes can also be attached to the root graph in ps2,
+ cmap and i*map formats. This serves as the base URL for relative URLs in the
+ former, and as the default image map file in the latter.
+ <P>
+ For svg, cmapx and imap output, the active area for a node is its
+ visible image.
+ For example, an unfilled
+ node with no drawn boundary will only be active on its label.
+ For other output, the active area is its bounding box.
+ The active area for a cluster is its bounding box.
+ For edges, the active areas are small circles where the edge contacts its head
+ and tail nodes. In addition, for svg, cmapx and imap, the active area
+ includes a thin polygon approximating the edge. The circles may
+ overlap the related node, and the edge URL dominates.
+ If the edge has a label, this will also be active.
+ Finally, if the edge has a head or tail label, this will also be active.
+ <P>
+ Note that, for edges, the attributes <A HREF=#d:headURL>headURL</A>,
+ <A HREF=#d:tailURL>tailURL</A>, <A HREF=#d:labelURL>labelURL</A> and
+ <A HREF=#d:edgeURL>edgeURL</A> allow control of various parts of an
+ edge.
+ Also note that, if active areas of two edges overlap, it is unspecified
+ which area dominates.
+
+<DT><A NAME=d:arrowhead HREF=#a:arrowhead><STRONG>arrowhead</STRONG></A>
+<DD> Style of arrowhead on the head node of an edge.
+ See also the <A HREF=#d:dir>dir</A> attribute,
+ and a <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:arrowsize HREF=#a:arrowsize><STRONG>arrowsize</STRONG></A>
+<DD> Multiplicative scale factor for arrowheads.
+
+<DT><A NAME=d:arrowtail HREF=#a:arrowtail><STRONG>arrowtail</STRONG></A>
+<DD> Style of arrowhead on the tail node of an edge.
+ See also the <A HREF=#d:dir>dir</A> attribute,
+ and a <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:bb HREF=#a:bb><STRONG>bb</STRONG></A>
+<DD> Bounding box of drawing in integer points.
+
+<DT><A NAME=d:bgcolor HREF=#a:bgcolor><STRONG>bgcolor</STRONG></A>
+<DD> When attached to the root graph, this color is used as the background for
+ entire canvas. When a cluster attribute, it is used as the initial
+ background for the cluster. If a cluster has a filled
+ <A HREF=#d:style>style</A>, the
+ cluster's <A HREF=#d:fillcolor>fillcolor</A> will overlay the
+ background color.
+ <P>
+ If no background color is specified for the root graph, no graphics
+ operation are performed on the background. This works fine for
+ PostScript but for bitmap output, all bits are initialized to something.
+ This means that when the bitmap output is included in some other
+ document, all of the bits within the bitmap's bounding box will be
+ set, overwriting whatever color or graphics where already on the page.
+ If this effect is not desired, and you only want to set bits explicitly
+ assigned in drawing the graph, set <B>bgcolor</B>="transparent".
+
+<DT><A NAME=d:center HREF=#a:center><STRONG>center</STRONG></A>
+<DD> If true, the drawing is centered in the output canvas.
+
+<DT><A NAME=d:charset HREF=#a:charset><STRONG>charset</STRONG></A>
+<DD> Specifies the character encoding used when interpreting string input
+ as a text label. The default value is <TT>"UTF-8"</TT>.
+ The other legal value is <TT>"iso-8859-1"</TT> or,
+ equivalently,
+ <TT>"Latin1"</TT>. The <B>charset</B> attribute is case-insensitive.
+ Note that if the character encoding used in the input does not
+ match the <B>charset</B> value, the resulting output may be very strange.
+
+<DT><A NAME=d:clusterrank HREF=#a:clusterrank><STRONG>clusterrank</STRONG></A>
+<DD> Mode used for handling clusters. If <B>clusterrank</B> is "local", a
+ subgraph whose name begins with "cluster" is given special treatment.
+ The subgraph is laid out separately, and then integrated as a unit into
+ its parent graph, with a bounding rectangle drawn about it.
+ If the cluster has a <A HREF=#d:label>label</A> parameter, this label
+ is displayed within the rectangle.
+ Note also that there can be clusters within clusters.
+ At present, the modes "global" and "none"
+ appear to be identical, both turning off the special cluster processing.
+
+<DT><A NAME=d:color HREF=#a:color><STRONG>color</STRONG></A>
+<DD> Basic drawing color for graphics, not text. For the latter, use the
+ <A HREF=#d.fontcolor>fontcolor</A> attribute.
+ <P>
+ For edges, the value
+ can either be a single color or a <A HREF=#k:colorList>colorList</A>.
+ In the latter case, the edge is drawn using parallel splines or lines,
+ one for each color in the list, in the order given.
+ The head arrow, if any, is drawn using the first color in the list,
+ and the tail arrow, if any, the second color. This supports the common
+ case of drawing opposing edges, but using parallel splines instead of
+ separately routed multiedges. For example, the graph
+ <PRE>
+ digraph G {
+ a -> b [dir=both color="red:blue"]
+ }
+ </PRE>
+ yields<BR>
+ <IMG SRC="colorlist.gif">
+
+<DT><A NAME=d:colorscheme HREF=#a:colorscheme><STRONG>colorscheme</STRONG></A>
+<DD> This attribute specifies a color scheme namespace. If defined, it specifies
+ the context for interpreting color names. In particular, if a
+ <A HREF=#k:color>color</A> value has form <TT>"xxx"</TT> or <TT>"//xxx"</TT>,
+ then the
+ color <TT>xxx</TT> will be evaluated according to the current color scheme.
+ If no color scheme is set, the standard X11 naming is used.
+ For example, if <TT>colorscheme=bugn9</TT>, then <TT>color=7</TT>
+ is interpreted as <TT>"/bugn9/7"</TT>.
+
+<DT><A NAME=d:comment HREF=#a:comment><STRONG>comment</STRONG></A>
+<DD> Comments are inserted into output. Device-dependent
+
+<DT><A NAME=d:compound HREF=#a:compound><STRONG>compound</STRONG></A>
+<DD> If true, allow edges between clusters. (See <A HREF=#d:lhead>lhead</A>
+ and <A HREF=#d:ltail>ltail</A> below.)
+
+<DT><A NAME=d:concentrate HREF=#a:concentrate><STRONG>concentrate</STRONG></A>
+<DD> If true, use edge concentrators.
+
+<DT><A NAME=d:constraint HREF=#a:constraint><STRONG>constraint</STRONG></A>
+<DD> If false, the edge is not used in ranking the nodes. For example,
+ in the graph
+ <PRE>
+ digraph G {
+ a -> c;
+ a -> b;
+ b -> c [constraint=false];
+ }
+ </PRE>
+ the edge <CODE>b -> c</CODE> does not add a constraint during rank
+ assignment, so the only constraints are that a be above b and c,
+ yielding the graph:<BR>
+ <IMG SRC="constraint.gif">
+
+<DT><A NAME=d:decorate HREF=#a:decorate><STRONG>decorate</STRONG></A>
+<DD> If true, attach edge label to edge by a 2-segment
+ polyline, underlining the label, then going to the closest point of spline.
+
+<DT><A NAME=d:defaultdist HREF=#a:defaultdist><STRONG>defaultdist</STRONG></A>
+<DD> This specifies the distance between nodes in separate connected
+ components. If set too small, connected components may overlap.
+ Only applicable if <A HREF=#d:pack>pack</A>=false.
+
+<DT><A NAME=d:dim HREF=#a:dim><STRONG>dim</STRONG></A>
+<DD> Set the number of dimensions used for the layout. The maximum value
+ allowed is 10.
+
+<DT><A NAME=d:dir HREF=#a:dir><STRONG>dir</STRONG></A>
+<DD> Set edge type for drawing arrowheads. This indicates which ends of the
+ edge should be decorated with an arrowhead. The actual style of the
+ arrowhead can be specified using the <A HREF=#d:arrowhead>arrowhead</A>
+ and <A HREF=#d:arrowtail>arrowtail</A> attributes.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:diredgeconstraints HREF=#a:diredgeconstraints><STRONG>diredgeconstraints</STRONG></A>
+<DD> Only valid when <A HREF=#d:mode>mode</A>="ipsep".
+ If true, constraints are generated for each edge in the largest (heuristic)
+ directed acyclic subgraph such that the edge must point downwards.
+ If "hier", generates level constraints similar to those used with
+ <A HREF=#d:mode>mode</A>="hier". The main difference is that, in the latter
+ case, only these constraints are involved, so a faster solver can be used.
+
+<DT><A NAME=d:distortion HREF=#a:distortion><STRONG>distortion</STRONG></A>
+<DD> Distortion factor for <A HREF=#d:shape><B>shape</B></A>=polygon.
+ Positive values cause top part to
+ be larger than bottom; negative values do the opposite.
+
+<DT><A NAME=d:dpi HREF=#a:dpi><STRONG>dpi</STRONG></A>
+<DD> This specifies the expected number of pixels per inch on a display device.
+ For bitmap output, this guarantees that text rendering will be
+ done more accurately, both in size and in placement. For SVG output,
+ it is used to guarantee that the dimensions in the output correspond to
+ the correct number of points or inches.
+
+<DT><A NAME=d:edgeURL HREF=#a:edgeURL><STRONG>edgeURL</STRONG></A>
+<DD> If <B>edgeURL</B> is defined, this is the link used for the non-label
+ parts of an edge. This value overrides any <A HREF=#d:URL>URL</A>
+ defined for the edge.
+ Also, this value is used near the head or tail node unless overridden
+ by a <A HREF=#d:headURL>headURL</A> or <A HREF=#d:tailURL>tailURL</A> value,
+ respectively.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:edgehref HREF=#a:edgehref><STRONG>edgehref</STRONG></A>
+<DD> Synonym for <A HREF=#d:edgeURL>edgeURL</A>.
+
+<DT><A NAME=d:edgetarget HREF=#a:edgetarget><STRONG>edgetarget</STRONG></A>
+<DD> If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:edgeURL>edgeURL</A>
+ attribute, this attribute determines which window of the
+ browser is used
+ for the URL attached to the non-label part of the edge.
+ Setting it to "_graphviz" will open a new window if it
+ doesn't already exist, or reuse it if it does.
+ If undefined, the value of the <A HREF=#d:target>target</A> is used.
+
+<DT><A NAME=d:edgetooltip HREF=#a:edgetooltip><STRONG>edgetooltip</STRONG></A>
+<DD> Tooltip annotation attached to the non-label part of an edge.
+ This is used only if the edge has a <A HREF=#d:URL>URL</A>
+ or <A HREF=#d:edgeURL>edgeURL</A> attribute.
+
+<DT><A NAME=d:epsilon HREF=#a:epsilon><STRONG>epsilon</STRONG></A>
+<DD> Terminating condition. If the length squared of all energy gradients are
+ < <B>epsilon</B>, the algorithm stops.
+
+<DT><A NAME=d:esep HREF=#a:esep><STRONG>esep</STRONG></A>
+<DD> Margin used around polygons for purposes of spline edge routing.
+ The interpretation is the same as given for <A HREF=#d:sep>sep</A>.
+ This should normally be strictly less than <A HREF=#d:sep>sep</A>.
+
+<DT><A NAME=d:fillcolor HREF=#a:fillcolor><STRONG>fillcolor</STRONG></A>
+<DD> Color used to fill the background of a node or cluster
+ assuming <A HREF=#d:style>style</A>=filled.
+ If <B>fillcolor</B> is not defined, <A HREF=#d:color>color</A> is
+ used. (For clusters, if <B>color</B> is not defined,
+ <A HREF=#d:bgcolor>bgcolor</A> is used.) If this is not defined,
+ the default is used, except for
+ <A HREF=#d:shape><B>shape</B></A>=point or when the output
+ format is MIF,
+ which use black by default.
+ <P>
+ Note that a cluster inherits the root graph's attributes if defined.
+ Thus, if the root graph has defined a <B>fillcolor</B>, this will override a
+ <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
+
+<DT><A NAME=d:fixedsize HREF=#a:fixedsize><STRONG>fixedsize</STRONG></A>
+<DD> If true, the node size is specified by the values of the
+ <A HREF=#d:width><B>width</B></A>
+ and <A HREF=#d:height><B>height</B></A> attributes only
+ and is not expanded to contain the text label.
+
+<DT><A NAME=d:fontcolor HREF=#a:fontcolor><STRONG>fontcolor</STRONG></A>
+<DD> Color used for text.
+
+<DT><A NAME=d:fontname HREF=#a:fontname><STRONG>fontname</STRONG></A>
+<DD> Font used for text. This very much depends on the output format and, for
+ non-bitmap output such as PostScript or SVG, the availability of the font
+ when the graph is displayed or printed. As such, it is best to rely on
+ font faces that are generally available, such as Times-Roman, Helvetica or
+ Courier.
+ <P>
+ If Graphviz was built using the
+ <A HREF=http://pdx.freedesktop.org/~fontconfig/fontconfig-user.html>fontconfig library</A>, the latter library
+ will be used to search for the font. However, if the <TT>fontname</TT> string
+ contains a slash character "/", it is treated as a pathname for the font
+ file, though font lookup will append the usual font suffixes.
+ <P>
+ If Graphviz does not use fontconfig, <TT>fontname</TT> will be
+ considered the name of a Type 1 or True Type font file.
+ If you specify <TT>fontname=schlbk</TT>, the tool will look for a
+ file named <TT>schlbk.ttf</TT> or <TT>schlbk.pfa</TT> or <TT>schlbk.pfb</TT>
+ in one of the directories specified by
+ the <A HREF=#d:fontpath>fontpath</A> attribute.
+ The lookup does support various aliases for the common fonts.
+
+<DT><A NAME=d:fontnames HREF=#a:fontnames><STRONG>fontnames</STRONG></A>
+<DD> Allows user control of how basic fontnames are represented in SVG output.
+ If <TT>fontnames</TT> is undefined or <TT>"svg"</TT>,
+ the output will try to use known SVG fontnames. For example, the
+ default font <TT>"Times-Roman"</TT> will be mapped to the
+ basic SVG font <TT>"serif"</TT>. This can be overridden by setting
+ <TT>fontnames</TT> to <TT>"ps"</TT> or <TT>"gd"</TT>.
+ In the former case, known PostScript font names such as
+ <TT>"Times-Roman"</TT> will be used in the output.
+ In the latter case, the fontconfig font conventions
+ are used. Thus, <TT>"Times-Roman"</TT> would be treated as
+ <TT>"Nimbus Roman No9 L"</TT>. These last two options are useful
+ with SVG viewers that support these richer fontname spaces.
+
+<DT><A NAME=d:fontpath HREF=#a:fontpath><STRONG>fontpath</STRONG></A>
+<DD> Directory list used by libgd to search for bitmap fonts if Graphviz
+ was not built with the fontconfig library.
+ If <B>fontpath</B> is not set, the environment
+ variable <TT>DOTFONTPATH</TT> is checked.
+ If that is not set, <TT>GDFONTPATH</TT> is checked.
+ If not set, libgd uses its compiled-in font path.
+ Note that fontpath is an attribute of the root graph.
+
+<DT><A NAME=d:fontsize HREF=#a:fontsize><STRONG>fontsize</STRONG></A>
+<DD> Font size, <A HREF=#points>in points</A>, used for text.
+
+<DT><A NAME=d:group HREF=#a:group><STRONG>group</STRONG></A>
+<DD> If the end points of an edge belong to the same group, i.e., have the
+ same group attribute, parameters are set to avoid crossings and keep
+ the edges straight.
+
+<DT><A NAME=d:headURL HREF=#a:headURL><STRONG>headURL</STRONG></A>
+<DD> If <B>headURL</B> is defined, it is
+ output as part of the head label of the edge.
+ Also, this value is used near the head node, overriding any
+ <A HREF=#d:URL>URL</A> value.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:headclip HREF=#a:headclip><STRONG>headclip</STRONG></A>
+<DD> If true, the head of an edge is clipped to the boundary of the head node;
+ otherwise, the end of the edge goes to the center of the node, or the
+ center of a port, if applicable.
+
+<DT><A NAME=d:headhref HREF=#a:headhref><STRONG>headhref</STRONG></A>
+<DD> Synonym for <A HREF=#d:headURL>headURL</A>.
+
+<DT><A NAME=d:headlabel HREF=#a:headlabel><STRONG>headlabel</STRONG></A>
+<DD> Text label to be placed near head of edge.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:headport HREF=#a:headport><STRONG>headport</STRONG></A>
+<DD> Indicates where on the head node to attach the head of the edge.
+ In the default case, the edge is aimed towards the center of the node,
+ and then clipped at the node boundary.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:headtarget HREF=#a:headtarget><STRONG>headtarget</STRONG></A>
+<DD> If the edge has a <A HREF=#d:headURL>headURL</A>,
+ this attribute determines which window of the
+ browser is used
+ for the URL. Setting it to "_graphviz" will open a new window if it
+ doesn't already exist, or reuse it if it does.
+ If undefined, the value of the <A HREF=#d:target>target</A> is used.
+
+<DT><A NAME=d:headtooltip HREF=#a:headtooltip><STRONG>headtooltip</STRONG></A>
+<DD> Tooltip annotation attached to the head of an edge. This is used only
+ if the edge has a <A HREF=#d:headURL>headURL</A> attribute.
+
+<DT><A NAME=d:height HREF=#a:height><STRONG>height</STRONG></A>
+<DD> Height of node, in inches. This is taken as the initial, minimum height
+ of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
+ will be the final height of the node. Otherwise, if the node label
+ requires more height to fit, the node's height will be increased to
+ contain the label. Note also that, if the output format is dot, the
+ value given to <B>height</B> will be the final value.
+
+<DT><A NAME=d:href HREF=#a:href><STRONG>href</STRONG></A>
+<DD> Synonym for <A HREF=#d:URL>URL</A>.
+
+<DT><A NAME=d:image HREF=#a:image><STRONG>image</STRONG></A>
+<DD> Gives the name of a file containing an image to be displayed inside
+ a node. The image file must be in one of the recognized formats,
+ typically JPEG, PNG, GIF or Postscript, and be able to be converted
+ into the desired output format.
+ <P>
+ Unlike with the <A HREF=#d:shapefile>shapefile</A> attribute,
+ the image is treated as node
+ content rather than the entire node. In particular, an image can
+ be contained in a node of any shape, not just a rectangle.
+
+<DT><A NAME=d:imagescale HREF=#a:imagescale><STRONG>imagescale</STRONG></A>
+<DD> Attribute controlling how an image fills its
+ containing node. In general, the image is given its natural size,
+ (cf. <A HREF=#d:dpi>dpi</A>),
+ and the node size is made large enough to contain its image, its
+ label, its margin, and its peripheries.
+ Its width and height will also be at least as large as its
+ minimum <A HREF=#d:width>width</A> and <A HREF=#d:height>height</A>.
+ If, however, <TT>fixedsize=true</TT>,
+ the width and height attributes specify the exact size of the node.
+ <P>
+ During rendering, in the default case (<TT>imagescale=false</TT>),
+ the image retains its natural size.
+ If <TT>imagescale=true</TT>,
+ the image is uniformly scaled (i.e., its aspect ration is
+ preserved) to fit inside the node.
+ At least one dimension of the image will be as large as possible
+ given the size of the node.
+ When <TT>imagescale=width</TT>,
+ the width of the image is scaled to fill the node width.
+ The corresponding property holds when <TT>imagescale=height</TT>.
+ When <TT>imagescale=both</TT>,
+ both the height and the width are scaled separately to fill the node.
+ <P>
+ In all cases, if a dimension of the image is larger than the
+ corresponding dimension of the node, that dimension of the
+ image is scaled down to fit the node. As with the case of
+ expansion, if <TT>imagescale=true</TT>, width and height are
+ scaled uniformly.
+
+<DT><A NAME=d:label HREF=#a:label><STRONG>label</STRONG></A>
+<DD> Text label attached to objects.
+ If a node's <A HREF=#d:shape>shape</A> is record, then the label can
+ have a <A HREF=shapes.html#record>special format</A>
+ which describes the record layout.
+
+<DT><A NAME=d:labelURL HREF=#a:labelURL><STRONG>labelURL</STRONG></A>
+<DD> If <B>labelURL</B> is defined, this is the link used for the label
+ of an edge. This value overrides any <A HREF=#d:URL>URL</A>
+ defined for the edge.
+
+<DT><A NAME=d:labelangle HREF=#a:labelangle><STRONG>labelangle</STRONG></A>
+<DD> This, along with <A HREF=#d:labeldistance>labeldistance</A>, determine
+ where the
+ headlabel (taillabel) are placed with respect to the head (tail)
+ in polar coordinates. The origin in the coordinate system is
+ the point where the edge touches the node. The ray of 0 degrees
+ goes from the origin back along the edge, parallel to the edge
+ at the origin.
+ <P>
+ The angle, in degrees, specifies the rotation from the 0 degree ray,
+ with positive angles moving counterclockwise and negative angles
+ moving clockwise.
+
+<DT><A NAME=d:labeldistance HREF=#a:labeldistance><STRONG>labeldistance</STRONG></A>
+<DD> Multiplicative scaling factor adjusting the distance that
+ the headlabel(taillabel) is from the head(tail) node.
+ The default distance is 10 points. See <A HREF=#d:labelangle>labelangle</A>
+ for more details.
+
+<DT><A NAME=d:labelfloat HREF=#a:labelfloat><STRONG>labelfloat</STRONG></A>
+<DD> If true, allows edge labels to be less constrained in position.
+ In particular, it may appear on top of other edges.
+
+<DT><A NAME=d:labelfontcolor HREF=#a:labelfontcolor><STRONG>labelfontcolor</STRONG></A>
+<DD> Color used for headlabel and taillabel.
+ If not set, defaults to edge's fontcolor.
+
+<DT><A NAME=d:labelfontname HREF=#a:labelfontname><STRONG>labelfontname</STRONG></A>
+<DD> Font used for headlabel and taillabel.
+ If not set, defaults to edge's fontname.
+
+<DT><A NAME=d:labelfontsize HREF=#a:labelfontsize><STRONG>labelfontsize</STRONG></A>
+<DD> Font size, <A HREF=#points>in points</A>, used for headlabel and taillabel.
+ If not set, defaults to edge's fontsize.
+
+<DT><A NAME=d:labelhref HREF=#a:labelhref><STRONG>labelhref</STRONG></A>
+<DD> Synonym for <A HREF=#d:labelURL>labelURL</A>.
+
+<DT><A NAME=d:labeljust HREF=#a:labeljust><STRONG>labeljust</STRONG></A>
+<DD> Justification for cluster labels. If "r", the label
+ is right-justified within bounding rectangle; if "l", left-justified;
+ else the label is centered.
+ Note that a subgraph inherits attributes from its parent. Thus, if
+ the root graph sets <B>labeljust</B> to "l", the subgraph inherits
+ this value.
+
+<DT><A NAME=d:labelloc HREF=#a:labelloc><STRONG>labelloc</STRONG></A>
+<DD> Top/bottom placement of graph and cluster labels.
+ If the attribute is "t", place label at the top;
+ if the attribute is "b", place label at the bottom.
+ By default, root
+ graph labels go on the bottom and cluster labels go on the top.
+ Note that a subgraph inherits attributes from its parent. Thus, if
+ the root graph sets <B>labelloc</B> to "b", the subgraph inherits
+ this value.
+
+<DT><A NAME=dd:labelloc HREF=#aa:labelloc><STRONG>labelloc</STRONG></A>
+<DD> Vertical placement of node label. By default, if the height of a node
+ is larger than the height of its label, the label is vertically centered.
+ If <TT>labelloc</TT> is set to "t", "c", or "b", the label is aligned
+ with the top, centered, or aligned with the bottom of the node, respectively.
+
+<DT><A NAME=d:labeltarget HREF=#a:labeltarget><STRONG>labeltarget</STRONG></A>
+<DD> If the edge has a <A HREF=#d:URL>URL</A> or <A HREF=#d:labelURL>labelURL</A>
+ attribute, this attribute determines which window of the
+ browser is used
+ for the URL attached to the label.
+ Setting it to "_graphviz" will open a new window if it
+ doesn't already exist, or reuse it if it does.
+ If undefined, the value of the <A HREF=#d:target>target</A> is used.
+
+<DT><A NAME=d:labeltooltip HREF=#a:labeltooltip><STRONG>labeltooltip</STRONG></A>
+<DD> Tooltip annotation attached to label of an edge.
+ This is used only if the edge has a <A HREF=#d:URL>URL</A>
+ or <A HREF=#d:labelURL>labelURL</A> attribute.
+
+<DT><A NAME=d:landscape HREF=#a:landscape><STRONG>landscape</STRONG></A>
+<DD> If true, the graph is rendered in landscape mode. Synonymous with
+ <A HREF=#d:rotate><TT>rotate=90</TT></A> or
+ <A HREF=#d:orientation><TT>orientation=landscape</TT></A>.
+
+<DT><A NAME=d:layer HREF=#a:layer><STRONG>layer</STRONG></A>
+<DD> Specifies layers in which the node or edge is present.
+
+<DT><A NAME=d:layers HREF=#a:layers><STRONG>layers</STRONG></A>
+<DD> Specifies a linearly ordered list of layer names attached to the graph
+ The graph is then output in separate layers. Only those components
+ belonging to the current output layer appear. For more information,
+ see the page <A HREF="http://www.graphviz.org/Documentation/html/layers/">How to use drawing layers (overlays)</A>.
+
+<DT><A NAME=d:layersep HREF=#a:layersep><STRONG>layersep</STRONG></A>
+<DD> Specifies the separator characters used to split the
+ <A HREF=#d:layers>layers </A>attribute into a list of layer names.
+
+<DT><A NAME=d:len HREF=#a:len><STRONG>len</STRONG></A>
+<DD> Preferred edge length, in inches.
+
+<DT><A NAME=d:levelsgap HREF=#a:levelsgap><STRONG>levelsgap</STRONG></A>
+<DD> Specifies strictness of level constraints in neato
+ when <TT><A HREF=#d:mode>mode</A>="ipsep" or "hier"</TT>.
+ Larger positive values mean stricter constraints, which demand more
+ separation between levels. On the other hand, negative values will relax
+ the constraints by allowing some overlap between the levels.
+
+<DT><A NAME=d:lhead HREF=#a:lhead><STRONG>lhead</STRONG></A>
+<DD> Logical head of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
+ if <B>lhead</B> is defined and is the name of a cluster containing
+ the real head,
+ the edge is clipped to the boundary of the cluster.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:lp HREF=#a:lp><STRONG>lp</STRONG></A>
+<DD> Label position, <A HREF=#points>in points</A>.
+ The position indicates the center of the label.
+
+<DT><A NAME=d:ltail HREF=#a:ltail><STRONG>ltail</STRONG></A>
+<DD> Logical tail of an edge. When <A HREF=#d:compound><B>compound</B></A> is true,
+ if <B>ltail</B> is defined and is the name of a cluster
+ containing the real tail,
+ the edge is clipped to the boundary of the cluster.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:margin HREF=#a:margin><STRONG>margin</STRONG></A>
+<DD> For graphs, this sets x and y margins of canvas, in inches. If the margin
+ is a single double, both margins are set equal to the given value.
+ <P>
+ Note that the margin is not part of the drawing but just empty space
+ left around the drawing. It basically corresponds to a translation of
+ drawing, as would be necessary to center a drawing on a page. Nothing
+ is actually drawn in the margin. To actually extend the background of
+ a drawing, see the <A HREF=#d:pad>pad</A> attribute.
+ <P>
+ For nodes, this attribute specifies space left around the node's label.
+ By default, the value is <TT>0.11,0.055</TT>.
+
+<DT><A NAME=d:maxiter HREF=#a:maxiter><STRONG>maxiter</STRONG></A>
+<DD> Sets the number of iterations used.
+
+<DT><A NAME=d:mclimit HREF=#a:mclimit><STRONG>mclimit</STRONG></A>
+<DD> Multiplicative scale factor used to alter the MinQuit (default = 8)
+ and MaxIter (default = 24) parameters used during crossing
+ minimization. These correspond to the
+ number of tries without improvement before quitting and the
+ maximum number of iterations in each pass.
+
+<DT><A NAME=d:mindist HREF=#a:mindist><STRONG>mindist</STRONG></A>
+<DD> Specifies the minimum separation between all nodes.
+
+<DT><A NAME=d:minlen HREF=#a:minlen><STRONG>minlen</STRONG></A>
+<DD> Minimum edge length (rank difference between head and tail).
+
+<DT><A NAME=d:mode HREF=#a:mode><STRONG>mode</STRONG></A>
+<DD> Technique for optimizing the layout. If <B>mode</B> is <TT>"major"</TT>,
+ neato uses stress majorization. If <B>mode</B> is <TT>"KK"</TT>,
+ neato uses a version of the gradient descent method. The only advantage
+ to the latter technique is that it is sometimes appreciably faster for
+ small (number of nodes < 100) graphs. A significant disadvantage is that
+ it may cycle.
+ <P>
+ There are two new, experimental modes in neato, "hier", which adds a top-down
+ directionality similar to the layout used in dot, and "ipsep", which
+ allows the graph to specify minimum vertical and horizontal distances
+ between nodes. (See the <A HREF=#d:sep>sep</A> attribute.)
+
+<DT><A NAME=d:model HREF=#a:model><STRONG>model</STRONG></A>
+<DD> This value specifies how the distance matrix is computed for the input
+ graph. The distance matrix specifies the ideal distance between every
+ pair of nodes. neato attemps to find a layout which best achieves
+ these distances. By default, it uses the length of the shortest path,
+ where the length of each edge is given by its <A HREF=#d:len>len</A>
+ attribute. If <B>model</B> is <TT>"circuit"</TT>, neato uses the
+ circuit resistance
+ model to compute the distances. This tends to emphasize clusters. If
+ <B>model</B> is <TT>"subset"</TT>, neato uses the subset model. This sets the
+ edge length to be the number of nodes that are neighbors of exactly one
+ of the end points, and then calculates the shortest paths. This helps
+ to separate nodes with high degree.
+
+<DT><A NAME=d:mosek HREF=#a:mosek><STRONG>mosek</STRONG></A>
+<DD> If Graphviz is built with MOSEK defined, mode=ipsep and mosek=true,
+ the Mosek software (www.mosek.com) is use to solve the ipsep constraints.
+
+<DT><A NAME=d:nodesep HREF=#a:nodesep><STRONG>nodesep</STRONG></A>
+<DD> Minimum space between two adjacent nodes in the same rank, in inches.
+
+<DT><A NAME=d:nojustify HREF=#a:nojustify><STRONG>nojustify</STRONG></A>
+<DD> By default, the justification of multi-line labels is done within the
+ largest context that makes sense. Thus, in the label of a polygonal
+ node, a left-justified line will align with the left side of the node
+ (shifted by the prescribed <A HREF=#d:margin>margin</A>).
+ In record nodes, left-justified
+ line will line up with the left side of the enclosing column of fields.
+ If <B>nojustify</B> is <TT>"true"</TT>, multi-line labels will be justified
+ in the context of itself. For example, if the attribute is set,
+ the first label line is long, and the second is shorter and left-justified,
+ the second will align with the left-most character in the first line,
+ regardless of how large the node might be.
+
+<DT><A NAME=d:normalize HREF=#a:normalize><STRONG>normalize</STRONG></A>
+<DD> If set, normalize coordinates of final
+ layout so that the first point is at the origin, and then rotate the
+ layout so that the first edge is horizontal.
+
+<DT><A NAME=d:nslimit HREF=#a:nslimit><STRONG>nslimit</STRONG></A>
+,<DT><A NAME=d:nslimit1 HREF=#a:nslimit1><STRONG>nslimit1</STRONG></A>
+<DD> Used to set number of iterations in
+ network simplex applications. <B>nslimit</B> is used in
+ computing node x coordinates, <B>nslimit1</B> for ranking nodes.
+ If defined, # iterations = <B>nslimit(1)</B> * # nodes;
+ otherwise, # iterations = MAXINT.
+
+<DT><A NAME=d:ordering HREF=#a:ordering><STRONG>ordering</STRONG></A>
+<DD> If "out" for a graph G, and n is a node in G, then edges n->* appear
+ left-to-right in the same order in which they are defined.
+ If "in", the edges *->n appear
+ left-to-right in the same order in which they are defined for all
+ nodes n.
+
+<DT><A NAME=d:orientation HREF=#a:orientation><STRONG>orientation</STRONG></A>
+<DD> Angle, in degrees, used to rotate node shapes.
+
+<DT><A NAME=dd:orientation HREF=#aa:orientation><STRONG>orientation</STRONG></A>
+<DD> If "[lL]*", set graph orientation to landscape
+ Used only if <A HREF=#d:rotate><B>rotate</B></A> is not defined.
+
+<DT><A NAME=d:outputorder HREF=#a:outputorder><STRONG>outputorder</STRONG></A>
+<DD> Specify order in which nodes and edges are drawn.
+
+<DT><A NAME=d:overlap HREF=#a:overlap><STRONG>overlap</STRONG></A>
+<DD> Determines if and how node overlaps should be removed. Nodes are first
+ enlarged using the <A HREF=#d:sep><B>sep</B></A> attribute.
+ If "true" , overlaps are retained.
+ If the value is "scale", overlaps are removed by uniformly scaling in x and y.
+ If the value converts to "false", node overlaps are removed by a
+ Voronoi-based technique.
+ If the value is "scalexy", x and y are separately
+ scaled to remove overlaps.
+ If the value is "orthoxy" or "orthoyx", overlaps
+ are moved by optimizing two constraint problems, one for the x axis and
+ one for the y. The suffix indicates which axis is processed first.
+ If the value is "ortho", the technique is similar to "orthoxy" except a
+ heuristic is used to reduce the bias between the two passes.
+ If the value is "ortho_yx", the technique is the same as "ortho", except
+ the roles of x and y are reversed.
+ The values "portho", "porthoxy", "porthoxy", and "portho_yx" are similar
+ to the previous four, except only pseudo-orthogonal ordering is
+ enforced.
+ <P>
+ If the value is "compress", the layout will be scaled down as much as
+ possible without introducing any overlaps, obviously assuming there are
+ none to begin with.
+ <P>
+ If the value is "vpsc", overlap removal is similarly to "ortho", except
+ quadratic optimization is used to minimize node displacement.
+ <P>
+ If the layout is done by neato with <A HREF=#d:mode>mode</A>="ipsep",
+ then one can use <TT>overlap=ipsep</TT>.
+ In this case, the overlap removal constraints are
+ incorporated into the layout algorithm itself.
+ N.B. At present, this only supports one level of clustering.
+ <P>
+ Except for fdp, the layouts assume <TT>overlap="true"</TT> as the default.
+ Fdp first uses a number of passes using built-in, force-directed technique
+ to remove overlaps. Thus, fdp accepts <B>overlap</B> with an integer
+ prefix followed by a colon, specifying the number of tries. If there is
+ no prefix, no initial tries will be performed. If there is nothing following
+ a colon, none of the above methods will be attempted. By default, fdp
+ uses <TT>overlap="9:portho"</TT>. Note that <TT>overlap="true"</TT>,
+ <TT>overlap="0:true"</TT> and <TT>overlap="0:"</TT> all turn off all overlap
+ removal.
+ <P>
+ Except for the Voronoi method, all of these transforms preserve the
+ orthogonal ordering of the original layout. That is, if the x coordinates
+ of two nodes are originally the same, they will remain the same, and if
+ the x coordinate of one node is originally less than the x coordinate of
+ another, this relation will still hold in the transformed layout. The
+ similar properties hold for the y coordinates.
+ This is not quite true for the "porth*" cases. For these, orthogonal
+ ordering is only preserved among nodes related by an edge.
+ <P>
+ <B>NOTE: </B>The methods "orthoxy" and "orthoyx" are still evolving. The
+ semantics of these may change, or these methods may disappear altogether.
+
+<DT><A NAME=d:pack HREF=#a:pack><STRONG>pack</STRONG></A>
+<DD> This is true if the value of pack is "true" (case-insensitive) or a
+ non-negative integer. If true, each connected component of the graph is
+ laid out separately, and then the graphs are packed tightly.
+ If pack has an integral value, this is used as the size,
+ in <A HREF=#points>points</A>, of
+ a margin around each part; otherwise, a default margin of 8 is used.
+ If pack is interpreted as false, the entire graph is laid out together.
+ The granularity and method of packing is influenced by the
+ <A HREF=#d:packmode>packmode</A> attribute.
+ <P>
+ For layouts which always do packing, such a twopi, the <B>pack</B>
+ attribute is just used to set the margin.
+
+<DT><A NAME=d:packmode HREF=#a:packmode><STRONG>packmode</STRONG></A>
+<DD> This indicates the granularity and method used for packing
+ (cf. <A HREF=#k:packMode>packMode</A>). Note that defining
+ <B>packmode</B> will automatically turn on packing as though one had
+ set <B>pack=true</B>.
+
+<DT><A NAME=d:pad HREF=#a:pad><STRONG>pad</STRONG></A>
+<DD> The pad attribute specifies how much, in inches, to extend the
+ drawing area around the minimal area needed to draw the graph.
+ If the pad is a single double, both the x and y pad values are set
+ equal to the given value. This area is part of the
+ drawing and will be filled with the background color, if appropriate.
+ <P>
+ Normally, a small pad is used for aesthetic reasons, especially when
+ a background color is used, to avoid having nodes and edges abutting
+ the boundary of the drawn region.
+
+<DT><A NAME=d:page HREF=#a:page><STRONG>page</STRONG></A>
+<DD> Width and height of output pages, in inches. If this is set and is
+ smaller than the size of the layout, a rectangular array of pages of
+ the specified page size is overlaid on the layout, with origins
+ aligned in the lower-left corner, thereby partitioning the layout
+ into pages. The pages are then produced one at a time, in
+ <A HREF=#d:pagedir>pagedir</A> order.
+ <P>
+ At present, this only works for PostScript output. For other types of
+ output, one should use another tool to split the output into multiple
+ output files. Or use the <A HREF=#d:viewport>viewport</A> to generate
+ multiple files.
+
+<DT><A NAME=d:pagedir HREF=#a:pagedir><STRONG>pagedir</STRONG></A>
+<DD> If the <A HREF=#d:page>page</A> attribute is set and applicable,
+ this attribute specifies the order in which the pages are emitted.
+ This is limited to one of the 8 row or column major orders.
+
+<DT><A NAME=d:pencolor HREF=#a:pencolor><STRONG>pencolor</STRONG></A>
+<DD> Color used to draw the bounding box around a cluster.
+ If <B>pencolor</B> is not defined, <A HREF=#d:color><B>color</B></A> is
+ used. If this is not defined, <A HREF=#d:bgcolor>bgcolor</A> is used.
+ If this is not defined, the default is used.
+ <P>
+ Note that a cluster inherits the root graph's attributes if defined.
+ Thus, if the root graph has defined a <B>pencolor</B>, this will override a
+ <B>color</B> or <B>bgcolor</B> attribute set for the cluster.
+
+<DT><A NAME=d:penwidth HREF=#a:penwidth><STRONG>penwidth</STRONG></A>
+<DD> Specifies the width of the pen, in points, used to draw lines and curves,
+ including the boundaries of edges and clusters. The value is inherited
+ by subclusters.
+ It has no effect on text.
+ <P>
+ Previous to 31 January 2008, the effect of <TT>penwidth=<I>W</I></TT>
+ was achieved by including <TT>setlinewidth(<I>W</I>)</TT>
+ as part of a <A HREF=#d:style><TT>style</TT></A> specification.
+ If both are used, <TT>penwidth</TT> will be used.
+
+<DT><A NAME=d:peripheries HREF=#a:peripheries><STRONG>peripheries</STRONG></A>
+<DD> Set number of peripheries used in polygonal shapes and cluster
+ boundaries. Note that
+ <A HREF=shapes.html#epsf>user-defined shapes</A> are treated as a
+ form of box shape, so the default
+ peripheries value is 1 and the user-defined shape will be drawn in
+ a bounding rectangle. Setting <TT>peripheries=0</TT> will turn this off.
+ Also, 1 is the maximum peripheries value for clusters.
+
+<DT><A NAME=d:pin HREF=#a:pin><STRONG>pin</STRONG></A>
+<DD> If true and the node has a pos attribute on input, neato prevents the
+ node from moving from the input position. This property can also be specified
+ in the pos attribute itself (cf. the <A HREF=#d:point>point</A> type).
+ <P>
+ <B>Note:</B> Due to an artifact of the implementation, final coordinates
+ are translated to the origin. Thus, if you look at the output coordinates
+ given in the (x)dot or plain format, pinned nodes will not have the same
+ output coordinates as were given on input. If this is important, a
+ simple workaround is to maintain the coordinates of a pinned node. The vector
+ difference between the old and new coordinates will give the translation,
+ which can then be subtracted from all of the appropriate coordinates.
+
+<DT><A NAME=d:pos HREF=#a:pos><STRONG>pos</STRONG></A>
+<DD> Position of node, or spline control points.
+ For nodes, the position indicates the center of the node.
+ On output, the coordinates are in <A HREF=#points>points</A>.
+ <P>
+ In neato and fdp, pos can be used to set the initial position of a node.
+ By default, the coordinates are assumed to be in inches. However, the
+ <A HREF=command.html#d:s>-s</A> command line flag can be used to specify
+ different units.
+ <P>
+ When the <A HREF=command.html#d:n>-n</A> command line flag is used with
+ neato, it is assumed the positions have been set by one of the layout
+ programs, and are therefore in points. Thus, <TT>neato -n</TT> can accept
+ input correctly without requiring a <TT>-s</TT> flag and, in fact,
+ ignores any such flag.
+
+<DT><A NAME=d:quantum HREF=#a:quantum><STRONG>quantum</STRONG></A>
+<DD> If <B>quantum</B> > 0.0, node label dimensions
+ will be rounded to integral multiples of the quantum.
+
+<DT><A NAME=d:rank HREF=#a:rank><STRONG>rank</STRONG></A>
+<DD> Rank constraints on the nodes in a subgraph.
+ If <B>rank</B>="same", all nodes are placed on the same rank.
+ If <B>rank</B>="min", all nodes are placed on the minimum rank.
+ If <B>rank</B>="source", all nodes are placed on the minimum rank, and
+ the only nodes on the minimum rank belong to some subgraph whose
+ rank attribute is "source" or "min".
+ Analogous criteria hold for <B>rank</B>="max" and <B>rank</B>="sink".
+ (Note: the
+ minimum rank is topmost or leftmost, and the maximum rank is bottommost
+ or rightmost.)
+
+<DT><A NAME=d:rankdir HREF=#a:rankdir><STRONG>rankdir</STRONG></A>
+<DD> Sets direction of graph layout. For example, if <B>rankdir</B>="LR",
+ and barring cycles, an edge <CODE>T -> H;</CODE> will go
+ from left to right. By default, graphs are laid out from top to bottom.
+ <P>
+ This attribute also has a side-effect in determining how record nodes
+ are interpreted. See <A HREF="shapes.html#record">record shapes</A>.
+
+<DT><A NAME=d:ranksep HREF=#a:ranksep><STRONG>ranksep</STRONG></A>
+<DD> In dot, this gives the desired rank separation, in inches. This is
+ the minimum vertical distance between the bottom of the nodes in one
+ rank and the tops of nodes in the next. If the value
+ contains "equally", the centers of all ranks are spaced equally apart.
+ Note that both
+ settings are possible, e.g., ranksep = "1.2 equally".
+ In twopi, specifies radial separation of concentric circles.
+
+<DT><A NAME=d:ratio HREF=#a:ratio><STRONG>ratio</STRONG></A>
+<DD> Sets the aspect ratio (drawing height/drawing width) for the drawing.
+ Note that this is adjusted before
+ the <A HREF=#d:size><B>size</B></A> attribute constraints are enforced.
+ <P>
+ If <B>ratio</B> is numeric, it is taken as the desired aspect ratio.
+ Then, if the actual aspect ratio is less than the desired ratio,
+ the drawing height is scaled up to achieve the
+ desired ratio; if the actual ratio is greater than that desired ratio,
+ the drawing width is scaled up.
+ <P>
+ If <B>ratio</B> = "fill" and the <A HREF=#d:size><B>size</B></A>
+ attribute is set, node positions are scaled, separately in both x
+ and y, so that the final drawing exactly fills the specified size.
+ <P>
+ If <B>ratio</B> = "compress" and the <A HREF=#d:size><B>size</B></A>
+ attribute is set, dot attempts to compress the initial layout to fit
+ in the given size. This achieves a tighter packing of nodes but
+ reduces the balance and symmetry. This feature only works in dot.
+ <P>
+ If <B>ratio</B> = "expand", the <A HREF=#d:size><B>size</B></A>
+ attribute is set, and both the width and the height of the graph are
+ less than the value in <A HREF=#d:size><B>size</B></A>, node positions are scaled
+ uniformly until at least
+ one dimension fits <A HREF=#d:size><B>size</B></A> exactly.
+ Note that this is distinct from using <A HREF=#d:size><B>size</B></A> as the
+ desired size, as here the drawing is expanded before edges are generated and
+ all node and text sizes remain unchanged.
+ <P>
+ If <B>ratio</B> = "auto", the <A HREF=#d:page><B>page</B></A>
+ attribute is set and the graph cannot be drawn on a single page,
+ then <A HREF=#d:size><B>size</B></A> is set to an ``ideal'' value.
+ In particular, the size in a given dimension will be the smallest integral
+ multiple of the page size in that dimension which is at least half the
+ current size. The two dimensions are then scaled independently to the
+ new size. This feature only works in dot.
+
+<DT><A NAME=d:rects HREF=#a:rects><STRONG>rects</STRONG></A>
+<DD> Rectangles for fields of records, <A HREF=#points>in points</A>.
+
+<DT><A NAME=d:regular HREF=#a:regular><STRONG>regular</STRONG></A>
+<DD> If true, force polygon to be regular.
+
+<DT><A NAME=d:remincross HREF=#a:remincross><STRONG>remincross</STRONG></A>
+<DD> If true and there are multiple clusters, run cross
+ minimization a second time.
+
+<DT><A NAME=d:resolution HREF=#a:resolution><STRONG>resolution</STRONG></A>
+<DD> This is a synonym for the <A HREF=#d:dpi>dpi</A> attribute.
+
+<DT><A NAME=d:root HREF=#a:root><STRONG>root</STRONG></A>
+<DD> This specifies nodes to be used as the center of the
+ layout and the root of the generated spanning tree. As a graph attribute,
+ this gives the name of the node. As a node attribute (circo only), it
+ specifies that the node should be used as a central node. In twopi,
+ this will actually be the central node. In circo, the block containing
+ the node will be central in the drawing of its connected component.
+ If not defined,
+ twopi will pick a most central node, and circo will pick a random node.
+
+<DT><A NAME=d:rotate HREF=#a:rotate><STRONG>rotate</STRONG></A>
+<DD> If 90, set drawing orientation to landscape.
+
+<DT><A NAME=d:samehead HREF=#a:samehead><STRONG>samehead</STRONG></A>
+<DD> Edges with the same head and the same <B>samehead</B> value are aimed
+ at the same point on the head.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:sametail HREF=#a:sametail><STRONG>sametail</STRONG></A>
+<DD> Edges with the same tail and the same <B>sametail</B> value are aimed
+ at the same point on the tail.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:samplepoints HREF=#a:samplepoints><STRONG>samplepoints</STRONG></A>
+<DD> If the input graph defines the <A HREF=#d:vertices><B>vertices</B></A>
+ attribute, and output is dot or xdot, this gives
+ the number of points used for a node whose shape is a circle or ellipse.
+ It plays the same role in neato, when adjusting the layout to avoid
+ overlapping nodes, and in image maps.
+
+<DT><A NAME=d:searchsize HREF=#a:searchsize><STRONG>searchsize</STRONG></A>
+<DD> During network simplex, maximum number of edges with negative cut values
+ to search when looking for one with minimum cut value.
+
+<DT><A NAME=d:sep HREF=#a:sep><STRONG>sep</STRONG></A>
+<DD> Specifies margin to leave around nodes when removing node overlap.
+ This guarantees a minimal non-zero distance between nodes.
+ <P>
+ If the attribute begins with a plus sign '+', an additive margin is
+ specified. That is, "+w,h" causes the node's bounding box to be increased
+ by w
+ points on the left and right sides, and by h points on the top and bottom.
+ Without a plus sign, the node is scaled by 1 + w in the x coordinate
+ and 1 + h in the y coordinate.
+ <P>
+ If only a single number is given, this is used for both dimensions.
+ <P>
+ If unset but <A HREF=#d:esep>esep</A> is defined, the <tt>sep</tt> values
+ will be set to the <tt>esep</tt> values divided by <tt>0.8</tt>.
+ If <tt>esep</tt> is unset, the default value is used.
+
+<DT><A NAME=d:shape HREF=#a:shape><STRONG>shape</STRONG></A>
+<DD> Set the shape of a node.
+
+<DT><A NAME=d:shapefile HREF=#a:shapefile><STRONG>shapefile</STRONG></A>
+<DD> (Deprecated) If defined, shapefile specifies a file containing user-supplied node content.
+ The <A HREF=#d:shape><B>shape</B></A> of the node is set to box.
+ The image in the shapefile must be
+ rectangular. The image formats supported as well as the precise semantics of
+ how the file is used depends on the
+ <A HREF="http://www.graphviz.org/doc/info/output.html">output format</A>. For further details, see
+ <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_image>External PostScript files</A>.
+ <P>
+ There is one exception to this usage.
+ If <B>shape</B> is set to "epsf", shapefile gives
+ a filename containing a definition of the node in PostScript.
+ The graphics defined must be contain all of the
+ node content, including any desired boundaries.
+ For further details, see
+ <A HREF=http://www.graphviz.org/Documentation/html/shapehowto.html#ext_ps>
+ External PostScript files</A>.
+
+<DT><A NAME=d:showboxes HREF=#a:showboxes><STRONG>showboxes</STRONG></A>
+<DD> Print guide boxes in PostScript at the beginning of
+ routesplines if 1, or at the end if 2. (Debugging)
+
+<DT><A NAME=d:sides HREF=#a:sides><STRONG>sides</STRONG></A>
+<DD> Number of sides if <A HREF=#d:shape><B>shape</B></A>=polygon.
+
+<DT><A NAME=d:size HREF=#a:size><STRONG>size</STRONG></A>
+<DD> Maximum width and height of drawing, in inches.
+ If defined and the drawing is too large, the drawing is uniformly
+ scaled down so that it fits within the given size.
+ <P>
+ If <TT>size</TT> ends in an exclamation point (<TT>!</TT>),
+ then it is taken to be
+ the desired size. In this case, if both dimensions of the drawing are
+ less than <TT>size</TT>, the drawing is scaled up uniformly until at
+ least one dimension equals its dimension in <TT>size</TT>.
+ <P>
+ Note that there is some interaction between the <B>size</B> and
+ <A HREF=#d:ratio><B>ratio</B></A> attributes.
+
+<DT><A NAME=d:skew HREF=#a:skew><STRONG>skew</STRONG></A>
+<DD> Skew factor for <A HREF=#d:shape><B>shape</B></A>=polygon. Positive values
+ skew top of polygon to right; negative to left.
+
+<DT><A NAME=d:splines HREF=#a:splines><STRONG>splines</STRONG></A>
+<DD> Controls how, and if, edges are represented. If true, edges are drawn as
+ splines routed around nodes; if false, edges are drawn as line segments.
+ If set to "", no edges are drawn at all.
+ <P>
+ (1 March 2007) The values <TT>line</TT> and <TT>spline</TT> can be
+ used as synonyms for <TT>false</TT> and <TT>true</TT>, respectively.
+ In addition, the value <TT>polyline</TT> specifies that edges should be
+ drawn as polylines.
+ <P>
+ By default, the attribute is unset. How this is interpreted depends on
+ the layout. For dot, the default is to draw edges as splines. For all
+ other layouts, the default is to draw edges as line segments. Note that
+ for these latter layouts, if <TT>splines="true"</TT>, this
+ requires non-overlapping nodes (cf. <A HREF=#d:overlap><B>overlap</B></A>).
+ If fdp is used for layout and <TT>splines="compound"</TT>, then the edges are
+ drawn to avoid clusters as well as nodes.
+
+<DT><A NAME=d:start HREF=#a:start><STRONG>start</STRONG></A>
+<DD> Parameter used to determine the initial layout of nodes. If unset, the
+ nodes are randomly placed in a unit square with
+ the same seed is always used for the random number generator, so the
+ initial placement is repeatable.
+
+<DT><A NAME=d:style HREF=#a:style><STRONG>style</STRONG></A>
+<DD> Set style for node or edge. For cluster subgraph, if "filled", the
+ cluster box's background is filled.
+
+<DT><A NAME=d:stylesheet HREF=#a:stylesheet><STRONG>stylesheet</STRONG></A>
+<DD> A URL or pathname specifying an XML style sheet, used in SVG output.
+
+<DT><A NAME=d:tailURL HREF=#a:tailURL><STRONG>tailURL</STRONG></A>
+<DD> If <B>tailURL</B> is defined, it is
+ output as part of the tail label of the edge.
+ Also, this value is used near the tail node, overriding any
+ <A HREF=#d:URL>URL</A> value.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:tailclip HREF=#a:tailclip><STRONG>tailclip</STRONG></A>
+<DD> If true, the tail of an edge is clipped to the boundary of the tail node;
+ otherwise, the end of the edge goes to the center of the node, or the
+ center of a port, if applicable.
+
+<DT><A NAME=d:tailhref HREF=#a:tailhref><STRONG>tailhref</STRONG></A>
+<DD> Synonym for <A HREF=#d:tailURL>tailURL</A>.
+
+<DT><A NAME=d:taillabel HREF=#a:taillabel><STRONG>taillabel</STRONG></A>
+<DD> Text label to be placed near tail of edge.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:tailport HREF=#a:tailport><STRONG>tailport</STRONG></A>
+<DD> Indicates where on the tail node to attach the tail of the edge.
+ See <A HREF=#h:undir_note>limitation</A>.
+
+<DT><A NAME=d:tailtarget HREF=#a:tailtarget><STRONG>tailtarget</STRONG></A>
+<DD> If the edge has a <A HREF=#d:tailURL>tailURL</A>,
+ this attribute determines which window of the
+ browser is used
+ for the URL. Setting it to "_graphviz" will open a new window if it
+ doesn't already exist, or reuse it if it does.
+ If undefined, the value of the <A HREF=#d:target>target</A> is used.
+
+<DT><A NAME=d:tailtooltip HREF=#a:tailtooltip><STRONG>tailtooltip</STRONG></A>
+<DD> Tooltip annotation attached to the tail of an edge. This is used only
+ if the edge has a <A HREF=#d:tailURL>tailURL</A> attribute.
+
+<DT><A NAME=d:target HREF=#a:target><STRONG>target</STRONG></A>
+<DD> If the object has a URL, this attribute determines which window
+ of the browser is used for the URL.
+ See <A HREF="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</A>.
+
+<DT><A NAME=d:tooltip HREF=#a:tooltip><STRONG>tooltip</STRONG></A>
+<DD> Tooltip annotation attached to the node or edge. If unset, Graphviz
+ will use the object's <A HREF=#d:label>label</A> if defined.
+ Note that if the label is a record specification or an HTML-like
+ label, the resulting tooltip may be unhelpful. In this case, if
+ tooltips will be generated, the user should set a <TT>tooltip</TT>
+ attribute explicitly.
+
+<DT><A NAME=d:truecolor HREF=#a:truecolor><STRONG>truecolor</STRONG></A>
+<DD> If set explicitly to true or false, the value determines whether or not
+ internal bitmap rendering relies on a truecolor color model or uses
+ a color palette.
+ If the attribute is unset, truecolor is not used
+ unless there is a <A HREF=#d:shapefile>shapefile</A> property
+ for some node in the graph.
+ The output model will use the input model when possible.
+ <P>
+ Use of color palettes results in less memory usage during creation of the
+ bitmaps and smaller output files.
+ <P>
+ Usually, the only time it is necessary to specify the truetype model
+ is if the graph uses more than 256 colors.
+ However, if one uses <A HREF=#d:bgcolor>bgcolor</A>=transparent with
+ a color palette, font
+ antialiasing can show up as a fuzzy white area around characters.
+ Using <B>truecolor</B>=true avoids this problem.
+
+<DT><A NAME=d:vertices HREF=#a:vertices><STRONG>vertices</STRONG></A>
+<DD> If the input graph defines this attribute, the node is polygonal,
+ and output is dot or xdot, this attribute provides the
+ coordinates of the vertices of the node's polygon, in inches.
+ If the node is an ellipse or circle, the
+ <A HREF=#d:samplepoints>samplepoints</A> attribute affects
+ the output.
+
+<DT><A NAME=d:viewport HREF=#a:viewport><STRONG>viewport</STRONG></A>
+<DD> Clipping window on final drawing.
+
+<DT><A NAME=d:voro_margin HREF=#a:voro_margin><STRONG>voro_margin</STRONG></A>
+<DD> Factor to scale up drawing to allow margin for expansion in
+ Voronoi technique. dim' = (1+2*margin)*dim.
+
+<DT><A NAME=d:weight HREF=#a:weight><STRONG>weight</STRONG></A>
+<DD> Weight of edge. In dot, the heavier the weight, the shorter,
+ straighter and more vertical the edge is. In neato, the heavier the
+ weight, the more neato will try to place the end points so that the
+ length of the edge is <A HREF=#d:len>len</A>.
+
+<DT><A NAME=d:width HREF=#a:width><STRONG>width</STRONG></A>
+<DD> Width of node, in inches. This is taken as the initial, minimum width
+ of the node. If <A HREF=#d:fixedsize><B>fixedsize</B></A> is true, this
+ will be the final width of the node. Otherwise, if the node label
+ requires more width to fit, the node's width will be increased to
+ contain the label. Note also that, if the output format is dot, the
+ value given to <B>width</B> will be the final value.
+
+<DT><A NAME=d:z HREF=#a:z><STRONG>z</STRONG></A>
+<DD> Provides z coordinate value for 3D layouts and displays. If the
+ graph has <A HREF=#d:dim><B>dim</B></A> set to 3 (or more),
+ neato will use a node's <B>z</B> value
+ for the z coordinate of its initial position if
+ its <A HREF=#d:pos><B>pos</B></A> attribute is also defined.
+ <P>
+ Even if no <B>z</B> values are specified in the input, it is necessary to
+ declare a <B>z</B> attribute for nodes, e.g, using <TT>node[z=""]</TT>
+ in order to get z values on output.
+ Thus, setting <TT>dim=3</TT> but not declaring <B>z</B> will
+ cause <TT>neato -Tvrml</TT> to
+ layout the graph in 3D but project the layout onto the xy-plane
+ for the rendering. If the <B>z</B> attribute is declared, the final rendering
+ will be in 3D.
+
+</DL>
+<HR>
+<H1>Attribute Type Descriptions</H1>
+The following list gives the legal strings corresponding to values of
+the given types.
+<DL>
+<DT><A NAME=k:arrowType><STRONG>arrowType</STRONG></A>
+<DD><TABLE>
+ <TR><TD>"normal"<TD><IMG SRC="a_normal.gif">
+ <TD>"inv"<TD><IMG SRC="a_inv.gif"></TR>
+ <TR><TD>"dot"<TD><IMG SRC="a_dot.gif">
+ <TD>"invdot"<TD><IMG SRC="a_invdot.gif"></TR>
+ <TR><TD>"odot"<TD><IMG SRC="a_odot.gif">
+ <TD>"invodot"<TD><IMG SRC="a_invodot.gif"></TR>
+ <TR><TD>"none"<TD><IMG SRC="a_none.gif">
+ <TD>"tee"<TD><IMG SRC="a_tee.gif"></TR>
+ <TR><TD>"empty"<TD><IMG SRC="a_empty.gif">
+ <TD>"invempty"<TD><IMG SRC="a_invempty.gif"></TR>
+ <TR><TD>"diamond"<TD><IMG SRC="a_diamond.gif">
+ <TD>"odiamond"<TD><IMG SRC="a_odiamond.gif"></TR>
+ <TR><TD>"ediamond"<TD><IMG SRC="a_ediamond.gif">
+ <TD>"crow"<TD><IMG SRC="a_crow.gif"></TR>
+ <TR><TD>"box"<TD><IMG SRC="a_box.gif">
+ <TD>"obox"<TD><IMG SRC="a_obox.gif"></TR>
+ <TR><TD>"open"<TD><IMG SRC="a_open.gif">
+ <TD>"halfopen"<TD><IMG SRC="a_halfopen.gif"></TR>
+ <TR><TD>"vee"<TD><IMG SRC="a_open.gif">
+ </TABLE>
+ <P>
+ These are the basic set of backward-compatible arrow shapes. In addition,
+ there is a grammar of <A HREF=arrows.html>arrow shapes</A>
+ which can be used to describe a collection of 1260 arrow shapes as
+ modifications of a primitive set of 9 arrows. The basic arrows shown
+ above contain all of the primitive shapes
+ (<TT>box</TT>, <TT>crow</TT>, <TT>diamond</TT>,
+ <TT>dot</TT>, <TT>inv</TT>, <TT>none</tt>,
+ <TT>normal</tt>, <TT>tee</TT>, <TT>vee</TT>)
+ plus ones that can be derived from the grammar
+ (<TT>odot</TT>, <TT>invdot</TT>, <TT>invodot</TT>,
+ <TT>obox</TT>, <TT>odiamond</TT>)
+ plus some supported as special cases for backward-compatibility
+ (<TT>ediamond</TT>, <TT>open</TT>, <TT>halfopen</TT>,
+ <TT>empty</TT>, <TT>invempty</TT>).
+
+<DT><A NAME=k:clusterMode><STRONG>clusterMode</STRONG></A>
+<DD>"local","global","none"
+
+<DT><A NAME=k:color><STRONG>color</STRONG></A>
+<DD>Colors can be specified using one of four formats.
+ <TABLE><TR><TD>"#%2x%2x%2x"<TD>Red-Green-Blue (RGB)</TR>
+ <TR><TD>"#%2x%2x%2x%2x"<TD>Red-Green-Blue-Alpha (RGBA)</TR>
+ <TR><TD>H[,&#160;]+S[,&#160;]+V<TD>Hue-Saturation-Value (HSV) 0.0 <= H,S,V <= 1.0</TR>
+ <TR><TD>string<TD><A HREF=colors.html>color name</A></TR></TABLE>
+ The specification for the RGB and RGBA formats are the format strings used by
+ <TT>sscanf</TT> to scan the color value. Thus, these values have the form
+ "#RGB" or "#RGBA", where R, G, B, and A each consist of 2 hexidecimal
+ digits, and can be separated by whitespace. HSV colors have the form of 3
+ numbers between 0 and 1, separated by whitespace or commas.
+ <P>
+ String-valued color specifications are case-insensitive and interpreted
+ in the context of the current color scheme, as specified by the
+ <A HREF=#d:colorscheme>colorscheme</A> attribute. If this is undefined,
+ the X11 naming scheme will be used.
+ An initial <TT>"/"</TT> character can be used to override the use of
+ the <TT>colorscheme</TT> attribute. In particular, a single initial
+ <TT>"/"</TT> will cause the string to be evaluated using the default
+ X11 naming. If the color value has the form <TT>"/ssss/yyyy"</TT>,
+ the name <TT>yyyy</TT> is interpreted using the schema <TT>ssss</TT>.
+ If the color scheme name is empty, i.e., the color has the
+ form <TT>"//yyyy"</TT>, the <TT>colorscheme</TT> attribute is used.
+ Thus, the forms <TT>"yyyy"</TT> and <TT>"//yyyy"</TT> are
+ equivalent.
+ <P>At present, Graphviz recognizes the default color scheme <TT>X11</TT>,
+ and the <A HREF="http://www.personal.psu.edu/faculty/c/a/cab38/ColorBrewer/ColorBrewer_intro.html">Brewer color schemes</A>. Please note that Brewer
+ color schemes are covered by this <A HREF=colors.html#brewer_license>license</A>.
+ <P>
+ Examples:<BR>
+ <TABLE border=1>
+ <TR><TH>Color<TH>RGB<TH>HSV<TH>String</TR>
+ <TR><TD align=center bgcolor=#ffffff>White<TD>"#ffffff"<TD>"0.000 0.000 1.000"<TD>"white"</TR>
+ <TR><TD align=center bgcolor=#000000><font color=white>Black</font><TD>"#000000"<TD>"0.000 0.000 0.000"<TD>"black"</TR>
+ <TR><TD align=center bgcolor=#ff0000>Red<TD>"#ff0000"<TD>"0.000 1.000 1.000"<TD>"red"</TR>
+ <TR><TD align=center bgcolor=#40e0d0>Turquoise<TD>"#40e0d0"<TD>"0.482 0.714 0.878"<TD>"turquoise"</TR>
+ <TR><TD align=center bgcolor=#a0522d>Sienna<TD>"#a0522d"<TD>"0.051 0.718 0.627"<TD>"sienna"</TR>
+ </TABLE>
+ <P>
+ Note that some output formats, e.g., <A HREF="output.html#a:mif">mif</A>,
+ only support a limited number of specific colors.
+ <P>
+ The string value <TT>transparent</TT> can be used to indicate no color.
+ This is only available in the output formats
+ ps, svg, fig, vmrl, and the bitmap formats. It can be used whenever a
+ color is needed but is most useful with
+ the <A HREF=#d:bgcolor>bgcolor</A> attribute.
+ Usually, the same effect can be achieved by setting
+ <A HREF=#d:style>style</A> to <TT>invis</TT>.
+
+<DT><A NAME=k:colorList><STRONG>colorList</STRONG></A>
+<DD>A colon-separated list of color values: <I>C</I>(:<I>C</I>)*
+ where each <I>C</I> is a <A HREF=#k:color>color</A> value.
+
+<DT><A NAME=k:dirType><STRONG>dirType</STRONG></A>
+<DD>For an edge <CODE>T -> H;</CODE>
+ <TABLE>
+ <TR><TD>"forward"<TD><IMG SRC="forward.gif">
+ <TD>"back"<TD><IMG SRC="back.gif"></TR>
+ <TR><TD>"both"<TD><IMG SRC="both.gif">
+ <TD>"none"<TD><IMG SRC="nohead.gif"></TR>
+ </TABLE>
+ For undirected edges <CODE>T -- H;</CODE>, one of the nodes, usually
+ the righthand one, is treated as the head for the purpose of
+ interpreting "forward" and "back".
+
+<DT><A NAME=k:escString><STRONG>escString</STRONG></A>
+<DD>string allowing escape sequences which are replaced according
+ to the context.
+ For node attributes, the substring "\N" is replaced by the name of the node,
+ and the substring "\G" by the name of the graph.
+ For graph or cluster attributes, the substring "\G" is replaced by the
+ name of the graph or cluster.
+ For edge attributes, the substring "\E" is replaced by the name of the edge,
+ the substring "\G" is replaced by the name of the graph or cluster,
+ and the substrings "\T" and "\H" by the names of
+ the tail and head nodes, respectively.
+ The name of an edge is the string formed from the name of the
+ tail node, the appropriate edge operator ("--" or "->") and the name of the
+ head node.
+ <P>
+ In addition, if the associated attribute is
+ <A HREF=#a:label>label</A>,
+ <A HREF=#a:headlabel>headlabel</A> or <A HREF=#a:taillabel>taillabel</A>,
+ the escape sequences "\n", "\l" and "\r"
+ divide the label into lines, centered, left-justified, and right-justified,
+ respectively.
+
+<DT><A NAME=k:layerList><STRONG>layerList</STRONG></A>
+<DD>list of strings separated by characters from the
+ <A HREF=#a:layersep>layersep</A> attribute (by default, colons,
+ tabs or spaces), defining <A HREF=#a:layer>layer</A>
+ names and implicitly numbered 1,2,...
+
+<DT><A NAME=k:layerRange><STRONG>layerRange</STRONG></A>
+<DD>layerId or layerId<B>s</B>layerId,<BR> where layerId = "all",
+ a decimal integer or a <A HREF=#a:layer>layer</A> name.
+ (An integer i corresponds to layer i.)
+ The string <B>s</B> consists of 1 or more separator characters specified
+ by the <A HREF=#a:layersep>layersep</A> attribute.
+
+<DT><A NAME=k:lblString><STRONG>lblString</STRONG></A>
+<DD>an <A HREF=#k:escString>escString</A>
+ or an <A HREF=shapes.html#html>HTML label</A>.
+
+<DT><A NAME=k:outputMode><STRONG>outputMode</STRONG></A>
+<DD>"breadthfirst","nodesfirst","edgesfirst"
+ These specify the order in which nodes and edges are drawn in concrete
+ output. The default "breadthfirst" is the simplest, but when the graph
+ layout does not avoid edge-node overlap, this mode will sometimes have
+ edges drawn over nodes and sometimes on top of nodes. If the mode
+ "nodesfirst" is chosen, all nodes are drawn first, followed by the
+ edges. This guarantees an edge-node overlap will not be mistaken for
+ an edge ending at a node. On the other hand, usually for aesthetic
+ reasons, it may be desirable that all edges appear beneath nodes, even
+ if the resulting drawing is ambiguous. This can be achieved by choosing
+ "edgesfirst".
+
+<DT><A NAME=k:packMode><STRONG>packMode</STRONG></A>
+<DD>"node","clust","graph"
+ These specify the granularity of packing connected components when
+ the <A HREF=#d:pack>pack</A> attribute is true. A value of "node" causes
+ packing at the node and edge label, with no overlapping of these objects.
+ This produces a layout with the least area, but it also allows interleaving,
+ where a node of one component may lie between two nodes in another
+ component. A value of "graph" does a packing using the bounding box of the
+ component. Thus, there will be a rectangular region around a component
+ free of elements of any other component.
+ A value of "clust" guarantees that top-level clusters are kept intact.
+ What effect a value has also depends on the layout algorithm. For
+ example, neato does not support clusters, so a value of "clust" will
+ have the same effect as the default "node" value.
+
+<DT><A NAME=k:pagedir><STRONG>pagedir</STRONG></A>
+<DD>"BL", "BR", "TL", "TR", "RB", "RT", "LB", "LT".
+ These specify the 8 row or column major orders for traversing a
+ rectangular array, the first character corresponding to the major
+ order and the second to the minor order. Thus, for "BL", the
+ major order is from bottom to top, and the minor order is from left
+ to right. This means the bottom row is traversed first, from left
+ to right, then the next row up, from left to right, and so on,
+ until the topmost row is traversed.
+
+<DT><A NAME=k:point><STRONG>point</STRONG></A>
+<DD>"%f,%f"('!') representing the point (x,y). The
+ optional '!' indicates the
+ node position should not change (input-only).
+ <P>
+ If <A HREF=#d:dim>dim</A> is 3 or more, <B>point</B> may also have
+ the format "%f,%f,%f"('!') to represent the point (x,y,z).
+
+<DT><A NAME=k:pointf><STRONG>pointf</STRONG></A>
+<DD>"%lf,%lf" representing the point (x,y).
+
+<DT><A NAME=k:pointfList><STRONG>pointfList</STRONG></A>
+<DD>list of pointf, separated by spaces.
+
+<DT><A NAME=k:portPos><STRONG>portPos</STRONG></A>
+<DD>modifier indicating where on a node an edge should be aimed.
+ It has the form <TT><I>portname</I>[:<I>compass_point</I>]</TT>
+ or <TT><I>compass_point</I></TT>.
+ If the first form is used, the corresponding node must either have
+ <A HREF=shapes.html#record>record</A> shape with one of its fields
+ having the given <I>portname</I>,
+ or have an <A HREF=shapes.html#html>HTML-like label</A>, one of
+ whose components has a <TT>PORT</TT> attribute set to <I>portname</I>.
+ In this case, the edge is aimed for the center of the corresponding
+ field.
+ <P>
+ If a compass point is used, it must have the form
+ <TT>"n","ne","e","se","s","sw","w","nw"</TT>. This modifies the edge
+ placement to aim for the corresponding compass point on the port or,
+ in the second form where no <I>portname</I> is supplied, on the node
+ itself.
+ <P>
+ This attribute can be attached to an edge using the
+ <A HREF=#k:headport>headport</A> and
+ <A HREF=#k:tailport>tailport</A> attributes, or as part of the
+ edge description as in
+ <CENTER>
+ <TT>node1:port1 -> node2:port5:nw;</TT>
+ </CENTER>
+ <P>
+ Note that it is legal to have a portname the same as one of
+ the compass points. In this case, this reference will be resolved to
+ the port. Thus, if node <TT>A</TT> has a port <TT>w</TT>, then
+ <TT>headport=w</TT> will refer to the port and not the compass point.
+ At present, in this case, there is no way to specify that the compass
+ point should be used.
+
+<DT><A NAME=k:rankType><STRONG>rankType</STRONG></A>
+<DD>"same", "min", "source", "max", "sink"
+
+<DT><A NAME=k:rankdir><STRONG>rankdir</STRONG></A>
+<DD>"TB", "LR", "BT", "RL", corresponding to directed graphs drawn
+ from top to bottom, from left to right, from bottom to top, and from
+ right to left, respectively.
+
+<DT><A NAME=k:rect><STRONG>rect</STRONG></A>
+<DD>"%d,%d,%d,%d" The rect llx,lly,urx,ury gives the coordinates, in
+ points, of the lower-left corner (llx,lly) and the upper-right corner
+ (urx,ury).
+
+<DT><A NAME=k:shape><STRONG>shape</STRONG></A>
+<DD>A string specifying the <A HREF=shapes.html>shape</A> of a node.
+ There are three
+ main types of shapes :
+ <A HREF=shapes.html#polygon>polygon-based</A>,
+ <A HREF=shapes.html#record>record-based</A> and
+ <A HREF=shapes.html#epsf>user-defined</A>.
+
+<DT><A NAME=k:splineType><STRONG>splineType</STRONG></A>
+<DD>spline ( ';' spline )*<BR>
+ <TABLE>
+ <TR><TD ALIGN=right>where spline<TD>=<TD>(endp)? (startp)? point (triple)+</TR>
+ <TR><TD ALIGN=right>and triple<TD>=<TD>point point point</TR>
+ <TR><TD ALIGN=right>and endp<TD>=<TD>"e,%d,%d"</TR>
+ <TR><TD ALIGN=right>and startp<TD>=<TD>"s,%d,%d"</TR>
+ </TABLE>
+ If a spline has points p<SUB>1</SUB> p<SUB>2</SUB> p<SUB>3</SUB> ... p<SUB>n</SUB>, (n = 1 (mod 3)), the points
+ correspond to the control points of a B-spline from p<SUB>1</SUB> to p<SUB>n</SUB>. If startp
+ is given, it touches one node of the edge, and the arrowhead
+ goes from p<SUB>1</SUB> to startp. If startp is not given, p<SUB>1</SUB> touches a node.
+ Similarly for p<SUB>n</SUB> and endp.
+
+<DT><A NAME=k:startType><STRONG>startType</STRONG></A>
+<DD>has the syntax <TT>[<I>style</I>][<I>seed</I>]</TT>.
+ <P>
+ If <I>style</I> is present, it must be one of the strings <TT>"regular"</TT>,
+ <TT>"self"</TT>, or <TT>"random"</TT>. In the first case, the nodes are
+ placed regularly about a circle. In the second case,
+ an abbreviated version of neato is run to obtain the initial layout.
+ In the last case, the nodes are placed randomly in a unit square.
+ <P>
+ If <I>seed</I> is present, it specifies a seed for the random number
+ generator. If <I>seed</I> is a positive number, this is used as the
+ seed. If it is anything else,
+ the current time, and possibly the process id, is used to pick a seed,
+ thereby making the choice more random. In this case, the seed value
+ is stored in the graph.
+ <P>
+ If the value is just <TT>"random"</TT>, a time-based seed is chosen.
+ <P>
+ Note that input positions, specified by a node's
+ <A HREF=#d:pos>pos</A>
+ attribute, are only used when the style is <TT>"random"</TT>.
+
+<DT><A NAME=k:style><STRONG>style</STRONG></A>
+<DD>styleItem ( ',' styleItem )*<BR>
+ <TABLE>
+ <TR><TD ALIGN=right>where styleItem<TD>=<TD>name or name'('args')'</TR>
+ <TR><TD ALIGN=right>and args<TD>=<TD>name ( ',' name )*</TR>
+ <TR><TD ALIGN=right>and name<TD>=<TD>[^)(, &nbsp;][^)(,]*</TR>
+ </TABLE>
+ Note that whitespace characters are ignored, except for names which
+ can contain them. A
+ name cannot contain any comma, or left or right parenthesis, and it cannot
+ begin with a whitespace character.
+ <P>
+ At present, the recognized style names are
+ "dashed", "dotted", "solid", "invis" and "bold" for nodes and edges,
+ and "filled", "diagonals" and "rounded" for nodes only.
+ The styles "filled" and "rounded" are recognized for clusters.
+ Additional styles are available in
+ device-dependent form. Style lists are passed to device drivers, which
+ can use this to generate appropriate output.
+ <P>
+ The <TT>setlinewidth</TT> style value can be
+ used for more control over the width of node borders and edges than is
+ allowed by <TT>bold</TT>. This style value takes an argument, specifying the
+ width of the line in <A HREF=#points>points</A>. For example, <TT>style="bold"</TT> is
+ equivalent to <TT>style="setlinewidth(2)"</TT>.
+ <B>The use of <TT>setlinewidth</TT> is deprecated; one should use the
+ <A HREF=#d:penwidth><TT>penwidth</TT></A> attribute instead.</B>
+
+<DT><A NAME=k:viewPort><STRONG>viewPort</STRONG></A>
+<DD>"%lf,%lf,%lf,%lf,%lf" or "%lf,%lf,%lf,'%s'"
+ <P>
+ The viewPort <TT>W,H,Z,x,y</TT> or <TT>W,H,Z,N</TT>
+ specifies a viewport for the final image. The pair (W,H) gives the
+ dimensions (width and height) of the final image, in
+ <A HREF=#points>points</A>.
+ The optional Z is the zoom factor, i.e., the image in the original layout will be
+ W/Z by H/Z points in size. By default, Z is 1.
+ The optional last part is either a pair (x,y) giving a position in the original layout of the
+ graph, in
+ <A HREF=#points>points</A>, of the center of the viewport, or the name N
+ of a node whose center should used as the focus.
+ By default, the focus is the center of the graph bounding box, i.e.,
+ (bbx/2,bby/2), where "bbx,bby" is the
+ value of the bounding box attribute <A HREF=#a:bb>bb</A>.
+ <P>
+ Sample values: <TT>50,50,.5,'2.8 BSD'</T> or <TT>100,100,2,450,300</TT>.
+ The first will take the 100x100 point square centered on the node <TT>2.8 BSD</TT>
+ and scale it down by 0.5, yielding a 50x50 point final image.
+
+</DL>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/back.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/back.gif
new file mode 100644
index 0000000..31975e1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/back.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/both.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/both.gif
new file mode 100644
index 0000000..e39daf7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/both.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box.gif
new file mode 100644
index 0000000..ee4eb88
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box3d.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box3d.gif
new file mode 100644
index 0000000..42d0ba8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/box3d.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/circle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/circle.gif
new file mode 100644
index 0000000..3e1d1d2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/circle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colorlist.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colorlist.gif
new file mode 100644
index 0000000..5489d57
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colorlist.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colors.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colors.html
new file mode 100644
index 0000000..7db68e1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/colors.html
@@ -0,0 +1,3721 @@
+<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">
+<!--
+This is a generated document. Do not edit.
+-->
+<HTML VERSION=\"2.0\">
+<HEAD>
+<TITLE>Color Names</TITLE>
+</HEAD>
+<BODY BGCOLOR=#ffffff>
+
+<H1 ALIGN=CENTER>Color Names</H1>
+Color names are case-insensitive.
+<P>
+Use of all color schemes below except X11 are covered by this
+<A HREF=#brewer_license>license</A>.
+<HR>
+X11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f8ff><a title=#f0f8ff>aliceblue</a></td>
+<td bgcolor=#faebd7><a title=#faebd7>antiquewhite</a></td>
+<td bgcolor=#ffefdb><a title=#ffefdb>antiquewhite1</a></td>
+<td bgcolor=#eedfcc><a title=#eedfcc>antiquewhite2</a></td>
+<td bgcolor=#cdc0b0><a title=#cdc0b0>antiquewhite3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b8378><a title=#8b8378>antiquewhite4</a></td>
+<td bgcolor=#7fffd4><a title=#7fffd4>aquamarine</a></td>
+<td bgcolor=#7fffd4><a title=#7fffd4>aquamarine1</a></td>
+<td bgcolor=#76eec6><a title=#76eec6>aquamarine2</a></td>
+<td bgcolor=#66cdaa><a title=#66cdaa>aquamarine3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#458b74><a title=#458b74>aquamarine4</a></td>
+<td bgcolor=#f0ffff><a title=#f0ffff>azure</a></td>
+<td bgcolor=#f0ffff><a title=#f0ffff>azure1</a></td>
+<td bgcolor=#e0eeee><a title=#e0eeee>azure2</a></td>
+<td bgcolor=#c1cdcd><a title=#c1cdcd>azure3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#838b8b><a title=#838b8b>azure4</a></td>
+<td bgcolor=#f5f5dc><a title=#f5f5dc>beige</a></td>
+<td bgcolor=#ffe4c4><a title=#ffe4c4>bisque</a></td>
+<td bgcolor=#ffe4c4><a title=#ffe4c4>bisque1</a></td>
+<td bgcolor=#eed5b7><a title=#eed5b7>bisque2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cdb79e><a title=#cdb79e>bisque3</a></td>
+<td bgcolor=#8b7d6b><a title=#8b7d6b>bisque4</a></td>
+<td bgcolor=#000000><a title=#000000><font color=white>black</font></a></td>
+<td bgcolor=#ffebcd><a title=#ffebcd>blanchedalmond</a></td>
+<td bgcolor=#0000ff><a title=#0000ff>&nbsp;&nbsp;&nbsp;blue&nbsp;&nbsp;&nbsp;</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#0000ff><a title=#0000ff>blue1</a></td>
+<td bgcolor=#0000ee><a title=#0000ee>blue2</a></td>
+<td bgcolor=#0000cd><a title=#0000cd>blue3</a></td>
+<td bgcolor=#00008b><a title=#00008b>blue4</a></td>
+<td bgcolor=#8a2be2><a title=#8a2be2>blueviolet</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#a52a2a><a title=#a52a2a>brown</a></td>
+<td bgcolor=#ff4040><a title=#ff4040>brown1</a></td>
+<td bgcolor=#ee3b3b><a title=#ee3b3b>brown2</a></td>
+<td bgcolor=#cd3333><a title=#cd3333>brown3</a></td>
+<td bgcolor=#8b2323><a title=#8b2323>brown4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#deb887><a title=#deb887>burlywood</a></td>
+<td bgcolor=#ffd39b><a title=#ffd39b>burlywood1</a></td>
+<td bgcolor=#eec591><a title=#eec591>burlywood2</a></td>
+<td bgcolor=#cdaa7d><a title=#cdaa7d>burlywood3</a></td>
+<td bgcolor=#8b7355><a title=#8b7355>burlywood4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#5f9ea0><a title=#5f9ea0>cadetblue</a></td>
+<td bgcolor=#98f5ff><a title=#98f5ff>cadetblue1</a></td>
+<td bgcolor=#8ee5ee><a title=#8ee5ee>cadetblue2</a></td>
+<td bgcolor=#7ac5cd><a title=#7ac5cd>cadetblue3</a></td>
+<td bgcolor=#53868b><a title=#53868b>cadetblue4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#7fff00><a title=#7fff00>chartreuse</a></td>
+<td bgcolor=#7fff00><a title=#7fff00>chartreuse1</a></td>
+<td bgcolor=#76ee00><a title=#76ee00>chartreuse2</a></td>
+<td bgcolor=#66cd00><a title=#66cd00>chartreuse3</a></td>
+<td bgcolor=#458b00><a title=#458b00>chartreuse4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#d2691e><a title=#d2691e>chocolate</a></td>
+<td bgcolor=#ff7f24><a title=#ff7f24>chocolate1</a></td>
+<td bgcolor=#ee7621><a title=#ee7621>chocolate2</a></td>
+<td bgcolor=#cd661d><a title=#cd661d>chocolate3</a></td>
+<td bgcolor=#8b4513><a title=#8b4513>chocolate4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ff7f50><a title=#ff7f50>coral</a></td>
+<td bgcolor=#ff7256><a title=#ff7256>coral1</a></td>
+<td bgcolor=#ee6a50><a title=#ee6a50>coral2</a></td>
+<td bgcolor=#cd5b45><a title=#cd5b45>coral3</a></td>
+<td bgcolor=#8b3e2f><a title=#8b3e2f>coral4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#6495ed><a title=#6495ed>cornflowerblue</a></td>
+<td bgcolor=#fff8dc><a title=#fff8dc>cornsilk</a></td>
+<td bgcolor=#fff8dc><a title=#fff8dc>cornsilk1</a></td>
+<td bgcolor=#eee8cd><a title=#eee8cd>cornsilk2</a></td>
+<td bgcolor=#cdc8b1><a title=#cdc8b1>cornsilk3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b8878><a title=#8b8878>cornsilk4</a></td>
+<td bgcolor=#dc143c><a title=#dc143c>crimson</a></td>
+<td bgcolor=#00ffff><a title=#00ffff>&nbsp;&nbsp;&nbsp;cyan&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#00ffff><a title=#00ffff>cyan1</a></td>
+<td bgcolor=#00eeee><a title=#00eeee>cyan2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#00cdcd><a title=#00cdcd>cyan3</a></td>
+<td bgcolor=#008b8b><a title=#008b8b>cyan4</a></td>
+<td bgcolor=#b8860b><a title=#b8860b>darkgoldenrod</a></td>
+<td bgcolor=#ffb90f><a title=#ffb90f>darkgoldenrod1</a></td>
+<td bgcolor=#eead0e><a title=#eead0e>darkgoldenrod2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd950c><a title=#cd950c>darkgoldenrod3</a></td>
+<td bgcolor=#8b6508><a title=#8b6508>darkgoldenrod4</a></td>
+<td bgcolor=#006400><a title=#006400><font color=white>darkgreen</font></a></td>
+<td bgcolor=#bdb76b><a title=#bdb76b>darkkhaki</a></td>
+<td bgcolor=#556b2f><a title=#556b2f><font color=white>darkolivegreen</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#caff70><a title=#caff70>darkolivegreen1</a></td>
+<td bgcolor=#bcee68><a title=#bcee68>darkolivegreen2</a></td>
+<td bgcolor=#a2cd5a><a title=#a2cd5a>darkolivegreen3</a></td>
+<td bgcolor=#6e8b3d><a title=#6e8b3d>darkolivegreen4</a></td>
+<td bgcolor=#ff8c00><a title=#ff8c00>darkorange</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ff7f00><a title=#ff7f00>darkorange1</a></td>
+<td bgcolor=#ee7600><a title=#ee7600>darkorange2</a></td>
+<td bgcolor=#cd6600><a title=#cd6600>darkorange3</a></td>
+<td bgcolor=#8b4500><a title=#8b4500>darkorange4</a></td>
+<td bgcolor=#9932cc><a title=#9932cc>darkorchid</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#bf3eff><a title=#bf3eff>darkorchid1</a></td>
+<td bgcolor=#b23aee><a title=#b23aee>darkorchid2</a></td>
+<td bgcolor=#9a32cd><a title=#9a32cd>darkorchid3</a></td>
+<td bgcolor=#68228b><a title=#68228b>darkorchid4</a></td>
+<td bgcolor=#e9967a><a title=#e9967a>darksalmon</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8fbc8f><a title=#8fbc8f>darkseagreen</a></td>
+<td bgcolor=#c1ffc1><a title=#c1ffc1>darkseagreen1</a></td>
+<td bgcolor=#b4eeb4><a title=#b4eeb4>darkseagreen2</a></td>
+<td bgcolor=#9bcd9b><a title=#9bcd9b>darkseagreen3</a></td>
+<td bgcolor=#698b69><a title=#698b69>darkseagreen4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#483d8b><a title=#483d8b>darkslateblue</a></td>
+<td bgcolor=#2f4f4f><a title=#2f4f4f><font color=white>darkslategray</font></a></td>
+<td bgcolor=#97ffff><a title=#97ffff>darkslategray1</a></td>
+<td bgcolor=#8deeee><a title=#8deeee>darkslategray2</a></td>
+<td bgcolor=#79cdcd><a title=#79cdcd>darkslategray3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#528b8b><a title=#528b8b>darkslategray4</a></td>
+<td bgcolor=#2f4f4f><a title=#2f4f4f><font color=white>darkslategrey</font></a></td>
+<td bgcolor=#00ced1><a title=#00ced1>darkturquoise</a></td>
+<td bgcolor=#9400d3><a title=#9400d3>darkviolet</a></td>
+<td bgcolor=#ff1493><a title=#ff1493>deeppink</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ff1493><a title=#ff1493>deeppink1</a></td>
+<td bgcolor=#ee1289><a title=#ee1289>deeppink2</a></td>
+<td bgcolor=#cd1076><a title=#cd1076>deeppink3</a></td>
+<td bgcolor=#8b0a50><a title=#8b0a50>deeppink4</a></td>
+<td bgcolor=#00bfff><a title=#00bfff>deepskyblue</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#00bfff><a title=#00bfff>deepskyblue1</a></td>
+<td bgcolor=#00b2ee><a title=#00b2ee>deepskyblue2</a></td>
+<td bgcolor=#009acd><a title=#009acd>deepskyblue3</a></td>
+<td bgcolor=#00688b><a title=#00688b>deepskyblue4</a></td>
+<td bgcolor=#696969><a title=#696969><font color=white>dimgray</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#696969><a title=#696969><font color=white>dimgrey</font></a></td>
+<td bgcolor=#1e90ff><a title=#1e90ff>dodgerblue</a></td>
+<td bgcolor=#1e90ff><a title=#1e90ff>dodgerblue1</a></td>
+<td bgcolor=#1c86ee><a title=#1c86ee>dodgerblue2</a></td>
+<td bgcolor=#1874cd><a title=#1874cd>dodgerblue3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#104e8b><a title=#104e8b>dodgerblue4</a></td>
+<td bgcolor=#b22222><a title=#b22222>firebrick</a></td>
+<td bgcolor=#ff3030><a title=#ff3030>firebrick1</a></td>
+<td bgcolor=#ee2c2c><a title=#ee2c2c>firebrick2</a></td>
+<td bgcolor=#cd2626><a title=#cd2626>firebrick3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b1a1a><a title=#8b1a1a>firebrick4</a></td>
+<td bgcolor=#fffaf0><a title=#fffaf0>floralwhite</a></td>
+<td bgcolor=#228b22><a title=#228b22>forestgreen</a></td>
+<td bgcolor=#dcdcdc><a title=#dcdcdc>gainsboro</a></td>
+<td bgcolor=#f8f8ff><a title=#f8f8ff>ghostwhite</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ffd700><a title=#ffd700>&nbsp;&nbsp;&nbsp;gold&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffd700><a title=#ffd700>gold1</a></td>
+<td bgcolor=#eec900><a title=#eec900>gold2</a></td>
+<td bgcolor=#cdad00><a title=#cdad00>gold3</a></td>
+<td bgcolor=#8b7500><a title=#8b7500>gold4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#daa520><a title=#daa520>goldenrod</a></td>
+<td bgcolor=#ffc125><a title=#ffc125>goldenrod1</a></td>
+<td bgcolor=#eeb422><a title=#eeb422>goldenrod2</a></td>
+<td bgcolor=#cd9b1d><a title=#cd9b1d>goldenrod3</a></td>
+<td bgcolor=#8b6914><a title=#8b6914>goldenrod4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#c0c0c0><a title=#c0c0c0>&nbsp;&nbsp;&nbsp;gray&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#000000><a title=#000000><font color=white>gray0</font></a></td>
+<td bgcolor=#030303><a title=#030303><font color=white>gray1</font></a></td>
+<td bgcolor=#050505><a title=#050505><font color=white>gray2</font></a></td>
+<td bgcolor=#080808><a title=#080808><font color=white>gray3</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#0a0a0a><a title=#0a0a0a><font color=white>gray4</font></a></td>
+<td bgcolor=#0d0d0d><a title=#0d0d0d><font color=white>gray5</font></a></td>
+<td bgcolor=#0f0f0f><a title=#0f0f0f><font color=white>gray6</font></a></td>
+<td bgcolor=#121212><a title=#121212><font color=white>gray7</font></a></td>
+<td bgcolor=#141414><a title=#141414><font color=white>gray8</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#171717><a title=#171717><font color=white>gray9</font></a></td>
+<td bgcolor=#1a1a1a><a title=#1a1a1a><font color=white>gray10</font></a></td>
+<td bgcolor=#1c1c1c><a title=#1c1c1c><font color=white>gray11</font></a></td>
+<td bgcolor=#1f1f1f><a title=#1f1f1f><font color=white>gray12</font></a></td>
+<td bgcolor=#212121><a title=#212121><font color=white>gray13</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#242424><a title=#242424><font color=white>gray14</font></a></td>
+<td bgcolor=#262626><a title=#262626><font color=white>gray15</font></a></td>
+<td bgcolor=#292929><a title=#292929><font color=white>gray16</font></a></td>
+<td bgcolor=#2b2b2b><a title=#2b2b2b><font color=white>gray17</font></a></td>
+<td bgcolor=#2e2e2e><a title=#2e2e2e><font color=white>gray18</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#303030><a title=#303030><font color=white>gray19</font></a></td>
+<td bgcolor=#333333><a title=#333333><font color=white>gray20</font></a></td>
+<td bgcolor=#363636><a title=#363636><font color=white>gray21</font></a></td>
+<td bgcolor=#383838><a title=#383838><font color=white>gray22</font></a></td>
+<td bgcolor=#3b3b3b><a title=#3b3b3b><font color=white>gray23</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#3d3d3d><a title=#3d3d3d><font color=white>gray24</font></a></td>
+<td bgcolor=#404040><a title=#404040><font color=white>gray25</font></a></td>
+<td bgcolor=#424242><a title=#424242><font color=white>gray26</font></a></td>
+<td bgcolor=#454545><a title=#454545><font color=white>gray27</font></a></td>
+<td bgcolor=#474747><a title=#474747><font color=white>gray28</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#4a4a4a><a title=#4a4a4a><font color=white>gray29</font></a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>gray30</font></a></td>
+<td bgcolor=#4f4f4f><a title=#4f4f4f><font color=white>gray31</font></a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>gray32</font></a></td>
+<td bgcolor=#545454><a title=#545454><font color=white>gray33</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#575757><a title=#575757><font color=white>gray34</font></a></td>
+<td bgcolor=#595959><a title=#595959><font color=white>gray35</font></a></td>
+<td bgcolor=#5c5c5c><a title=#5c5c5c><font color=white>gray36</font></a></td>
+<td bgcolor=#5e5e5e><a title=#5e5e5e><font color=white>gray37</font></a></td>
+<td bgcolor=#616161><a title=#616161><font color=white>gray38</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#636363><a title=#636363><font color=white>gray39</font></a></td>
+<td bgcolor=#666666><a title=#666666><font color=white>gray40</font></a></td>
+<td bgcolor=#696969><a title=#696969><font color=white>gray41</font></a></td>
+<td bgcolor=#6b6b6b><a title=#6b6b6b><font color=white>gray42</font></a></td>
+<td bgcolor=#6e6e6e><a title=#6e6e6e><font color=white>gray43</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#707070><a title=#707070><font color=white>gray44</font></a></td>
+<td bgcolor=#737373><a title=#737373><font color=white>gray45</font></a></td>
+<td bgcolor=#757575><a title=#757575><font color=white>gray46</font></a></td>
+<td bgcolor=#787878><a title=#787878><font color=white>gray47</font></a></td>
+<td bgcolor=#7a7a7a><a title=#7a7a7a><font color=white>gray48</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#7d7d7d><a title=#7d7d7d><font color=white>gray49</font></a></td>
+<td bgcolor=#7f7f7f><a title=#7f7f7f><font color=white>gray50</font></a></td>
+<td bgcolor=#828282><a title=#828282><font color=white>gray51</font></a></td>
+<td bgcolor=#858585><a title=#858585>gray52</a></td>
+<td bgcolor=#878787><a title=#878787>gray53</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8a8a8a><a title=#8a8a8a>gray54</a></td>
+<td bgcolor=#8c8c8c><a title=#8c8c8c>gray55</a></td>
+<td bgcolor=#8f8f8f><a title=#8f8f8f>gray56</a></td>
+<td bgcolor=#919191><a title=#919191>gray57</a></td>
+<td bgcolor=#949494><a title=#949494>gray58</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#969696><a title=#969696>gray59</a></td>
+<td bgcolor=#999999><a title=#999999>gray60</a></td>
+<td bgcolor=#9c9c9c><a title=#9c9c9c>gray61</a></td>
+<td bgcolor=#9e9e9e><a title=#9e9e9e>gray62</a></td>
+<td bgcolor=#a1a1a1><a title=#a1a1a1>gray63</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#a3a3a3><a title=#a3a3a3>gray64</a></td>
+<td bgcolor=#a6a6a6><a title=#a6a6a6>gray65</a></td>
+<td bgcolor=#a8a8a8><a title=#a8a8a8>gray66</a></td>
+<td bgcolor=#ababab><a title=#ababab>gray67</a></td>
+<td bgcolor=#adadad><a title=#adadad>gray68</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#b0b0b0><a title=#b0b0b0>gray69</a></td>
+<td bgcolor=#b3b3b3><a title=#b3b3b3>gray70</a></td>
+<td bgcolor=#b5b5b5><a title=#b5b5b5>gray71</a></td>
+<td bgcolor=#b8b8b8><a title=#b8b8b8>gray72</a></td>
+<td bgcolor=#bababa><a title=#bababa>gray73</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>gray74</a></td>
+<td bgcolor=#bfbfbf><a title=#bfbfbf>gray75</a></td>
+<td bgcolor=#c2c2c2><a title=#c2c2c2>gray76</a></td>
+<td bgcolor=#c4c4c4><a title=#c4c4c4>gray77</a></td>
+<td bgcolor=#c7c7c7><a title=#c7c7c7>gray78</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#c9c9c9><a title=#c9c9c9>gray79</a></td>
+<td bgcolor=#cccccc><a title=#cccccc>gray80</a></td>
+<td bgcolor=#cfcfcf><a title=#cfcfcf>gray81</a></td>
+<td bgcolor=#d1d1d1><a title=#d1d1d1>gray82</a></td>
+<td bgcolor=#d4d4d4><a title=#d4d4d4>gray83</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#d6d6d6><a title=#d6d6d6>gray84</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>gray85</a></td>
+<td bgcolor=#dbdbdb><a title=#dbdbdb>gray86</a></td>
+<td bgcolor=#dedede><a title=#dedede>gray87</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>gray88</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#e3e3e3><a title=#e3e3e3>gray89</a></td>
+<td bgcolor=#e5e5e5><a title=#e5e5e5>gray90</a></td>
+<td bgcolor=#e8e8e8><a title=#e8e8e8>gray91</a></td>
+<td bgcolor=#ebebeb><a title=#ebebeb>gray92</a></td>
+<td bgcolor=#ededed><a title=#ededed>gray93</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#f0f0f0><a title=#f0f0f0>gray94</a></td>
+<td bgcolor=#f2f2f2><a title=#f2f2f2>gray95</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>gray96</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>gray97</a></td>
+<td bgcolor=#fafafa><a title=#fafafa>gray98</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#fcfcfc><a title=#fcfcfc>gray99</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>gray100</a></td>
+<td bgcolor=#00ff00><a title=#00ff00>green</a></td>
+<td bgcolor=#00ff00><a title=#00ff00>green1</a></td>
+<td bgcolor=#00ee00><a title=#00ee00>green2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#00cd00><a title=#00cd00>green3</a></td>
+<td bgcolor=#008b00><a title=#008b00>green4</a></td>
+<td bgcolor=#adff2f><a title=#adff2f>greenyellow</a></td>
+<td bgcolor=#c0c0c0><a title=#c0c0c0>&nbsp;&nbsp;&nbsp;grey&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#000000><a title=#000000><font color=white>grey0</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#030303><a title=#030303><font color=white>grey1</font></a></td>
+<td bgcolor=#050505><a title=#050505><font color=white>grey2</font></a></td>
+<td bgcolor=#080808><a title=#080808><font color=white>grey3</font></a></td>
+<td bgcolor=#0a0a0a><a title=#0a0a0a><font color=white>grey4</font></a></td>
+<td bgcolor=#0d0d0d><a title=#0d0d0d><font color=white>grey5</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#0f0f0f><a title=#0f0f0f><font color=white>grey6</font></a></td>
+<td bgcolor=#121212><a title=#121212><font color=white>grey7</font></a></td>
+<td bgcolor=#141414><a title=#141414><font color=white>grey8</font></a></td>
+<td bgcolor=#171717><a title=#171717><font color=white>grey9</font></a></td>
+<td bgcolor=#1a1a1a><a title=#1a1a1a><font color=white>grey10</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#1c1c1c><a title=#1c1c1c><font color=white>grey11</font></a></td>
+<td bgcolor=#1f1f1f><a title=#1f1f1f><font color=white>grey12</font></a></td>
+<td bgcolor=#212121><a title=#212121><font color=white>grey13</font></a></td>
+<td bgcolor=#242424><a title=#242424><font color=white>grey14</font></a></td>
+<td bgcolor=#262626><a title=#262626><font color=white>grey15</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#292929><a title=#292929><font color=white>grey16</font></a></td>
+<td bgcolor=#2b2b2b><a title=#2b2b2b><font color=white>grey17</font></a></td>
+<td bgcolor=#2e2e2e><a title=#2e2e2e><font color=white>grey18</font></a></td>
+<td bgcolor=#303030><a title=#303030><font color=white>grey19</font></a></td>
+<td bgcolor=#333333><a title=#333333><font color=white>grey20</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#363636><a title=#363636><font color=white>grey21</font></a></td>
+<td bgcolor=#383838><a title=#383838><font color=white>grey22</font></a></td>
+<td bgcolor=#3b3b3b><a title=#3b3b3b><font color=white>grey23</font></a></td>
+<td bgcolor=#3d3d3d><a title=#3d3d3d><font color=white>grey24</font></a></td>
+<td bgcolor=#404040><a title=#404040><font color=white>grey25</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#424242><a title=#424242><font color=white>grey26</font></a></td>
+<td bgcolor=#454545><a title=#454545><font color=white>grey27</font></a></td>
+<td bgcolor=#474747><a title=#474747><font color=white>grey28</font></a></td>
+<td bgcolor=#4a4a4a><a title=#4a4a4a><font color=white>grey29</font></a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>grey30</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#4f4f4f><a title=#4f4f4f><font color=white>grey31</font></a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>grey32</font></a></td>
+<td bgcolor=#545454><a title=#545454><font color=white>grey33</font></a></td>
+<td bgcolor=#575757><a title=#575757><font color=white>grey34</font></a></td>
+<td bgcolor=#595959><a title=#595959><font color=white>grey35</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#5c5c5c><a title=#5c5c5c><font color=white>grey36</font></a></td>
+<td bgcolor=#5e5e5e><a title=#5e5e5e><font color=white>grey37</font></a></td>
+<td bgcolor=#616161><a title=#616161><font color=white>grey38</font></a></td>
+<td bgcolor=#636363><a title=#636363><font color=white>grey39</font></a></td>
+<td bgcolor=#666666><a title=#666666><font color=white>grey40</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#696969><a title=#696969><font color=white>grey41</font></a></td>
+<td bgcolor=#6b6b6b><a title=#6b6b6b><font color=white>grey42</font></a></td>
+<td bgcolor=#6e6e6e><a title=#6e6e6e><font color=white>grey43</font></a></td>
+<td bgcolor=#707070><a title=#707070><font color=white>grey44</font></a></td>
+<td bgcolor=#737373><a title=#737373><font color=white>grey45</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#757575><a title=#757575><font color=white>grey46</font></a></td>
+<td bgcolor=#787878><a title=#787878><font color=white>grey47</font></a></td>
+<td bgcolor=#7a7a7a><a title=#7a7a7a><font color=white>grey48</font></a></td>
+<td bgcolor=#7d7d7d><a title=#7d7d7d><font color=white>grey49</font></a></td>
+<td bgcolor=#7f7f7f><a title=#7f7f7f><font color=white>grey50</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#828282><a title=#828282><font color=white>grey51</font></a></td>
+<td bgcolor=#858585><a title=#858585>grey52</a></td>
+<td bgcolor=#878787><a title=#878787>grey53</a></td>
+<td bgcolor=#8a8a8a><a title=#8a8a8a>grey54</a></td>
+<td bgcolor=#8c8c8c><a title=#8c8c8c>grey55</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8f8f8f><a title=#8f8f8f>grey56</a></td>
+<td bgcolor=#919191><a title=#919191>grey57</a></td>
+<td bgcolor=#949494><a title=#949494>grey58</a></td>
+<td bgcolor=#969696><a title=#969696>grey59</a></td>
+<td bgcolor=#999999><a title=#999999>grey60</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#9c9c9c><a title=#9c9c9c>grey61</a></td>
+<td bgcolor=#9e9e9e><a title=#9e9e9e>grey62</a></td>
+<td bgcolor=#a1a1a1><a title=#a1a1a1>grey63</a></td>
+<td bgcolor=#a3a3a3><a title=#a3a3a3>grey64</a></td>
+<td bgcolor=#a6a6a6><a title=#a6a6a6>grey65</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#a8a8a8><a title=#a8a8a8>grey66</a></td>
+<td bgcolor=#ababab><a title=#ababab>grey67</a></td>
+<td bgcolor=#adadad><a title=#adadad>grey68</a></td>
+<td bgcolor=#b0b0b0><a title=#b0b0b0>grey69</a></td>
+<td bgcolor=#b3b3b3><a title=#b3b3b3>grey70</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#b5b5b5><a title=#b5b5b5>grey71</a></td>
+<td bgcolor=#b8b8b8><a title=#b8b8b8>grey72</a></td>
+<td bgcolor=#bababa><a title=#bababa>grey73</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>grey74</a></td>
+<td bgcolor=#bfbfbf><a title=#bfbfbf>grey75</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#c2c2c2><a title=#c2c2c2>grey76</a></td>
+<td bgcolor=#c4c4c4><a title=#c4c4c4>grey77</a></td>
+<td bgcolor=#c7c7c7><a title=#c7c7c7>grey78</a></td>
+<td bgcolor=#c9c9c9><a title=#c9c9c9>grey79</a></td>
+<td bgcolor=#cccccc><a title=#cccccc>grey80</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cfcfcf><a title=#cfcfcf>grey81</a></td>
+<td bgcolor=#d1d1d1><a title=#d1d1d1>grey82</a></td>
+<td bgcolor=#d4d4d4><a title=#d4d4d4>grey83</a></td>
+<td bgcolor=#d6d6d6><a title=#d6d6d6>grey84</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>grey85</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#dbdbdb><a title=#dbdbdb>grey86</a></td>
+<td bgcolor=#dedede><a title=#dedede>grey87</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>grey88</a></td>
+<td bgcolor=#e3e3e3><a title=#e3e3e3>grey89</a></td>
+<td bgcolor=#e5e5e5><a title=#e5e5e5>grey90</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#e8e8e8><a title=#e8e8e8>grey91</a></td>
+<td bgcolor=#ebebeb><a title=#ebebeb>grey92</a></td>
+<td bgcolor=#ededed><a title=#ededed>grey93</a></td>
+<td bgcolor=#f0f0f0><a title=#f0f0f0>grey94</a></td>
+<td bgcolor=#f2f2f2><a title=#f2f2f2>grey95</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>grey96</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>grey97</a></td>
+<td bgcolor=#fafafa><a title=#fafafa>grey98</a></td>
+<td bgcolor=#fcfcfc><a title=#fcfcfc>grey99</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>grey100</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#f0fff0><a title=#f0fff0>honeydew</a></td>
+<td bgcolor=#f0fff0><a title=#f0fff0>honeydew1</a></td>
+<td bgcolor=#e0eee0><a title=#e0eee0>honeydew2</a></td>
+<td bgcolor=#c1cdc1><a title=#c1cdc1>honeydew3</a></td>
+<td bgcolor=#838b83><a title=#838b83>honeydew4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ff69b4><a title=#ff69b4>hotpink</a></td>
+<td bgcolor=#ff6eb4><a title=#ff6eb4>hotpink1</a></td>
+<td bgcolor=#ee6aa7><a title=#ee6aa7>hotpink2</a></td>
+<td bgcolor=#cd6090><a title=#cd6090>hotpink3</a></td>
+<td bgcolor=#8b3a62><a title=#8b3a62>hotpink4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd5c5c><a title=#cd5c5c>indianred</a></td>
+<td bgcolor=#ff6a6a><a title=#ff6a6a>indianred1</a></td>
+<td bgcolor=#ee6363><a title=#ee6363>indianred2</a></td>
+<td bgcolor=#cd5555><a title=#cd5555>indianred3</a></td>
+<td bgcolor=#8b3a3a><a title=#8b3a3a>indianred4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#4b0082><a title=#4b0082><font color=white>indigo</font></a></td>
+<td bgcolor=#fffff0><a title=#fffff0>ivory</a></td>
+<td bgcolor=#fffff0><a title=#fffff0>ivory1</a></td>
+<td bgcolor=#eeeee0><a title=#eeeee0>ivory2</a></td>
+<td bgcolor=#cdcdc1><a title=#cdcdc1>ivory3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b8b83><a title=#8b8b83>ivory4</a></td>
+<td bgcolor=#f0e68c><a title=#f0e68c>khaki</a></td>
+<td bgcolor=#fff68f><a title=#fff68f>khaki1</a></td>
+<td bgcolor=#eee685><a title=#eee685>khaki2</a></td>
+<td bgcolor=#cdc673><a title=#cdc673>khaki3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b864e><a title=#8b864e>khaki4</a></td>
+<td bgcolor=#e6e6fa><a title=#e6e6fa>lavender</a></td>
+<td bgcolor=#fff0f5><a title=#fff0f5>lavenderblush</a></td>
+<td bgcolor=#fff0f5><a title=#fff0f5>lavenderblush1</a></td>
+<td bgcolor=#eee0e5><a title=#eee0e5>lavenderblush2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cdc1c5><a title=#cdc1c5>lavenderblush3</a></td>
+<td bgcolor=#8b8386><a title=#8b8386>lavenderblush4</a></td>
+<td bgcolor=#7cfc00><a title=#7cfc00>lawngreen</a></td>
+<td bgcolor=#fffacd><a title=#fffacd>lemonchiffon</a></td>
+<td bgcolor=#fffacd><a title=#fffacd>lemonchiffon1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#eee9bf><a title=#eee9bf>lemonchiffon2</a></td>
+<td bgcolor=#cdc9a5><a title=#cdc9a5>lemonchiffon3</a></td>
+<td bgcolor=#8b8970><a title=#8b8970>lemonchiffon4</a></td>
+<td bgcolor=#add8e6><a title=#add8e6>lightblue</a></td>
+<td bgcolor=#bfefff><a title=#bfefff>lightblue1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#b2dfee><a title=#b2dfee>lightblue2</a></td>
+<td bgcolor=#9ac0cd><a title=#9ac0cd>lightblue3</a></td>
+<td bgcolor=#68838b><a title=#68838b>lightblue4</a></td>
+<td bgcolor=#f08080><a title=#f08080>lightcoral</a></td>
+<td bgcolor=#e0ffff><a title=#e0ffff>lightcyan</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#e0ffff><a title=#e0ffff>lightcyan1</a></td>
+<td bgcolor=#d1eeee><a title=#d1eeee>lightcyan2</a></td>
+<td bgcolor=#b4cdcd><a title=#b4cdcd>lightcyan3</a></td>
+<td bgcolor=#7a8b8b><a title=#7a8b8b>lightcyan4</a></td>
+<td bgcolor=#eedd82><a title=#eedd82>lightgoldenrod</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ffec8b><a title=#ffec8b>lightgoldenrod1</a></td>
+<td bgcolor=#eedc82><a title=#eedc82>lightgoldenrod2</a></td>
+<td bgcolor=#cdbe70><a title=#cdbe70>lightgoldenrod3</a></td>
+<td bgcolor=#8b814c><a title=#8b814c>lightgoldenrod4</a></td>
+<td bgcolor=#fafad2><a title=#fafad2>lightgoldenrodyellow</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#d3d3d3><a title=#d3d3d3>lightgray</a></td>
+<td bgcolor=#d3d3d3><a title=#d3d3d3>lightgrey</a></td>
+<td bgcolor=#ffb6c1><a title=#ffb6c1>lightpink</a></td>
+<td bgcolor=#ffaeb9><a title=#ffaeb9>lightpink1</a></td>
+<td bgcolor=#eea2ad><a title=#eea2ad>lightpink2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd8c95><a title=#cd8c95>lightpink3</a></td>
+<td bgcolor=#8b5f65><a title=#8b5f65>lightpink4</a></td>
+<td bgcolor=#ffa07a><a title=#ffa07a>lightsalmon</a></td>
+<td bgcolor=#ffa07a><a title=#ffa07a>lightsalmon1</a></td>
+<td bgcolor=#ee9572><a title=#ee9572>lightsalmon2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd8162><a title=#cd8162>lightsalmon3</a></td>
+<td bgcolor=#8b5742><a title=#8b5742>lightsalmon4</a></td>
+<td bgcolor=#20b2aa><a title=#20b2aa>lightseagreen</a></td>
+<td bgcolor=#87cefa><a title=#87cefa>lightskyblue</a></td>
+<td bgcolor=#b0e2ff><a title=#b0e2ff>lightskyblue1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#a4d3ee><a title=#a4d3ee>lightskyblue2</a></td>
+<td bgcolor=#8db6cd><a title=#8db6cd>lightskyblue3</a></td>
+<td bgcolor=#607b8b><a title=#607b8b>lightskyblue4</a></td>
+<td bgcolor=#8470ff><a title=#8470ff>lightslateblue</a></td>
+<td bgcolor=#778899><a title=#778899>lightslategray</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#778899><a title=#778899>lightslategrey</a></td>
+<td bgcolor=#b0c4de><a title=#b0c4de>lightsteelblue</a></td>
+<td bgcolor=#cae1ff><a title=#cae1ff>lightsteelblue1</a></td>
+<td bgcolor=#bcd2ee><a title=#bcd2ee>lightsteelblue2</a></td>
+<td bgcolor=#a2b5cd><a title=#a2b5cd>lightsteelblue3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#6e7b8b><a title=#6e7b8b>lightsteelblue4</a></td>
+<td bgcolor=#ffffe0><a title=#ffffe0>lightyellow</a></td>
+<td bgcolor=#ffffe0><a title=#ffffe0>lightyellow1</a></td>
+<td bgcolor=#eeeed1><a title=#eeeed1>lightyellow2</a></td>
+<td bgcolor=#cdcdb4><a title=#cdcdb4>lightyellow3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b8b7a><a title=#8b8b7a>lightyellow4</a></td>
+<td bgcolor=#32cd32><a title=#32cd32>limegreen</a></td>
+<td bgcolor=#faf0e6><a title=#faf0e6>linen</a></td>
+<td bgcolor=#ff00ff><a title=#ff00ff>magenta</a></td>
+<td bgcolor=#ff00ff><a title=#ff00ff>magenta1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ee00ee><a title=#ee00ee>magenta2</a></td>
+<td bgcolor=#cd00cd><a title=#cd00cd>magenta3</a></td>
+<td bgcolor=#8b008b><a title=#8b008b>magenta4</a></td>
+<td bgcolor=#b03060><a title=#b03060>maroon</a></td>
+<td bgcolor=#ff34b3><a title=#ff34b3>maroon1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ee30a7><a title=#ee30a7>maroon2</a></td>
+<td bgcolor=#cd2990><a title=#cd2990>maroon3</a></td>
+<td bgcolor=#8b1c62><a title=#8b1c62>maroon4</a></td>
+<td bgcolor=#66cdaa><a title=#66cdaa>mediumaquamarine</a></td>
+<td bgcolor=#0000cd><a title=#0000cd>mediumblue</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ba55d3><a title=#ba55d3>mediumorchid</a></td>
+<td bgcolor=#e066ff><a title=#e066ff>mediumorchid1</a></td>
+<td bgcolor=#d15fee><a title=#d15fee>mediumorchid2</a></td>
+<td bgcolor=#b452cd><a title=#b452cd>mediumorchid3</a></td>
+<td bgcolor=#7a378b><a title=#7a378b>mediumorchid4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#9370db><a title=#9370db>mediumpurple</a></td>
+<td bgcolor=#ab82ff><a title=#ab82ff>mediumpurple1</a></td>
+<td bgcolor=#9f79ee><a title=#9f79ee>mediumpurple2</a></td>
+<td bgcolor=#8968cd><a title=#8968cd>mediumpurple3</a></td>
+<td bgcolor=#5d478b><a title=#5d478b>mediumpurple4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#3cb371><a title=#3cb371>mediumseagreen</a></td>
+<td bgcolor=#7b68ee><a title=#7b68ee>mediumslateblue</a></td>
+<td bgcolor=#00fa9a><a title=#00fa9a>mediumspringgreen</a></td>
+<td bgcolor=#48d1cc><a title=#48d1cc>mediumturquoise</a></td>
+<td bgcolor=#c71585><a title=#c71585>mediumvioletred</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#191970><a title=#191970><font color=white>midnightblue</font></a></td>
+<td bgcolor=#f5fffa><a title=#f5fffa>mintcream</a></td>
+<td bgcolor=#ffe4e1><a title=#ffe4e1>mistyrose</a></td>
+<td bgcolor=#ffe4e1><a title=#ffe4e1>mistyrose1</a></td>
+<td bgcolor=#eed5d2><a title=#eed5d2>mistyrose2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cdb7b5><a title=#cdb7b5>mistyrose3</a></td>
+<td bgcolor=#8b7d7b><a title=#8b7d7b>mistyrose4</a></td>
+<td bgcolor=#ffe4b5><a title=#ffe4b5>moccasin</a></td>
+<td bgcolor=#ffdead><a title=#ffdead>navajowhite</a></td>
+<td bgcolor=#ffdead><a title=#ffdead>navajowhite1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#eecfa1><a title=#eecfa1>navajowhite2</a></td>
+<td bgcolor=#cdb38b><a title=#cdb38b>navajowhite3</a></td>
+<td bgcolor=#8b795e><a title=#8b795e>navajowhite4</a></td>
+<td bgcolor=#000080><a title=#000080><font color=white>&nbsp;&nbsp;&nbsp;navy&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#000080><a title=#000080><font color=white>navyblue</font></a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#fdf5e6><a title=#fdf5e6>oldlace</a></td>
+<td bgcolor=#6b8e23><a title=#6b8e23>olivedrab</a></td>
+<td bgcolor=#c0ff3e><a title=#c0ff3e>olivedrab1</a></td>
+<td bgcolor=#b3ee3a><a title=#b3ee3a>olivedrab2</a></td>
+<td bgcolor=#9acd32><a title=#9acd32>olivedrab3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#698b22><a title=#698b22>olivedrab4</a></td>
+<td bgcolor=#ffa500><a title=#ffa500>orange</a></td>
+<td bgcolor=#ffa500><a title=#ffa500>orange1</a></td>
+<td bgcolor=#ee9a00><a title=#ee9a00>orange2</a></td>
+<td bgcolor=#cd8500><a title=#cd8500>orange3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b5a00><a title=#8b5a00>orange4</a></td>
+<td bgcolor=#ff4500><a title=#ff4500>orangered</a></td>
+<td bgcolor=#ff4500><a title=#ff4500>orangered1</a></td>
+<td bgcolor=#ee4000><a title=#ee4000>orangered2</a></td>
+<td bgcolor=#cd3700><a title=#cd3700>orangered3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b2500><a title=#8b2500>orangered4</a></td>
+<td bgcolor=#da70d6><a title=#da70d6>orchid</a></td>
+<td bgcolor=#ff83fa><a title=#ff83fa>orchid1</a></td>
+<td bgcolor=#ee7ae9><a title=#ee7ae9>orchid2</a></td>
+<td bgcolor=#cd69c9><a title=#cd69c9>orchid3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b4789><a title=#8b4789>orchid4</a></td>
+<td bgcolor=#eee8aa><a title=#eee8aa>palegoldenrod</a></td>
+<td bgcolor=#98fb98><a title=#98fb98>palegreen</a></td>
+<td bgcolor=#9aff9a><a title=#9aff9a>palegreen1</a></td>
+<td bgcolor=#90ee90><a title=#90ee90>palegreen2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#7ccd7c><a title=#7ccd7c>palegreen3</a></td>
+<td bgcolor=#548b54><a title=#548b54>palegreen4</a></td>
+<td bgcolor=#afeeee><a title=#afeeee>paleturquoise</a></td>
+<td bgcolor=#bbffff><a title=#bbffff>paleturquoise1</a></td>
+<td bgcolor=#aeeeee><a title=#aeeeee>paleturquoise2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#96cdcd><a title=#96cdcd>paleturquoise3</a></td>
+<td bgcolor=#668b8b><a title=#668b8b>paleturquoise4</a></td>
+<td bgcolor=#db7093><a title=#db7093>palevioletred</a></td>
+<td bgcolor=#ff82ab><a title=#ff82ab>palevioletred1</a></td>
+<td bgcolor=#ee799f><a title=#ee799f>palevioletred2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd6889><a title=#cd6889>palevioletred3</a></td>
+<td bgcolor=#8b475d><a title=#8b475d>palevioletred4</a></td>
+<td bgcolor=#ffefd5><a title=#ffefd5>papayawhip</a></td>
+<td bgcolor=#ffdab9><a title=#ffdab9>peachpuff</a></td>
+<td bgcolor=#ffdab9><a title=#ffdab9>peachpuff1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#eecbad><a title=#eecbad>peachpuff2</a></td>
+<td bgcolor=#cdaf95><a title=#cdaf95>peachpuff3</a></td>
+<td bgcolor=#8b7765><a title=#8b7765>peachpuff4</a></td>
+<td bgcolor=#cd853f><a title=#cd853f>&nbsp;&nbsp;&nbsp;peru&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffc0cb><a title=#ffc0cb>&nbsp;&nbsp;&nbsp;pink&nbsp;&nbsp;&nbsp;</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ffb5c5><a title=#ffb5c5>pink1</a></td>
+<td bgcolor=#eea9b8><a title=#eea9b8>pink2</a></td>
+<td bgcolor=#cd919e><a title=#cd919e>pink3</a></td>
+<td bgcolor=#8b636c><a title=#8b636c>pink4</a></td>
+<td bgcolor=#dda0dd><a title=#dda0dd>&nbsp;&nbsp;&nbsp;plum&nbsp;&nbsp;&nbsp;</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ffbbff><a title=#ffbbff>plum1</a></td>
+<td bgcolor=#eeaeee><a title=#eeaeee>plum2</a></td>
+<td bgcolor=#cd96cd><a title=#cd96cd>plum3</a></td>
+<td bgcolor=#8b668b><a title=#8b668b>plum4</a></td>
+<td bgcolor=#b0e0e6><a title=#b0e0e6>powderblue</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#a020f0><a title=#a020f0>purple</a></td>
+<td bgcolor=#9b30ff><a title=#9b30ff>purple1</a></td>
+<td bgcolor=#912cee><a title=#912cee>purple2</a></td>
+<td bgcolor=#7d26cd><a title=#7d26cd>purple3</a></td>
+<td bgcolor=#551a8b><a title=#551a8b>purple4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ff0000><a title=#ff0000>&nbsp;&nbsp;&nbsp;red&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff0000><a title=#ff0000>&nbsp;&nbsp;&nbsp;red1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ee0000><a title=#ee0000>&nbsp;&nbsp;&nbsp;red2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cd0000><a title=#cd0000>&nbsp;&nbsp;&nbsp;red3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8b0000><a title=#8b0000>&nbsp;&nbsp;&nbsp;red4&nbsp;&nbsp;&nbsp;</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#bc8f8f><a title=#bc8f8f>rosybrown</a></td>
+<td bgcolor=#ffc1c1><a title=#ffc1c1>rosybrown1</a></td>
+<td bgcolor=#eeb4b4><a title=#eeb4b4>rosybrown2</a></td>
+<td bgcolor=#cd9b9b><a title=#cd9b9b>rosybrown3</a></td>
+<td bgcolor=#8b6969><a title=#8b6969>rosybrown4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#4169e1><a title=#4169e1>royalblue</a></td>
+<td bgcolor=#4876ff><a title=#4876ff>royalblue1</a></td>
+<td bgcolor=#436eee><a title=#436eee>royalblue2</a></td>
+<td bgcolor=#3a5fcd><a title=#3a5fcd>royalblue3</a></td>
+<td bgcolor=#27408b><a title=#27408b>royalblue4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b4513><a title=#8b4513>saddlebrown</a></td>
+<td bgcolor=#fa8072><a title=#fa8072>salmon</a></td>
+<td bgcolor=#ff8c69><a title=#ff8c69>salmon1</a></td>
+<td bgcolor=#ee8262><a title=#ee8262>salmon2</a></td>
+<td bgcolor=#cd7054><a title=#cd7054>salmon3</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#8b4c39><a title=#8b4c39>salmon4</a></td>
+<td bgcolor=#f4a460><a title=#f4a460>sandybrown</a></td>
+<td bgcolor=#2e8b57><a title=#2e8b57>seagreen</a></td>
+<td bgcolor=#54ff9f><a title=#54ff9f>seagreen1</a></td>
+<td bgcolor=#4eee94><a title=#4eee94>seagreen2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#43cd80><a title=#43cd80>seagreen3</a></td>
+<td bgcolor=#2e8b57><a title=#2e8b57>seagreen4</a></td>
+<td bgcolor=#fff5ee><a title=#fff5ee>seashell</a></td>
+<td bgcolor=#fff5ee><a title=#fff5ee>seashell1</a></td>
+<td bgcolor=#eee5de><a title=#eee5de>seashell2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cdc5bf><a title=#cdc5bf>seashell3</a></td>
+<td bgcolor=#8b8682><a title=#8b8682>seashell4</a></td>
+<td bgcolor=#a0522d><a title=#a0522d>sienna</a></td>
+<td bgcolor=#ff8247><a title=#ff8247>sienna1</a></td>
+<td bgcolor=#ee7942><a title=#ee7942>sienna2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cd6839><a title=#cd6839>sienna3</a></td>
+<td bgcolor=#8b4726><a title=#8b4726>sienna4</a></td>
+<td bgcolor=#87ceeb><a title=#87ceeb>skyblue</a></td>
+<td bgcolor=#87ceff><a title=#87ceff>skyblue1</a></td>
+<td bgcolor=#7ec0ee><a title=#7ec0ee>skyblue2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#6ca6cd><a title=#6ca6cd>skyblue3</a></td>
+<td bgcolor=#4a708b><a title=#4a708b>skyblue4</a></td>
+<td bgcolor=#6a5acd><a title=#6a5acd>slateblue</a></td>
+<td bgcolor=#836fff><a title=#836fff>slateblue1</a></td>
+<td bgcolor=#7a67ee><a title=#7a67ee>slateblue2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#6959cd><a title=#6959cd>slateblue3</a></td>
+<td bgcolor=#473c8b><a title=#473c8b>slateblue4</a></td>
+<td bgcolor=#708090><a title=#708090>slategray</a></td>
+<td bgcolor=#c6e2ff><a title=#c6e2ff>slategray1</a></td>
+<td bgcolor=#b9d3ee><a title=#b9d3ee>slategray2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#9fb6cd><a title=#9fb6cd>slategray3</a></td>
+<td bgcolor=#6c7b8b><a title=#6c7b8b>slategray4</a></td>
+<td bgcolor=#708090><a title=#708090>slategrey</a></td>
+<td bgcolor=#fffafa><a title=#fffafa>&nbsp;&nbsp;&nbsp;snow&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fffafa><a title=#fffafa>snow1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#eee9e9><a title=#eee9e9>snow2</a></td>
+<td bgcolor=#cdc9c9><a title=#cdc9c9>snow3</a></td>
+<td bgcolor=#8b8989><a title=#8b8989>snow4</a></td>
+<td bgcolor=#00ff7f><a title=#00ff7f>springgreen</a></td>
+<td bgcolor=#00ff7f><a title=#00ff7f>springgreen1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#00ee76><a title=#00ee76>springgreen2</a></td>
+<td bgcolor=#00cd66><a title=#00cd66>springgreen3</a></td>
+<td bgcolor=#008b45><a title=#008b45>springgreen4</a></td>
+<td bgcolor=#4682b4><a title=#4682b4>steelblue</a></td>
+<td bgcolor=#63b8ff><a title=#63b8ff>steelblue1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#5cacee><a title=#5cacee>steelblue2</a></td>
+<td bgcolor=#4f94cd><a title=#4f94cd>steelblue3</a></td>
+<td bgcolor=#36648b><a title=#36648b>steelblue4</a></td>
+<td bgcolor=#d2b48c><a title=#d2b48c>&nbsp;&nbsp;&nbsp;tan&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffa54f><a title=#ffa54f>&nbsp;&nbsp;&nbsp;tan1&nbsp;&nbsp;&nbsp;</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ee9a49><a title=#ee9a49>&nbsp;&nbsp;&nbsp;tan2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cd853f><a title=#cd853f>&nbsp;&nbsp;&nbsp;tan3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8b5a2b><a title=#8b5a2b>&nbsp;&nbsp;&nbsp;tan4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8bfd8><a title=#d8bfd8>thistle</a></td>
+<td bgcolor=#ffe1ff><a title=#ffe1ff>thistle1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#eed2ee><a title=#eed2ee>thistle2</a></td>
+<td bgcolor=#cdb5cd><a title=#cdb5cd>thistle3</a></td>
+<td bgcolor=#8b7b8b><a title=#8b7b8b>thistle4</a></td>
+<td bgcolor=#ff6347><a title=#ff6347>tomato</a></td>
+<td bgcolor=#ff6347><a title=#ff6347>tomato1</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ee5c42><a title=#ee5c42>tomato2</a></td>
+<td bgcolor=#cd4f39><a title=#cd4f39>tomato3</a></td>
+<td bgcolor=#8b3626><a title=#8b3626>tomato4</a></td>
+<td bgcolor=#fffffe><a title=#fffffe>transparent</a></td>
+<td bgcolor=#40e0d0><a title=#40e0d0>turquoise</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#00f5ff><a title=#00f5ff>turquoise1</a></td>
+<td bgcolor=#00e5ee><a title=#00e5ee>turquoise2</a></td>
+<td bgcolor=#00c5cd><a title=#00c5cd>turquoise3</a></td>
+<td bgcolor=#00868b><a title=#00868b>turquoise4</a></td>
+<td bgcolor=#ee82ee><a title=#ee82ee>violet</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#d02090><a title=#d02090>violetred</a></td>
+<td bgcolor=#ff3e96><a title=#ff3e96>violetred1</a></td>
+<td bgcolor=#ee3a8c><a title=#ee3a8c>violetred2</a></td>
+<td bgcolor=#cd3278><a title=#cd3278>violetred3</a></td>
+<td bgcolor=#8b2252><a title=#8b2252>violetred4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#f5deb3><a title=#f5deb3>wheat</a></td>
+<td bgcolor=#ffe7ba><a title=#ffe7ba>wheat1</a></td>
+<td bgcolor=#eed8ae><a title=#eed8ae>wheat2</a></td>
+<td bgcolor=#cdba96><a title=#cdba96>wheat3</a></td>
+<td bgcolor=#8b7e66><a title=#8b7e66>wheat4</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#ffffff><a title=#ffffff>white</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>whitesmoke</a></td>
+<td bgcolor=#ffff00><a title=#ffff00>yellow</a></td>
+<td bgcolor=#ffff00><a title=#ffff00>yellow1</a></td>
+<td bgcolor=#eeee00><a title=#eeee00>yellow2</a></td>
+</tr>
+<tr align=center>
+<td bgcolor=#cdcd00><a title=#cdcd00>yellow3</a></td>
+<td bgcolor=#8b8b00><a title=#8b8b00>yellow4</a></td>
+<td bgcolor=#9acd32><a title=#9acd32>yellowgreen</a></td>
+</table><HR>
+accent3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+accent4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+accent5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#386cb0><a title=#386cb0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+accent6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#386cb0><a title=#386cb0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f0027f><a title=#f0027f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+accent7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#386cb0><a title=#386cb0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f0027f><a title=#f0027f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf5b17><a title=#bf5b17>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+accent8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7fc97f><a title=#7fc97f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#beaed4><a title=#beaed4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdc086><a title=#fdc086>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#386cb0><a title=#386cb0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f0027f><a title=#f0027f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf5b17><a title=#bf5b17>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#666666><a title=#666666><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+blues3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#deebf7><a title=#deebf7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ecae1><a title=#9ecae1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3182bd><a title=#3182bd>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#eff3ff><a title=#eff3ff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdd7e7><a title=#bdd7e7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2171b5><a title=#2171b5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#eff3ff><a title=#eff3ff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdd7e7><a title=#bdd7e7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3182bd><a title=#3182bd>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08519c><a title=#08519c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#eff3ff><a title=#eff3ff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c6dbef><a title=#c6dbef>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ecae1><a title=#9ecae1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3182bd><a title=#3182bd>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08519c><a title=#08519c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#eff3ff><a title=#eff3ff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c6dbef><a title=#c6dbef>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ecae1><a title=#9ecae1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4292c6><a title=#4292c6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2171b5><a title=#2171b5>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#084594><a title=#084594>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fbff><a title=#f7fbff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#deebf7><a title=#deebf7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c6dbef><a title=#c6dbef>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ecae1><a title=#9ecae1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4292c6><a title=#4292c6>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2171b5><a title=#2171b5>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#084594><a title=#084594>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+blues9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fbff><a title=#f7fbff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#deebf7><a title=#deebf7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c6dbef><a title=#c6dbef>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ecae1><a title=#9ecae1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6baed6><a title=#6baed6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4292c6><a title=#4292c6>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2171b5><a title=#2171b5>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08519c><a title=#08519c>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08306b><a title=#08306b><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d8b365><a title=#d8b365>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5ab4ac><a title=#5ab4ac>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+brbg4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6611a><a title=#a6611a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#018571><a title=#018571>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+brbg5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6611a><a title=#a6611a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#018571><a title=#018571>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+brbg6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8b365><a title=#d8b365>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5ab4ac><a title=#5ab4ac>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8b365><a title=#d8b365>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5ab4ac><a title=#5ab4ac>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf812d><a title=#bf812d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#35978f><a title=#35978f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf812d><a title=#bf812d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#35978f><a title=#35978f>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#543005><a title=#543005><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf812d><a title=#bf812d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#35978f><a title=#35978f>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#003c30><a title=#003c30><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+brbg11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#543005><a title=#543005><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#8c510a><a title=#8c510a>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bf812d><a title=#bf812d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dfc27d><a title=#dfc27d>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f6e8c3><a title=#f6e8c3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f5f5f5><a title=#f5f5f5>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7eae5><a title=#c7eae5>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80cdc1><a title=#80cdc1>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#35978f><a title=#35978f>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#01665e><a title=#01665e><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#003c30><a title=#003c30><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bugn3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e5f5f9><a title=#e5f5f9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d8c9><a title=#99d8c9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2ca25f><a title=#2ca25f>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+bugn4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2e2e2><a title=#b2e2e2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+bugn5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2e2e2><a title=#b2e2e2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2ca25f><a title=#2ca25f>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bugn6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccece6><a title=#ccece6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d8c9><a title=#99d8c9>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2ca25f><a title=#2ca25f>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bugn7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccece6><a title=#ccece6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d8c9><a title=#99d8c9>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ae76><a title=#41ae76>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005824><a title=#005824><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bugn8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcfd><a title=#f7fcfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5f5f9><a title=#e5f5f9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccece6><a title=#ccece6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d8c9><a title=#99d8c9>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ae76><a title=#41ae76>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005824><a title=#005824><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bugn9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcfd><a title=#f7fcfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5f5f9><a title=#e5f5f9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccece6><a title=#ccece6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d8c9><a title=#99d8c9>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a4><a title=#66c2a4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ae76><a title=#41ae76>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#00441b><a title=#00441b><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bupu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e0ecf4><a title=#e0ecf4>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ebcda><a title=#9ebcda>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8856a7><a title=#8856a7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+bupu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#88419d><a title=#88419d>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+bupu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8856a7><a title=#8856a7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#810f7c><a title=#810f7c><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bupu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bfd3e6><a title=#bfd3e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ebcda><a title=#9ebcda>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8856a7><a title=#8856a7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#810f7c><a title=#810f7c><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bupu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8fb><a title=#edf8fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bfd3e6><a title=#bfd3e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ebcda><a title=#9ebcda>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c6bb1><a title=#8c6bb1>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#88419d><a title=#88419d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6e016b><a title=#6e016b><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bupu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcfd><a title=#f7fcfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0ecf4><a title=#e0ecf4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bfd3e6><a title=#bfd3e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ebcda><a title=#9ebcda>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c6bb1><a title=#8c6bb1>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#88419d><a title=#88419d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6e016b><a title=#6e016b><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+bupu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcfd><a title=#f7fcfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0ecf4><a title=#e0ecf4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bfd3e6><a title=#bfd3e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9ebcda><a title=#9ebcda>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c96c6><a title=#8c96c6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c6bb1><a title=#8c6bb1>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#88419d><a title=#88419d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#810f7c><a title=#810f7c><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#4d004b><a title=#4d004b><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+dark23 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+dark24 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+dark25 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66a61e><a title=#66a61e>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+dark26 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66a61e><a title=#66a61e>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6ab02><a title=#e6ab02>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+dark27 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66a61e><a title=#66a61e>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6ab02><a title=#e6ab02>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6761d><a title=#a6761d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+dark28 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#1b9e77><a title=#1b9e77>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f02><a title=#d95f02>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7570b3><a title=#7570b3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66a61e><a title=#66a61e>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6ab02><a title=#e6ab02>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6761d><a title=#a6761d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#666666><a title=#666666><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+gnbu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e0f3db><a title=#e0f3db>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a8ddb5><a title=#a8ddb5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#43a2ca><a title=#43a2ca>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f9e8><a title=#f0f9e8>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bae4bc><a title=#bae4bc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f9e8><a title=#f0f9e8>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bae4bc><a title=#bae4bc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#43a2ca><a title=#43a2ca>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0868ac><a title=#0868ac>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f9e8><a title=#f0f9e8>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a8ddb5><a title=#a8ddb5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#43a2ca><a title=#43a2ca>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0868ac><a title=#0868ac>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f9e8><a title=#f0f9e8>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a8ddb5><a title=#a8ddb5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4eb3d3><a title=#4eb3d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08589e><a title=#08589e>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcf0><a title=#f7fcf0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3db><a title=#e0f3db>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a8ddb5><a title=#a8ddb5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4eb3d3><a title=#4eb3d3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#08589e><a title=#08589e>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+gnbu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcf0><a title=#f7fcf0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3db><a title=#e0f3db>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a8ddb5><a title=#a8ddb5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7bccc4><a title=#7bccc4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4eb3d3><a title=#4eb3d3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0868ac><a title=#0868ac>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#084081><a title=#084081><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greens3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e5f5e0><a title=#e5f5e0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d99b><a title=#a1d99b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+greens4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8e9><a title=#edf8e9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bae4b3><a title=#bae4b3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+greens5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8e9><a title=#edf8e9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bae4b3><a title=#bae4b3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greens6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8e9><a title=#edf8e9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9c0><a title=#c7e9c0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d99b><a title=#a1d99b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greens7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8e9><a title=#edf8e9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9c0><a title=#c7e9c0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d99b><a title=#a1d99b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005a32><a title=#005a32><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greens8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcf5><a title=#f7fcf5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5f5e0><a title=#e5f5e0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9c0><a title=#c7e9c0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d99b><a title=#a1d99b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005a32><a title=#005a32><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greens9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcf5><a title=#f7fcf5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5f5e0><a title=#e5f5e0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9c0><a title=#c7e9c0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d99b><a title=#a1d99b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74c476><a title=#74c476>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238b45><a title=#238b45>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006d2c><a title=#006d2c><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#00441b><a title=#00441b><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f0f0f0><a title=#f0f0f0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#636363><a title=#636363><font color=white>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cccccc><a title=#cccccc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cccccc><a title=#cccccc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#636363><a title=#636363><font color=white>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#252525><a title=#252525><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#636363><a title=#636363><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#252525><a title=#252525><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#737373><a title=#737373><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#252525><a title=#252525><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f0f0f0><a title=#f0f0f0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#737373><a title=#737373><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#252525><a title=#252525><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+greys9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f0f0f0><a title=#f0f0f0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdbdbd><a title=#bdbdbd>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#969696><a title=#969696>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#737373><a title=#737373><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#525252><a title=#525252><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#252525><a title=#252525><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#000000><a title=#000000><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+oranges3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee6ce><a title=#fee6ce>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae6b><a title=#fdae6b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6550d><a title=#e6550d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feedde><a title=#feedde>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbe85><a title=#fdbe85>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d94701><a title=#d94701>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feedde><a title=#feedde>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbe85><a title=#fdbe85>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6550d><a title=#e6550d>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a63603><a title=#a63603>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feedde><a title=#feedde>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd0a2><a title=#fdd0a2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae6b><a title=#fdae6b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6550d><a title=#e6550d>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a63603><a title=#a63603>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feedde><a title=#feedde>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd0a2><a title=#fdd0a2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae6b><a title=#fdae6b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f16913><a title=#f16913>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d94801><a title=#d94801>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c2d04><a title=#8c2d04>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff5eb><a title=#fff5eb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee6ce><a title=#fee6ce>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd0a2><a title=#fdd0a2>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae6b><a title=#fdae6b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f16913><a title=#f16913>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d94801><a title=#d94801>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c2d04><a title=#8c2d04>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+oranges9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff5eb><a title=#fff5eb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee6ce><a title=#fee6ce>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd0a2><a title=#fdd0a2>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae6b><a title=#fdae6b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f16913><a title=#f16913>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d94801><a title=#d94801>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a63603><a title=#a63603>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7f2704><a title=#7f2704><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+orrd3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee8c8><a title=#fee8c8>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbb84><a title=#fdbb84>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e34a33><a title=#e34a33>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fef0d9><a title=#fef0d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcc8a><a title=#fdcc8a>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7301f><a title=#d7301f>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fef0d9><a title=#fef0d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcc8a><a title=#fdcc8a>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e34a33><a title=#e34a33>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b30000><a title=#b30000>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fef0d9><a title=#fef0d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd49e><a title=#fdd49e>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbb84><a title=#fdbb84>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e34a33><a title=#e34a33>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b30000><a title=#b30000>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fef0d9><a title=#fef0d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd49e><a title=#fdd49e>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbb84><a title=#fdbb84>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef6548><a title=#ef6548>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7301f><a title=#d7301f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#990000><a title=#990000>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7ec><a title=#fff7ec>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee8c8><a title=#fee8c8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd49e><a title=#fdd49e>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbb84><a title=#fdbb84>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef6548><a title=#ef6548>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7301f><a title=#d7301f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#990000><a title=#990000>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+orrd9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7ec><a title=#fff7ec>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee8c8><a title=#fee8c8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdd49e><a title=#fdd49e>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbb84><a title=#fdbb84>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef6548><a title=#ef6548>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7301f><a title=#d7301f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b30000><a title=#b30000>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7f0000><a title=#7f0000><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+paired3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cab2d6><a title=#cab2d6>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cab2d6><a title=#cab2d6>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a3d9a><a title=#6a3d9a>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cab2d6><a title=#cab2d6>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a3d9a><a title=#6a3d9a>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+paired12 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a6cee3><a title=#a6cee3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1f78b4><a title=#1f78b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2df8a><a title=#b2df8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#33a02c><a title=#33a02c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb9a99><a title=#fb9a99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdbf6f><a title=#fdbf6f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cab2d6><a title=#cab2d6>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a3d9a><a title=#6a3d9a>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff99><a title=#ffff99>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b15928><a title=#b15928>&nbsp;&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel13 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel14 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel15 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed9a6><a title=#fed9a6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel16 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed9a6><a title=#fed9a6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel17 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed9a6><a title=#fed9a6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5d8bd><a title=#e5d8bd>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel18 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed9a6><a title=#fed9a6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5d8bd><a title=#e5d8bd>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddaec><a title=#fddaec>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel19 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fbb4ae><a title=#fbb4ae>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3cde3><a title=#b3cde3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#decbe4><a title=#decbe4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed9a6><a title=#fed9a6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5d8bd><a title=#e5d8bd>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddaec><a title=#fddaec>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f2f2f2><a title=#f2f2f2>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel23 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel24 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4cae4><a title=#f4cae4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel25 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4cae4><a title=#f4cae4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5c9><a title=#e6f5c9>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel26 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4cae4><a title=#f4cae4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5c9><a title=#e6f5c9>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fff2ae><a title=#fff2ae>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel27 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4cae4><a title=#f4cae4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5c9><a title=#e6f5c9>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fff2ae><a title=#fff2ae>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1e2cc><a title=#f1e2cc>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pastel28 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b3e2cd><a title=#b3e2cd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdcdac><a title=#fdcdac>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbd5e8><a title=#cbd5e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4cae4><a title=#f4cae4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5c9><a title=#e6f5c9>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fff2ae><a title=#fff2ae>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1e2cc><a title=#f1e2cc>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cccccc><a title=#cccccc>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e9a3c9><a title=#e9a3c9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d76a><a title=#a1d76a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d01c8b><a title=#d01c8b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4dac26><a title=#4dac26>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d01c8b><a title=#d01c8b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4dac26><a title=#4dac26>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e9a3c9><a title=#e9a3c9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d76a><a title=#a1d76a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e9a3c9><a title=#e9a3c9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1d76a><a title=#a1d76a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de77ae><a title=#de77ae>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbc41><a title=#7fbc41>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de77ae><a title=#de77ae>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbc41><a title=#7fbc41>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+piyg10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8e0152><a title=#8e0152>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de77ae><a title=#de77ae>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbc41><a title=#7fbc41>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#276419><a title=#276419><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+piyg11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8e0152><a title=#8e0152>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c51b7d><a title=#c51b7d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de77ae><a title=#de77ae>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1b6da><a title=#f1b6da>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0ef><a title=#fde0ef>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f5d0><a title=#e6f5d0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b8e186><a title=#b8e186>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbc41><a title=#7fbc41>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d9221><a title=#4d9221>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#276419><a title=#276419><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#af8dc3><a title=#af8dc3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbf7b><a title=#7fbf7b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+prgn4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7b3294><a title=#7b3294>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#008837><a title=#008837>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+prgn5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7b3294><a title=#7b3294>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#008837><a title=#008837>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+prgn6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#af8dc3><a title=#af8dc3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbf7b><a title=#7fbf7b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#af8dc3><a title=#af8dc3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fbf7b><a title=#7fbf7b>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9970ab><a title=#9970ab>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5aae61><a title=#5aae61>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9970ab><a title=#9970ab>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5aae61><a title=#5aae61>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#40004b><a title=#40004b><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9970ab><a title=#9970ab>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5aae61><a title=#5aae61>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#00441b><a title=#00441b><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+prgn11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#40004b><a title=#40004b><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#762a83><a title=#762a83>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9970ab><a title=#9970ab>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2a5cf><a title=#c2a5cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7d4e8><a title=#e7d4e8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0d3><a title=#d9f0d3>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6dba0><a title=#a6dba0>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5aae61><a title=#5aae61>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1b7837><a title=#1b7837><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#00441b><a title=#00441b><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ece7f2><a title=#ece7f2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdc9e1><a title=#bdc9e1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0570b0><a title=#0570b0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdc9e1><a title=#bdc9e1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#045a8d><a title=#045a8d>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b8cbe><a title=#2b8cbe>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#045a8d><a title=#045a8d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0570b0><a title=#0570b0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#034e7b><a title=#034e7b><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7fb><a title=#fff7fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ece7f2><a title=#ece7f2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0570b0><a title=#0570b0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#034e7b><a title=#034e7b><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7fb><a title=#fff7fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ece7f2><a title=#ece7f2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74a9cf><a title=#74a9cf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0570b0><a title=#0570b0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#045a8d><a title=#045a8d>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#023858><a title=#023858><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubugn3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ece2f0><a title=#ece2f0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1c9099><a title=#1c9099>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubugn4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f6eff7><a title=#f6eff7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdc9e1><a title=#bdc9e1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#02818a><a title=#02818a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+pubugn5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f6eff7><a title=#f6eff7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bdc9e1><a title=#bdc9e1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1c9099><a title=#1c9099>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#016c59><a title=#016c59><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubugn6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f6eff7><a title=#f6eff7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1c9099><a title=#1c9099>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#016c59><a title=#016c59><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubugn7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f6eff7><a title=#f6eff7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#02818a><a title=#02818a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#016450><a title=#016450><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubugn8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7fb><a title=#fff7fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ece2f0><a title=#ece2f0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#02818a><a title=#02818a>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#016450><a title=#016450><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+pubugn9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7fb><a title=#fff7fb>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ece2f0><a title=#ece2f0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d0d1e6><a title=#d0d1e6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6bddb><a title=#a6bddb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3690c0><a title=#3690c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#02818a><a title=#02818a>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#016c59><a title=#016c59><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#014636><a title=#014636><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+puor3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1a340><a title=#f1a340>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#998ec3><a title=#998ec3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e66101><a title=#e66101>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5e3c99><a title=#5e3c99>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e66101><a title=#e66101>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5e3c99><a title=#5e3c99>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1a340><a title=#f1a340>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#998ec3><a title=#998ec3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f1a340><a title=#f1a340>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#998ec3><a title=#998ec3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e08214><a title=#e08214>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8073ac><a title=#8073ac>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+puor9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e08214><a title=#e08214>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8073ac><a title=#8073ac>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e7e1ef><a title=#e7e1ef>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c994c7><a title=#c994c7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd1c77><a title=#dd1c77>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7b5d8><a title=#d7b5d8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ce1256><a title=#ce1256>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d7b5d8><a title=#d7b5d8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd1c77><a title=#dd1c77>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#980043><a title=#980043>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d4b9da><a title=#d4b9da>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c994c7><a title=#c994c7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd1c77><a title=#dd1c77>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#980043><a title=#980043>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f1eef6><a title=#f1eef6>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d4b9da><a title=#d4b9da>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c994c7><a title=#c994c7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ce1256><a title=#ce1256>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91003f><a title=#91003f>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f4f9><a title=#f7f4f9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7e1ef><a title=#e7e1ef>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d4b9da><a title=#d4b9da>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c994c7><a title=#c994c7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ce1256><a title=#ce1256>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91003f><a title=#91003f>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purd9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7f4f9><a title=#f7f4f9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7e1ef><a title=#e7e1ef>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d4b9da><a title=#d4b9da>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c994c7><a title=#c994c7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#df65b0><a title=#df65b0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e7298a><a title=#e7298a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ce1256><a title=#ce1256>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#980043><a title=#980043>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67001f><a title=#67001f><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+puor10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7f3b08><a title=#7f3b08><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e08214><a title=#e08214>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8073ac><a title=#8073ac>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2d004b><a title=#2d004b><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+puor11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#7f3b08><a title=#7f3b08><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b35806><a title=#b35806>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e08214><a title=#e08214>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb863><a title=#fdb863>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0b6><a title=#fee0b6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d8daeb><a title=#d8daeb>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b2abd2><a title=#b2abd2>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8073ac><a title=#8073ac>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#542788><a title=#542788>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2d004b><a title=#2d004b><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+purples3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#efedf5><a title=#efedf5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bcbddc><a title=#bcbddc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#756bb1><a title=#756bb1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f2f0f7><a title=#f2f0f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbc9e2><a title=#cbc9e2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a51a3><a title=#6a51a3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f2f0f7><a title=#f2f0f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cbc9e2><a title=#cbc9e2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#756bb1><a title=#756bb1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#54278f><a title=#54278f>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f2f0f7><a title=#f2f0f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dadaeb><a title=#dadaeb>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bcbddc><a title=#bcbddc>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#756bb1><a title=#756bb1>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#54278f><a title=#54278f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f2f0f7><a title=#f2f0f7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dadaeb><a title=#dadaeb>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bcbddc><a title=#bcbddc>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#807dba><a title=#807dba>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a51a3><a title=#6a51a3>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4a1486><a title=#4a1486>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fcfbfd><a title=#fcfbfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#efedf5><a title=#efedf5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dadaeb><a title=#dadaeb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bcbddc><a title=#bcbddc>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#807dba><a title=#807dba>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a51a3><a title=#6a51a3>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4a1486><a title=#4a1486>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+purples9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fcfbfd><a title=#fcfbfd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#efedf5><a title=#efedf5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dadaeb><a title=#dadaeb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bcbddc><a title=#bcbddc>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#9e9ac8><a title=#9e9ac8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#807dba><a title=#807dba>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#6a51a3><a title=#6a51a3>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#54278f><a title=#54278f>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3f007d><a title=#3f007d><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdbu10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#67001f><a title=#67001f><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4393c3><a title=#4393c3>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#053061><a title=#053061><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdbu11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#67001f><a title=#67001f><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4393c3><a title=#4393c3>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#053061><a title=#053061><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdbu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ca0020><a title=#ca0020>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0571b0><a title=#0571b0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ca0020><a title=#ca0020>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0571b0><a title=#0571b0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67a9cf><a title=#67a9cf>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4393c3><a title=#4393c3>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdbu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7f7f7><a title=#f7f7f7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d1e5f0><a title=#d1e5f0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#92c5de><a title=#92c5de>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4393c3><a title=#4393c3>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2166ac><a title=#2166ac>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdgy3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#999999><a title=#999999>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdgy4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ca0020><a title=#ca0020>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#404040><a title=#404040><font color=white>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ca0020><a title=#ca0020>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#404040><a title=#404040><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#999999><a title=#999999>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef8a62><a title=#ef8a62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#999999><a title=#999999>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#878787><a title=#878787>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#878787><a title=#878787>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdpu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fde0dd><a title=#fde0dd>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fa9fb5><a title=#fa9fb5>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c51b8a><a title=#c51b8a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdpu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feebe2><a title=#feebe2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fbb4b9><a title=#fbb4b9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ae017e><a title=#ae017e>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdpu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feebe2><a title=#feebe2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fbb4b9><a title=#fbb4b9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c51b8a><a title=#c51b8a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7a0177><a title=#7a0177><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdpu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feebe2><a title=#feebe2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcc5c0><a title=#fcc5c0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fa9fb5><a title=#fa9fb5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c51b8a><a title=#c51b8a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7a0177><a title=#7a0177><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdpu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#feebe2><a title=#feebe2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcc5c0><a title=#fcc5c0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fa9fb5><a title=#fa9fb5>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd3497><a title=#dd3497>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ae017e><a title=#ae017e>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7a0177><a title=#7a0177><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdpu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7f3><a title=#fff7f3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0dd><a title=#fde0dd>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcc5c0><a title=#fcc5c0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fa9fb5><a title=#fa9fb5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd3497><a title=#dd3497>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ae017e><a title=#ae017e>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7a0177><a title=#7a0177><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdpu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7f3><a title=#fff7f3>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fde0dd><a title=#fde0dd>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcc5c0><a title=#fcc5c0>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fa9fb5><a title=#fa9fb5>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f768a1><a title=#f768a1>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#dd3497><a title=#dd3497>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ae017e><a title=#ae017e>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7a0177><a title=#7a0177><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#49006a><a title=#49006a><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#67001f><a title=#67001f><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#878787><a title=#878787>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#1a1a1a><a title=#1a1a1a><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdgy11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#67001f><a title=#67001f><font color=white>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#b2182b><a title=#b2182b>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d6604d><a title=#d6604d>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f4a582><a title=#f4a582>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fddbc7><a title=#fddbc7>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffff><a title=#ffffff>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0e0e0><a title=#e0e0e0>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bababa><a title=#bababa>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#878787><a title=#878787>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4d4d4d><a title=#4d4d4d><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#1a1a1a><a title=#1a1a1a><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdylbu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91bfdb><a title=#91bfdb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2c7bb6><a title=#2c7bb6>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2c7bb6><a title=#2c7bb6>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91bfdb><a title=#91bfdb>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91bfdb><a title=#91bfdb>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74add1><a title=#74add1>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74add1><a title=#74add1>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a50026><a title=#a50026>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74add1><a title=#74add1>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#313695><a title=#313695>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylbu11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a50026><a title=#a50026>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee090><a title=#fee090>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e0f3f8><a title=#e0f3f8>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abd9e9><a title=#abd9e9>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#74add1><a title=#74add1>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4575b4><a title=#4575b4>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#313695><a title=#313695>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91cf60><a title=#91cf60>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9641><a title=#1a9641>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9641><a title=#1a9641>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91cf60><a title=#91cf60>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#91cf60><a title=#91cf60>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66bd63><a title=#66bd63>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66bd63><a title=#66bd63>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+rdylgn10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a50026><a title=#a50026>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66bd63><a title=#66bd63>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006837><a title=#006837><font color=white>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+rdylgn11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#a50026><a title=#a50026>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d73027><a title=#d73027>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9ef8b><a title=#d9ef8b>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d96a><a title=#a6d96a>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66bd63><a title=#66bd63>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1a9850><a title=#1a9850>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006837><a title=#006837><font color=white>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+reds3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee0d2><a title=#fee0d2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc9272><a title=#fc9272>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de2d26><a title=#de2d26>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee5d9><a title=#fee5d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcae91><a title=#fcae91>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cb181d><a title=#cb181d>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee5d9><a title=#fee5d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcae91><a title=#fcae91>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de2d26><a title=#de2d26>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a50f15><a title=#a50f15>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee5d9><a title=#fee5d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcbba1><a title=#fcbba1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc9272><a title=#fc9272>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#de2d26><a title=#de2d26>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a50f15><a title=#a50f15>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fee5d9><a title=#fee5d9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcbba1><a title=#fcbba1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc9272><a title=#fc9272>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef3b2c><a title=#ef3b2c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cb181d><a title=#cb181d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99000d><a title=#99000d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff5f0><a title=#fff5f0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0d2><a title=#fee0d2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcbba1><a title=#fcbba1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc9272><a title=#fc9272>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef3b2c><a title=#ef3b2c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cb181d><a title=#cb181d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99000d><a title=#99000d>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+reds9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff5f0><a title=#fff5f0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee0d2><a title=#fee0d2>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fcbba1><a title=#fcbba1>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc9272><a title=#fc9272>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb6a4a><a title=#fb6a4a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ef3b2c><a title=#ef3b2c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cb181d><a title=#cb181d>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a50f15><a title=#a50f15>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#67000d><a title=#67000d><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+set13 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set14 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set15 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set16 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff33><a title=#ffff33>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set17 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff33><a title=#ffff33>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a65628><a title=#a65628>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set18 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff33><a title=#ffff33>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a65628><a title=#a65628>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f781bf><a title=#f781bf>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set19 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#e41a1c><a title=#e41a1c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#377eb8><a title=#377eb8>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#4daf4a><a title=#4daf4a>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#984ea3><a title=#984ea3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ff7f00><a title=#ff7f00>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffff33><a title=#ffff33>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a65628><a title=#a65628>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f781bf><a title=#f781bf>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#999999><a title=#999999>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set23 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set24 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e78ac3><a title=#e78ac3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set25 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e78ac3><a title=#e78ac3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d854><a title=#a6d854>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set26 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e78ac3><a title=#e78ac3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d854><a title=#a6d854>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffd92f><a title=#ffd92f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set27 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e78ac3><a title=#e78ac3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d854><a title=#a6d854>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffd92f><a title=#ffd92f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5c494><a title=#e5c494>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set28 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d62><a title=#fc8d62>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8da0cb><a title=#8da0cb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e78ac3><a title=#e78ac3>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a6d854><a title=#a6d854>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffd92f><a title=#ffd92f>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e5c494><a title=#e5c494>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3b3b3><a title=#b3b3b3>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set33 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set34 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set35 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set36 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set37 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set38 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fccde5><a title=#fccde5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set39 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fccde5><a title=#fccde5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set310 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fccde5><a title=#fccde5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bc80bd><a title=#bc80bd>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set311 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fccde5><a title=#fccde5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bc80bd><a title=#bc80bd>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+set312 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#8dd3c7><a title=#8dd3c7>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffb3><a title=#ffffb3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bebada><a title=#bebada>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fb8072><a title=#fb8072>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#80b1d3><a title=#80b1d3>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdb462><a title=#fdb462>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b3de69><a title=#b3de69>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fccde5><a title=#fccde5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9d9d9><a title=#d9d9d9>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bc80bd><a title=#bc80bd>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ccebc5><a title=#ccebc5>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffed6f><a title=#ffed6f>&nbsp;&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d594><a title=#99d594>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b83ba><a title=#2b83ba>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d7191c><a title=#d7191c>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2b83ba><a title=#2b83ba>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d594><a title=#99d594>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc8d59><a title=#fc8d59>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#99d594><a title=#99d594>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral10 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#9e0142><a title=#9e0142>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5e4fa2><a title=#5e4fa2>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+spectral11 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#9e0142><a title=#9e0142>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d53e4f><a title=#d53e4f>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f46d43><a title=#f46d43>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fdae61><a title=#fdae61>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee08b><a title=#fee08b>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffffbf><a title=#ffffbf>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e6f598><a title=#e6f598>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#abdda4><a title=#abdda4>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#66c2a5><a title=#66c2a5>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#3288bd><a title=#3288bd>&nbsp;&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#5e4fa2><a title=#5e4fa2>&nbsp;&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgn3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#f7fcb9><a title=#f7fcb9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#addd8e><a title=#addd8e>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgn4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2e699><a title=#c2e699>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238443><a title=#238443>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgn5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c2e699><a title=#c2e699>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006837><a title=#006837><font color=white>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylgn6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0a3><a title=#d9f0a3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#addd8e><a title=#addd8e>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#31a354><a title=#31a354>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006837><a title=#006837><font color=white>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylgn7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0a3><a title=#d9f0a3>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#addd8e><a title=#addd8e>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238443><a title=#238443>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005a32><a title=#005a32><font color=white>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylgn8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffe5><a title=#ffffe5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7fcb9><a title=#f7fcb9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0a3><a title=#d9f0a3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#addd8e><a title=#addd8e>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238443><a title=#238443>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#005a32><a title=#005a32><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylgn9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffe5><a title=#ffffe5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f7fcb9><a title=#f7fcb9>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d9f0a3><a title=#d9f0a3>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#addd8e><a title=#addd8e>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#78c679><a title=#78c679>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41ab5d><a title=#41ab5d>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#238443><a title=#238443>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#006837><a title=#006837><font color=white>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</font></a></td>
+<td bgcolor=#004529><a title=#004529><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylgnbu3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#edf8b1><a title=#edf8b1>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fcdbb><a title=#7fcdbb>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2c7fb8><a title=#2c7fb8>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1dab4><a title=#a1dab4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#225ea8><a title=#225ea8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#a1dab4><a title=#a1dab4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2c7fb8><a title=#2c7fb8>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#253494><a title=#253494>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9b4><a title=#c7e9b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fcdbb><a title=#7fcdbb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#2c7fb8><a title=#2c7fb8>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#253494><a title=#253494>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9b4><a title=#c7e9b4>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fcdbb><a title=#7fcdbb>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1d91c0><a title=#1d91c0>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#225ea8><a title=#225ea8>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0c2c84><a title=#0c2c84>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd9><a title=#ffffd9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#edf8b1><a title=#edf8b1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9b4><a title=#c7e9b4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fcdbb><a title=#7fcdbb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1d91c0><a title=#1d91c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#225ea8><a title=#225ea8>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#0c2c84><a title=#0c2c84>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylgnbu9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd9><a title=#ffffd9>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#edf8b1><a title=#edf8b1>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#c7e9b4><a title=#c7e9b4>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#7fcdbb><a title=#7fcdbb>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#41b6c4><a title=#41b6c4>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#1d91c0><a title=#1d91c0>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#225ea8><a title=#225ea8>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#253494><a title=#253494>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#081d58><a title=#081d58><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylorbr3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#fff7bc><a title=#fff7bc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fec44f><a title=#fec44f>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f0e><a title=#d95f0e>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd4><a title=#ffffd4>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed98e><a title=#fed98e>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cc4c02><a title=#cc4c02>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd4><a title=#ffffd4>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed98e><a title=#fed98e>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f0e><a title=#d95f0e>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#993404><a title=#993404>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd4><a title=#ffffd4>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee391><a title=#fee391>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fec44f><a title=#fec44f>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#d95f0e><a title=#d95f0e>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#993404><a title=#993404>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffd4><a title=#ffffd4>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee391><a title=#fee391>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fec44f><a title=#fec44f>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ec7014><a title=#ec7014>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cc4c02><a title=#cc4c02>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c2d04><a title=#8c2d04>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffe5><a title=#ffffe5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fff7bc><a title=#fff7bc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee391><a title=#fee391>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fec44f><a title=#fec44f>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ec7014><a title=#ec7014>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cc4c02><a title=#cc4c02>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#8c2d04><a title=#8c2d04>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorbr9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffe5><a title=#ffffe5>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fff7bc><a title=#fff7bc>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fee391><a title=#fee391>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fec44f><a title=#fec44f>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fe9929><a title=#fe9929>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ec7014><a title=#ec7014>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#cc4c02><a title=#cc4c02>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#993404><a title=#993404>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#662506><a title=#662506><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+ylorrd3 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffeda0><a title=#ffeda0>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#feb24c><a title=#feb24c>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f03b20><a title=#f03b20>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd4 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffb2><a title=#ffffb2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fecc5c><a title=#fecc5c>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd5 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffb2><a title=#ffffb2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fecc5c><a title=#fecc5c>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f03b20><a title=#f03b20>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bd0026><a title=#bd0026>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd6 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffb2><a title=#ffffb2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed976><a title=#fed976>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#feb24c><a title=#feb24c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#f03b20><a title=#f03b20>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bd0026><a title=#bd0026>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd7 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffb2><a title=#ffffb2>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed976><a title=#fed976>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#feb24c><a title=#feb24c>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc4e2a><a title=#fc4e2a>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b10026><a title=#b10026>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd8 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffeda0><a title=#ffeda0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed976><a title=#fed976>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#feb24c><a title=#feb24c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc4e2a><a title=#fc4e2a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#b10026><a title=#b10026>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+</table><HR>
+ylorrd9 color scheme<BR>
+<table border=1 align=center>
+<tr align=center>
+<td bgcolor=#ffffcc><a title=#ffffcc>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#ffeda0><a title=#ffeda0>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fed976><a title=#fed976>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#feb24c><a title=#feb24c>&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fd8d3c><a title=#fd8d3c>&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#fc4e2a><a title=#fc4e2a>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#e31a1c><a title=#e31a1c>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#bd0026><a title=#bd0026>&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;</a></td>
+<td bgcolor=#800026><a title=#800026><font color=white>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;</font></a></td>
+</table><HR>
+<BR>
+<A NAME=brewer_license>Apache-Style Software License for ColorBrewer software and ColorBrewer
+Color Schemes, Version 1.1<A>
+<P>
+Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania
+State University. All rights reserved.
+<P>
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+<OL>
+<LI>Redistributions as source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+<LI>The end-user documentation included with the redistribution, if any,
+must include the following acknowledgment:
+<P>
+<I>This product includes color specifications and designs developed
+by Cynthia Brewer (http://colorbrewer.org/)</I>.
+<P>
+Alternately, this acknowledgment may appear in the software itself, if and
+wherever such third-party acknowledgments normally appear.
+<LI>The name "ColorBrewer" must not be used to endorse or promote products
+derived from this software without prior written permission. For written
+permission, please contact Cynthia Brewer at cbrewer@psu.edu.
+<LI>Products derived from this software may not be called "ColorBrewer", nor
+may "ColorBrewer" appear in their name, without prior written permission
+of Cynthia Brewer.
+</OL>
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CYNTHIA
+BREWER, MARK HARROWER, OR THE PENNSYLVANIA STATE UNIVERSITY BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+</body>
+</html>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/command.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/command.html
new file mode 100644
index 0000000..398d471
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/command.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>Command-line Usage</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 ALIGN=CENTER>Command-line Invocation</H1>
+<HR>
+All Graphviz programs have a similar invocation:<BR>
+<TABLE><TR><TD>
+<CODE><I>cmd</I> [ <I>flags</I> ] [ <I>input files</I> ]<CODE>
+</TR></TABLE>
+If no input files are supplied, the program reads from <STRONG>stdin</STRONG>.
+<H3>Flags</H3>
+<DL>
+<DT><STRONG>-G</STRONG><I>name</I>[=<I>value</I>]
+<DD>Set a graph attribute, with default <I>value</I> = <TT>true</TT>.
+<DT><STRONG>-N</STRONG><I>name</I>[=<I>value</I>]
+<DD>Set a default node attribute, with default <I>value</I> = <TT>true</TT>.
+<DT><STRONG>-E</STRONG><I>name</I>[=<I>value</I>]
+<DD>Set a default edge attribute, with default <I>value</I> = <TT>true</TT>.
+<DT><A NAME=d:T><STRONG>-T</STRONG></A><I>format</I>[:<I>renderer</I>[:<I>formatter</I>]]
+<DD>Set output language to one of the <A HREF=output.html>supported formats</A>.
+By default, <A HREF=output.html#d:dot>attributed dot</A> is produced.
+<P>
+Depending on how Graphviz was built, there may be multiple renderers for
+generating a particular output format, and multiple formatters for
+creating the final output. For example, a typical installation
+can produce <A HREF="http://www.graphviz.org/doc/info/output.html#d:png">PNG</A>
+output using either the Cairo or GD library. The desired rendering engine
+can be specified after a colon. If there are multiple formatting engines
+available, the desired one can be specified in a similar fashion after
+the rendering engine. Thus, <TT>-Tpng:cairo</TT> specifies PNG
+output produced by Cairo (using the Cairo's default formatter), and
+<TT>-Tpng:cairo:gd</TT> specifies PNG
+output produced by Cairo formatted using the GD library.
+<P>
+If no renderer is specified, or a renderer but no formatter, the default one
+is invoked. The flag <TT>-T<I>format</I>:</TT> produces a list of all
+of the renderers available for the specified <I>format</I>, the first one
+listed with a prefix matching <I>format</I> being the default.
+Using the <TT>-v</TT> flag, described below, will print which format,
+renderer, and formatter are actually used.
+<DT><STRONG>-V</STRONG>
+<DD>Emit version information and exit.
+<DT><STRONG>-l</STRONG><I>library</I>
+<DD>User-supplied, device-dependent library text. Multiple flags may
+be given. These strings are passed to the code generator at the
+beginning of output.
+<P>For PostScript output, they are treated as file names
+whose content will be included in the preamble after the standard preamble.
+If <I>library</I> is the empty string <TT>""</TT>, the standard preamble
+is not emitted.
+<DT><A NAME=d:n><STRONG>-n</STRONG>[<I>num</I>]</A>
+<DD>Sets no-op flag in <STRONG>neato</STRONG>.
+If set, <STRONG>neato</STRONG> assumes nodes have already been
+positioned and all nodes have a <A HREF=attrs.html#d:pos>pos</A>
+attribute giving
+the positions. It then performs an optional adjustment to remove node-node
+overlap, depending on the value of the
+<A HREF=attrs.html#d:overlap>overlap</A> attribute, computes the edge
+layouts, depending on the value of the
+<A HREF=attrs.html#d:splines>splines</A> attribute, and
+emits the graph in the appropriate format. If <I>num</I> is supplied,
+the following actions occur:
+<DL>
+<DT><I>num</I> = 1
+<DD>Equivalent to <STRONG>-n</STRONG>.
+<DT><I>num</I> > 1
+<DD>Use node positions as specified, with no adjustment to
+remove node-node overlaps, and use any edge layouts already specified
+by the <A HREF=attrs.html#d:pos>pos</A> attribute. <STRONG>neato</STRONG>
+computes an edge layout for any edge that does not have a <B>pos</B> attribute.
+As usual, edge layout is guided by the
+<A HREF=attrs.html#d:splines>splines</A> attribute.
+</DL>
+<DT><STRONG>-o</STRONG><I>outfile</I>
+<DD>Write output to file <I>outfile</I>. By default, output goes to
+<STRONG>stdout</STRONG>.
+<DT><STRONG>-O</STRONG>
+<DD>Automatically generate output file names based on the input
+file name and the various output formats specified by the <STRONG>-T</STRONG>
+flags.
+<DT><STRONG>-q</STRONG>
+<DD>Suppress warning messages.
+<DT><A NAME=d:s><STRONG>-s</STRONG></A>[<I>scale</I>]
+<DD>Set input scale to <I>scale</I>. If this value is omitted,
+72.0 is used. This number is used to convert the point coordinate
+units used in the <A HREF=attrs.html#d:pos>pos</A> attribute
+into inches. Ignored if the <STRONG>-n</STRONG> flag is used.
+<DT><STRONG>-v</STRONG>
+<DD>Verbose mode
+<DT><STRONG>-x</STRONG>
+<DD>In <STRONG>neato</STRONG>, on input, prune isolated nodes and peninsulas.
+This removes uninteresting graph structure and produces a less cluttered
+drawing.
+<DT><STRONG>-y</STRONG>
+<DD>By default, the coordinate system used in generic output formats,
+such as <A HREF=output.html#d:dot>attributed dot</A>,
+<A HREF=output.html#d:xdot>extended dot</A>,
+<A HREF=output.html#d:plain>plain</A> and
+<A HREF=output.html#d:plain-ext>plain-ext</A>,
+is the standard cartesian system with the origin in the lower left corner,
+and with increasing y coordinates as points move from bottom to top.
+If the <CODE>-y</CODE> flag is used, the coordinate system is inverted,
+so that increasing values of y correspond to movement from top to bottom.
+<DT><STRONG>-?</STRONG>
+<DD>Print usage information, then exit.
+</DL>
+If multiple <STRONG>-T</STRONG> flags are given, drawings of the graph
+are emitted in each of the specified formats. Multiple <STRONG>-o</STRONG>
+flags can be used to specify the output file for each format. If there
+are more formats than files, the remaining formats are written to
+<STRONG>stdout</STRONG>.
+<P>
+Note that the <STRONG>-G</STRONG>,
+<STRONG>-N</STRONG> and
+<STRONG>-E</STRONG> flags override any initial attribute declarations
+in the input graph,
+i.e., those attribute statements appearing before any node, edge or
+subgraph definitions.
+In addition, these flags cause the related attributes to be permanently
+attached to the graph. Thus, if attributed dot is used for
+output, the graph will have these attributes.
+<H3>Environment Variables</H3>
+<DL>
+<DT><STRONG>GDFONTPATH</STRONG>
+<DD>
+List of pathnames giving directories which a program should search for fonts.
+Overridden by <A HREF=#d:DOTFONTPATH>DOTFONTPATH</A>.
+<IT>Used only if Graphviz is not built with the <TT>fontconfig</TT> library</IT>
+<DT><A NAME=d:DOTFONTPATH><STRONG>DOTFONTPATH</STRONG></A>
+<DD>
+List of pathnames giving directories which a program should search for fonts.
+Overridden by <A HREF=attrs.html#d:fontpath><STRONG>fontpath</STRONG></A>.
+<IT>Used only if Graphviz is not built with the <TT>fontconfig</TT> library</IT>
+<DT><A NAME=d:SERVER_NAME><STRONG>SERVER_NAME</STRONG></A>
+<DD>
+If defined, this indicates that the software is running as a web application,
+which restricts access to image files. See
+<A HREF=d:GV_FILE_PATH>GV_FILE_PATH</A>.
+<DT><A NAME=d:GV_FILE_PATH><STRONG>GV_FILE_PATH</STRONG></A>
+<DD>
+If <A HREF=d:SERVER_NAME>SERVER_NAME</A> is defined, image files are
+restricted to the directory specified by <TT>GV_FILE_PATH</TT>.
+Note that sometimes, when using one of the layout programs in a web
+script, it is not enough to use an export command but rather the
+variables should be set when the command is run, for example,<BR>
+<CODE>
+SERVER_NAME=xxx GV_FILE_PATH="images/" dot -Tpng -o x.png x.dot
+</CODE>
+<DT><A NAME=d:GVBINDIR><STRONG>GVBINDIR</STRONG></A>
+<DD>
+Indicates which directory contains the Graphviz config file and
+plug-in libraries. If it is defined, the value overrides any other
+mechanism for finding this directory. If Graphviz is properly installed,
+it should not be needed, though it can be useful for relocation on
+platforms not running Linux or Windows.
+</DL>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/component.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/component.gif
new file mode 100644
index 0000000..686710e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/component.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/constraint.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/constraint.gif
new file mode 100644
index 0000000..34745a6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/constraint.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/diamond.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/diamond.gif
new file mode 100644
index 0000000..5e33080
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/diamond.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doublecircle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doublecircle.gif
new file mode 100644
index 0000000..1f9f5c6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doublecircle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doubleoctagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doubleoctagon.gif
new file mode 100644
index 0000000..9c17325
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/doubleoctagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/egg.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/egg.gif
new file mode 100644
index 0000000..8e77d4c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/egg.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/ellipse.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/ellipse.gif
new file mode 100644
index 0000000..f58d4b0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/ellipse.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/fill.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/fill.gif
new file mode 100644
index 0000000..8d2ea48
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/fill.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/folder.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/folder.gif
new file mode 100644
index 0000000..d5a1788
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/folder.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/forward.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/forward.gif
new file mode 100644
index 0000000..346bcdb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/forward.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/grammar.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/grammar.html
new file mode 100644
index 0000000..bf48283
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/grammar.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>Command-line Invocation</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 align=CENTER>Command-line Invocation</H1>
+<HR>
+<H2>Flags</H1>
+<DL>
+<DT>-Gname=value
+<DT>Set graph attribue
+<DT>-Nname=value
+<DT>Set default node attribue
+<DT>-Ename=value
+<DT>Set default edge attribue
+<DT>-T<lang>
+<DT>Set output language (see output_info)
+<DT>-V
+<DT>Emit version info and exit
+<DT>-l<libfile>
+<DT>User-supplied, device-depende library. Multiple libraries may
+be given. These names are passed to the code generator at the
+beginning of output.
+<DT>-n[<num>]
+<DT>Sets no-op flag in neato. In this case, neato assumes nodes
+have already been positioned and have a pos attribute giving
+this position. It then just computes the edge layouts and
+emits the graph in the appropriate format. If <num> is used
+and > 1, neato checks for previously positioned edges, with
+control points provided in the pos attribute. It uses these
+if given; otherwise, it computes the edge layout.
+<DT>-o<outfile>
+<DT>write output to outfile (default: stdout)
+<DT>-s<scale>
+<DT>Set input scale to <scale>. If this value is omitted,
+72.0 is used. This number is used to convert pos point
+units into inches. For example, dot -Tdot produces pos
+values in points. To use this as input to neato -n, one
+needs -s (equivalently, -s72).
+<DT>-v
+<DT>verbose mode
+<DT>-x
+<DT>In neato, on input, prune isolated nodes and peninsulas
+</DL>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/hexagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/hexagon.gif
new file mode 100644
index 0000000..e4bc85b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/hexagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/house.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/house.gif
new file mode 100644
index 0000000..03aee15
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/house.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html1.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html1.gif
new file mode 100644
index 0000000..82e5464
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html1.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html2.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html2.gif
new file mode 100644
index 0000000..1dc5db8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html2.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html3.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html3.gif
new file mode 100644
index 0000000..5b7949c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html3.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html4.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html4.gif
new file mode 100644
index 0000000..b0acedc
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/html4.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/index.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/index.html
new file mode 100644
index 0000000..338c230
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>GraphViz Reference</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 align=CENTER>GraphViz Reference</H1>
+<HR>
+<A HREF=lang.html>The DOT Language</A><BR>
+<A HREF=command.html>Command-line Usage</A><BR>
+<A HREF=output.html>Output Formats</A><BR>
+<A HREF=attrs.html>Graph Attributes</A><BR>
+<A HREF=shapes.html>Node Shapes</A><BR>
+<A HREF=colors.html>Colors</A><BR>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invhouse.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invhouse.gif
new file mode 100644
index 0000000..1f6ab28
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invhouse.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtrapezium.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtrapezium.gif
new file mode 100644
index 0000000..6fa8bf6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtrapezium.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtriangle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtriangle.gif
new file mode 100644
index 0000000..41a23fe
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/invtriangle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/lang.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/lang.html
new file mode 100644
index 0000000..1eb13a4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/lang.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!--
+ This is a generated document. Do not edit.
+-->
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>The DOT Language</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 ALIGN=CENTER>The DOT Language</H1>
+<HR>
+The following is an abstract grammar defining the DOT language.
+Terminals are shown in bold font and nonterminals in italics.
+Literal characters are given in single quotes.
+Parentheses ( and ) indicate grouping when needed.
+Square brackets [ and ] enclose optional items.
+Vertical bars | separate alternatives.
+<TABLE>
+<TR>
+ <TD ALIGN=RIGHT><I>graph</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>[ <B>strict</B> ] (<B>graph</B> | <B>digraph</B>) [ <I>ID</I> ] <B>'{'</B> <I>stmt_list</I> <B>'}'</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>stmt_list</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>[ <I>stmt</I> [ <B>';'</B> ] [ <I>stmt_list</I> ] ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>stmt</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>node_stmt</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>edge_stmt</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>attr_stmt</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>ID</I> <B>'='</B> <I>ID</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>subgraph</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>attr_stmt</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>(<B>graph</B> | <B>node</B> | <B>edge</B>) <I>attr_list</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>attr_list</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><B>'['</B> [ <I>a_list</I> ] <B>']'</B> [ <I>attr_list</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>a_list</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>ID</I> [ <B>'='</B> <I>ID</I> ] [ <B>','</B> ] [ <I>a_list</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>edge_stmt</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>(<I>node_id</I> | <I>subgraph</I>) <I>edgeRHS</I> [ <I>attr_list</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>edgeRHS</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>edgeop</I> (<I>node_id</I> | <I>subgraph</I>) [ <I>edgeRHS</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>node_stmt</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>node_id</I> [ <I>attr_list</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>node_id</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>ID</I> [ <I>port</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>port</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><B>':'</B> <I>ID</I> [ <B>':'</B> <I>compass_pt</I> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><B>':'</B> <I>compass_pt</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>subgraph</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>[ <B>subgraph</B> [ <I>ID</I> ] ] <B>'{'</B> <I>stmt_list</I> <B>'}'</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>compass_pt</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>(<B>n</B> | <B>ne</B> | <B>e</B> | <B>se</B> | <B>s</B> | <B>sw</B> | <B>w</B> | <B>nw</B>)</TD>
+</TR>
+</TABLE>
+<P>
+The keywords <B>node</B>, <B>edge</B>, <B>graph</B>, <B>digraph</B>,
+<B>subgraph</B>, and <B>strict</B> are case-independent.
+Note also that the allowed compass point values are not keywords, so
+these strings can be used elsewhere as ordinary identifiers.
+<P>
+An <I>ID</I> is one of the following:
+<MENU>
+<LI> Any string of alphabetic characters, underscores or
+digits, not beginning with a digit;
+<LI> a number [<tt>-</tt>]<sup>?</sup>(<tt>.</tt>[<tt>0</tt>-<tt>9</tt>]<sup>+</sup> | [<tt>0</tt>-<tt>9</tt>]<sup>+</sup>(<tt>.</tt>[<tt>0</tt>-<tt>9</tt>]<sup>*</sup>)<sup>?</sup> );
+<LI> any double-quoted string (&quot;...&quot;) possibly containing escaped
+quotes (\&quot;);
+<LI> an <A NAME=html>HTML string</A> (&lt;...&gt;).
+</MENU>
+Note that in HTML strings, angle
+brackets must occur in matched pairs, and unescaped newlines are allowed.
+In addition, the content must be legal XML, so that the special XML
+escape sequences for &quot;, &amp;, &lt;, and &gt; may be necessary
+in order to embed these characters in attribute values or raw text.
+<P>
+Both quoted strings and HTML strings are scanned as a unit, so
+any embedded comments will be treated as part of the strings.
+<P>
+An <I>edgeop</I> is <TT>-></TT> in directed graphs and <TT>--</TT> in
+undirected graphs.
+<P>
+An <I>a_list</I> clause of the form <I>ID</I> is equivalent to
+<I>ID</I><TT>=true</TT>.
+<P>
+The language supports C++-style comments: <TT>/* */</TT> and <TT>//</TT>.
+In addition, a line beginning with a '#' character is considered a line
+output from a C preprocessor (e.g., # 34 to indicate line 34 ) and discarded.
+<P>
+Semicolons aid readability but are not required except in the rare case
+that a named subgraph with no body immediately preceeds an anonymous
+subgraph, since the precedence rules cause this sequence to be parsed as
+a subgraph with a heading and a body.
+<P>
+As another aid for readability, dot allows single logical lines to
+span multiple physical lines using the standard C convention of a
+backslash immediately preceding a newline character. In addition,
+double-quoted strings can be concatenated using a '+' operator.
+As HTML strings can contain newline characters, they do not support the
+concatenation operator.
+<H2>Semantic Notes</H2>
+If a default attribute is
+defined using a <B>node</B>, <B>edge</B>, or <B>graph</B> statement,
+or by an attribute assignment not attached to a node or edge, any object of the
+appropriate type defined afterwards will inherit this attribute value.
+This holds until the default attribute is set to a new value, from which
+point the new value is used. Objects defined before a default attribute
+is set will have an empty string value attached to the attribute once
+the default attribute definition is made.
+<P>
+Note, in particular, that a subgraph receives the attribute settings of
+its parent graph at the time of its definition. This can be useful; for
+example, one can assign a font to the root graph and all subgraphs will
+also use the font. For some attributes, however, this property is
+undesirable. If one attaches a label to the root graph, it is probably
+not the desired effect to have the label used by all subgraphs. Rather
+than listing the graph attribute at the top of the graph, and the
+resetting the attribute as needed in the subgraphs, one can simple defer
+the attribute definition if the graph until the appropriate subgraphs
+have been defined.
+<H2>Character encodings</H2>
+The DOT language assumes at least the ascii character set.
+Quoted strings, both ordinary and HTML-like, may contain non-ascii characters.
+In most cases, these strings are uninterpreted: they simply serve as
+unique identifiers or values passed through untouched. Labels, however,
+are meant to be displayed, which requires that the software be able to
+compute the size of the text and determine the appropriate glyphs.
+For this, it needs to know what character encoding is used.
+<P>
+By default, DOT assumes the UTF-8 character encoding. It also accepts
+the Latin1 (ISO-8859-1) character set, assuming the input graph uses
+the <B><A HREF=attrs.html#a:charset>charset</A></B> attribute to
+specify this. For graphs using other
+character sets, there are usually programs, such as <TT>iconv</TT>, which
+will translate from one character set to another.
+<P>
+Another way to avoid non-ascii characters in labels is to use HTML entities
+for special characters. During label evaluation, these entities are
+translated into the underlying character. This
+<a HREF="http://www.graphviz.org/doc/char.html">
+table</a> shows the supported entities, with their Unicode value, a typical
+glyph, and the HTML entity name. Thus, to include a lower-case Greek beta
+into a string, one can use the ascii sequence <TT>&amp;beta;</TT>.
+In general, one should only use entities that are allowed in the output
+character set, and for which there is a glyph in the font.
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/mrecord.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/mrecord.gif
new file mode 100644
index 0000000..7a335c7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/mrecord.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/nohead.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/nohead.gif
new file mode 100644
index 0000000..5918f8b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/nohead.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/none.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/none.gif
new file mode 100644
index 0000000..859fa07
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/none.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/note.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/note.gif
new file mode 100644
index 0000000..13629e8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/note.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/octagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/octagon.gif
new file mode 100644
index 0000000..abaffa6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/octagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/output.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/output.html
new file mode 100644
index 0000000..678624a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/output.html
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!--
+ This is a generated document. Do not edit.
+-->
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>Output Formats</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 align=CENTER>Output Formats</H1>
+<HR>
+The output format is specified with the <STRONG>-T</STRONG><I>lang</I>
+flag on the <A HREF=command.html>command line</A>, where <I>lang</I>
+is one of the parameters listed below.
+<P>
+The formats actually available in a given Graphviz system depend on
+how the system was built and the presence of additional libraries.
+To see what formats <b>dot</b> supports, run <TT>dot -T?</TT>.
+See the <A HREF=command.html#d.T> description of the -T</A>
+flag for additional information.
+<P>
+Note that the internal coordinate system has the origin
+in the lower left corner.
+Thus, positions in the
+<A HREF=#d:canon>canon</A>,
+<A HREF=#d:dot>dot</A>,
+<A HREF=#d:xdot>xdot</A>,
+<A HREF=#d:plain>plain</A>, and
+<A HREF=#d:plain-ext>plain-ext</A>
+formats need to be interpreted in this manner.
+<P>
+<TABLE ALIGN=CENTER>
+<TR><TH>Command-line<BR>parameter</TH><TH>Format</TH></TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:bmp HREF=#d:bmp>bmp</A>
+</TD><TD>Windows Bitmap Format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:canon HREF=#d:canon>canon</A>
+<BR><A NAME=a:dot HREF=#d:dot>dot</A>
+<BR><A NAME=a:xdot HREF=#d:xdot>xdot</A>
+</TD><TD>DOT</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:cmap HREF=#d:cmap>cmap</A>
+</TD><TD>Client-side imagemap (deprecated)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:dia HREF=#d:dia>dia</A>
+</TD><TD>Dia format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:eps HREF=#d:eps>eps</A>
+</TD><TD>Encapsulated PostScript</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:fig HREF=#d:fig>fig</A>
+</TD><TD>FIG</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:gd HREF=#d:gd>gd</A>
+<BR><A NAME=a:gd2 HREF=#d:gd2>gd2</A>
+</TD><TD>GD/GD2 formats</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:gif HREF=#d:gif>gif</A>
+</TD><TD>GIF</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:gtk HREF=#d:gtk>gtk</A>
+</TD><TD>GTK canvas</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:hpgl HREF=#d:hpgl>hpgl</A>
+</TD><TD>HP-GL/2</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:ico HREF=#d:ico>ico</A>
+</TD><TD>Icon Image File Format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:imap HREF=#d:imap>imap</A>
+<BR><A NAME=a:cmapx HREF=#d:cmapx>cmapx</A>
+</TD><TD>Server-side and client-side imagemaps</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:imap_np HREF=#d:imap_np>imap_np</A>
+<BR><A NAME=a:cmapx_np HREF=#d:cmapx_np>cmapx_np</A>
+</TD><TD>Server-side and client-side imagemaps</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:ismap HREF=#d:ismap>ismap</A>
+</TD><TD>Server-side imagemap (deprecated)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:jpg HREF=#d:jpg>jpg</A>
+<BR><A NAME=a:jpeg HREF=#d:jpeg>jpeg</A>
+<BR><A NAME=a:jpe HREF=#d:jpe>jpe</A>
+</TD><TD>JPEG</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:mif HREF=#d:mif>mif</A>
+</TD><TD>FrameMaker MIF format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:mp HREF=#d:mp>mp</A>
+</TD><TD>MetaPost</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:pcl HREF=#d:pcl>pcl</A>
+</TD><TD>PCL</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:pdf HREF=#d:pdf>pdf</A>
+</TD><TD>Portable Document Format (PDF)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:pic HREF=#d:pic>pic</A>
+</TD><TD>PIC</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:plain HREF=#d:plain>plain</A>
+<BR><A NAME=a:plain-ext HREF=#d:plain-ext>plain-ext</A>
+</TD><TD>Simple text format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:png HREF=#d:png>png</A>
+</TD><TD>Portable Network Graphics format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:ps HREF=#d:ps>ps</A>
+</TD><TD>PostScript</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:ps2 HREF=#d:ps2>ps2</A>
+</TD><TD>PostScript for PDF</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:svg HREF=#d:svg>svg</A>
+<BR><A NAME=a:svgz HREF=#d:svgz>svgz</A>
+</TD><TD>Scalable Vector Graphics</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:tga HREF=#d:tga>tga</A>
+</TD><TD>Truevision Targa Format (TGA)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:tif HREF=#d:tif>tif</A>
+<BR><A NAME=a:tiff HREF=#d:tiff>tiff</A>
+</TD><TD>TIFF (Tag Image File Format)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:vml HREF=#d:vml>vml</A>
+<BR><A NAME=a:vmlz HREF=#d:vmlz>vmlz</A>
+</TD><TD>Vector Markup Language (VML)</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:vrml HREF=#d:vrml>vrml</A>
+</TD><TD>VRML</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:vtx HREF=#d:vtx>vtx</A>
+</TD><TD>Visual Thought format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:wbmp HREF=#d:wbmp>wbmp</A>
+</TD><TD>Wireless BitMap format</TD> </TR>
+ <TR><TD ALIGN=CENTER><A NAME=a:xlib HREF=#d:xlib>xlib</A>
+</TD><TD>Xlib canvas</TD> </TR>
+</TABLE>
+<HR>
+<H2>Format Descriptions</H2>
+<DL>
+<DT><A NAME=d:bmp HREF=#a:bmp><STRONG>bmp</STRONG></A>
+<DD>Outputs images in the Windows <A HREF="http://en.wikipedia.org/wiki/Bitmap">BMP</A> format.
+
+<DT><A NAME=d:canon HREF=#a:canon><STRONG>canon</STRONG></A>
+,<DT><A NAME=d:dot HREF=#a:dot><STRONG>dot</STRONG></A>
+,<DT><A NAME=d:xdot HREF=#a:xdot><STRONG>xdot</STRONG></A>
+<DD>These formats produce output in the
+<A HREF=lang.html>dot language</A>.
+Using <B>canon</B> produces a prettyprinted version of the input,
+with no layout performed.
+<P>
+The <B>dot</B> option corresponds to attributed dot output,
+and is the default output format.
+It reproduces the input, along with layout information for the graph.
+In particular, a <A HREF=attrs.html#d:bb>bb</A> attribute is
+attached to the graph, specifying the bounding box of the drawing.
+If the graph has a label, its position is specified by the
+<A HREF=attrs.html#d:lp>lp</A> attribute.
+<P>
+Each node gets <A HREF=attrs.html#d:pos>pos</A>,
+<A HREF=attrs.html#d:width>width</A> and
+<A HREF=attrs.html#d:height>height</A> attributes. If the node is a record,
+the record rectangles are given in the
+<A HREF=attrs.html#d:rects>rects</A> attribute.
+If the node is a polygon and the
+<A HREF=attrs.html#d:vertices>vertices</A> attribute is defined, this
+attribute contains the vertices of the node.
+<P>
+Every edge is
+assigned a <A HREF=attrs.html#d:pos>pos</A> attribute,
+and if the edge has a label, the label position
+is given in <A HREF=attrs.html#d:lp>lp</A>.
+<P>
+The <B>xdot</B> format extends the
+<B>dot</B> format by providing much more detailed information about
+how graph components are drawn. It relies on additional attributes
+for nodes, edges and graphs.
+<P>
+The format is preliminary; comments and
+suggestions for better representations are welcome.
+To allow for changes in the format, Graphviz attaches the attribute
+<TT>xdotversion</TT> to the graph.
+<P>
+At present, additional drawing attributes are only attached to nodes
+and edges. There are six new attributes:
+<SPACER TYPE=VERTICAL size=10>
+<TABLE border bgcolor=beige>
+<TR><TD>_draw_<TD colspan=2>Drawing operations
+<TR><TD>_ldraw_<TD colspan=2>Label drawing
+<TR><TD>_hdraw_<TD>Head arrowhead<TD>Edge only
+<TR><TD>_tdraw_<TD>Tail arrowhead<TD>Edge only
+<TR><TD>_hldraw_<TD>Head label<TD>Edge only
+<TR><TD>_tldraw_<TD>Tail label<TD>Edge only
+</TABLE>
+<P>
+The value of these attributes consists of the concatenation of some
+(multi-)set of the following 12 rendering or attribute operations.
+(The number is parentheses gives the xdot version when the operation
+was added to the format. If no version number is given, the operation
+was in the original specification.)
+<SPACER TYPE=VERTICAL size=10>
+<TABLE border bgcolor=beige>
+<TR><TD>E x<sub>0</sub> y<sub>0</sub> w h
+<TD>Filled ellipse ((x-x<sub>0</sub>)/w)<sup>2</sup> + ((y-y<sub>0</sub>)/h)<sup>2</sup> = 1
+<TR><TD>e x<sub>0</sub> y<sub>0</sub> w h
+<TD>Unfilled ellipse ((x-x<sub>0</sub>)/w)<sup>2</sup> + ((y-y<sub>0</sub>)/h)<sup>2</sup> = 1
+<TR><TD>P n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
+<TD>Filled polygon using the given n points
+<TR><TD>p n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
+<TD>Unfilled polygon using the given n points
+<TR><TD>L n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
+<TD>Polyline using the given n points
+<TR><TD>B n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
+<TD>B-spline using the given n control points
+<TR><TD>b n x<sub>1</sub> y<sub>1</sub> ... x<sub>n</sub> y<sub>n</sub>
+<TD>Filled B-spline using the given n control points (1.1)
+<TR><TD>T x y j w n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Text drawn using the baseline point (x,y). The text consists of the
+n characters following '-'. The text should be left-aligned (centered,
+right-aligned) on the point if j is -1 (0, 1), respectively. The value
+w gives the width of the text as computed by the library.
+<TR><TD>C n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Set fill color. The color value consists of the
+n characters following '-'. (1.1)
+<TR><TD>c n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Set pen color. The color value consists of the
+n characters following '-'. (1.1)
+<TR><TD>F s n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Set font. The font size is s points. The font name consists of the
+n characters following '-'. (1.1)
+<TR><TD>S n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Set style attribute. The style value consists of the
+n characters following '-'. The syntax of the value is the same as
+specified for a <B>styleItem</B> in <A HREF=attrs.html#k:style>style</A>. (1.1)
+<TR><TD>I x y w h n -<I>c<sub>1</sub>c<sub>2</sub>...c<sub>n</sub><I>
+<TD>Externally-specified image drawn in the box with lower left
+corner (x,y) and upper right corner (x+w,y+h). The name of the image
+consists of the n characters following '-'. This is usually a bitmap
+image. Note that the image size, even when converted from pixels to
+points, might be different from the required size (w,h). It is
+assumed the renderer will perform the necessary scaling. (1.2)
+</TABLE>
+<SPACER TYPE=VERTICAL size=10>
+In handling alignment, the application may want to recompute the
+string width using its own rendering primitives.
+<P>
+The text operation is only used in the label attributes. Normally,
+the non-text operations are only used in the non-label attributes.
+If, however, the <A HREF=attrs.html#d:decorate>decorate</A>
+attribute is set on an edge, its label
+attribute will also contain a polyline operation.
+In addition, if a label is a complex, HTML-like label, it will also
+contain non-text operations.
+<P>
+All coordinates and sizes are in points.
+Note though that if
+an edge or node is invisible, no drawing operations are attached to it.
+<P>
+Version info:
+<TABLE border >
+<TR><TH>Xdot version</TH><TH>Graphviz version</TH></TR>
+<TR><TD>1.0</TD><TD>1.9</TD></TR>
+<TR><TD>1.1</TD><TD>2.8</TD></TR>
+<TR><TD>1.2</TD><TD>2.13</TD></TR>
+</TABLE>
+
+<DT><A NAME=d:cmap HREF=#a:cmap><STRONG>cmap</STRONG></A>
+<DD>Produces map files for client-side image maps. The cmap format is
+mostly identical to cmapx, but the latter is well-formed XML amenable
+to processing by XML tools. In particular, the cmapx output is wrapped in
+&lt;map&gt;&lt;/map&gt;.
+
+<DT><A NAME=d:dia HREF=#a:dia><STRONG>dia</STRONG></A>
+<DD>Produces <A HREF="http://www.gnome.org/projects/dia/">Dia</A> output.
+
+<DT><A NAME=d:eps HREF=#a:eps><STRONG>eps</STRONG></A>
+<DD>Produces Encapsulated PostScript output.
+At present, this is only guaranteed to be correct for a single
+input graph since the Bounding Box information has to appear
+at the beginning of the output, and this will be based on the first graph.
+
+<DT><A NAME=d:fig HREF=#a:fig><STRONG>fig</STRONG></A>
+<DD>Outputs graphs in the FIG graphics language.
+
+<DT><A NAME=d:gd HREF=#a:gd><STRONG>gd</STRONG></A>
+,<DT><A NAME=d:gd2 HREF=#a:gd2><STRONG>gd2</STRONG></A>
+<DD>Output images in the GD and GD2 format. These are the internal
+formats used by the gd library. The latter is compressed.
+
+<DT><A NAME=d:gif HREF=#a:gif><STRONG>gif</STRONG></A>
+<DD>Outputs GIF bitmap images.
+
+<DT><A NAME=d:gtk HREF=#a:gtk><STRONG>gtk</STRONG></A>
+<DD>Creates a <A HREF="http://www.gtk.org/">GTK</A> window and displays the output there.
+
+<DT><A NAME=d:hpgl HREF=#a:hpgl><STRONG>hpgl</STRONG></A>
+<DD>Produces output in the HP-GL/2 vector graphic printer language.
+
+<DT><A NAME=d:ico HREF=#a:ico><STRONG>ico</STRONG></A>
+<DD>Outputs images in the Windows <A HREF="http://en.wikipedia.org/wiki/ICO_(icon_image_file_format)">ICO format</A>.
+
+<DT><A NAME=d:imap HREF=#a:imap><STRONG>imap</STRONG></A>
+,<DT><A NAME=d:cmapx HREF=#a:cmapx><STRONG>cmapx</STRONG></A>
+<DD>Produces map files for server-side and client-side image maps,
+These can be used in a web page with
+a graphical form of the output, e.g. in JPEG or GIF format, to attach
+links to nodes and edges. For example, to create a server-side map
+given the dot file
+<PRE>
+/* x.dot */
+digraph mainmap {
+ URL="http://www.research.att.com/base.html";
+ command [URL="http://www.research.att.com/command.html"];
+ command -> output [URL="colors.html"];
+}
+</PRE>
+one would process the graph and generate two output files:
+<PRE>
+dot -Timap -ox.map -Tgif -ox.gif x.dot
+</PRE>
+and then refer to it in a web page:
+<XMP>
+<A HREF="x.map"><IMG SRC="x.gif" ismap="ismap" /></A>
+</XMP>
+For client-side maps, one again generates two output files:
+<PRE>
+dot -Tcmapx -ox.map -Tgif -ox.gif x.dot
+</PRE>
+and uses the HTML
+<XMP>
+<IMG SRC="x.gif" USEMAP="#mainmap" />
+... [content of x.map] ...
+</XMP>
+<A HREF=attrs.html#d:URL>URLs</A> can be attached to the root
+graph, nodes and edges. If a node has a URL, clicking in the node
+will activate the link.
+If an edge has a URL, various
+points along the edge (but not necessarily the head or tail)
+will link to it. In addition, if the edge has a
+<A HREF=attrs.html#d:label>label</A>, that will link
+to the URL.
+As for the head of the edge, this is linked to the
+<A HREF=attrs.html#d:headURL>headURL</A>, if set.
+Otherwise, it is linked to the edge's URL if that is defined.
+The analogous description holds for the tail and the
+<A HREF=attrs.html#d:tailURL>tailURL</A>.
+A URL associated with the graph is used as a default link.
+<P>
+If the URL
+of a node contains the escape sequence "\N", it will be replaced by
+the node's name.
+If the headURL is defined and contains the escape sequence "\N",
+it will be replaced by
+the <A HREF=attrs.html#d:headlabel>headlabel</A>, if defined.
+The analogous result holds for the tailURL and the
+<A HREF=attrs.html#d:taillabel>taillabel</A>.
+
+<DT><A NAME=d:imap_np HREF=#a:imap_np><STRONG>imap_np</STRONG></A>
+,<DT><A NAME=d:cmapx_np HREF=#a:cmapx_np><STRONG>cmapx_np</STRONG></A>
+<DD>These are identical to the imap and cmapx formats, except they
+rely solely on rectangles as active areas.
+
+<DT><A NAME=d:ismap HREF=#a:ismap><STRONG>ismap</STRONG></A>
+<DD>Produces HTML image map files. This is a predecessor (circa 1994)
+of the IMAP format. Most servers now use the latter.
+<A HREF=attrs.html#d:URL>URLs</A> can be attached to the root graph,
+nodes and edges. Since edge
+links are attached to edge labels, an edge must
+have a <A HREF=attrs.html#d:label>label</A> for its
+URL to be used. For both nodes and edges, if the URL has the escape
+sequence "\N" embedded in its string, this will be replaced with the
+node or edge name.
+
+<DT><A NAME=d:jpg HREF=#a:jpg><STRONG>jpg</STRONG></A>
+,<DT><A NAME=d:jpeg HREF=#a:jpeg><STRONG>jpeg</STRONG></A>
+,<DT><A NAME=d:jpe HREF=#a:jpe><STRONG>jpe</STRONG></A>
+<DD>Output JPEG compressed image files.
+
+<DT><A NAME=d:mif HREF=#a:mif><STRONG>mif</STRONG></A>
+<DD>Generates Frame Maker MIF files.
+
+<DT><A NAME=d:mp HREF=#a:mp><STRONG>mp</STRONG></A>
+<DD>Produces <A HREF="http://cm.bell-labs.com/who/hobby/MetaPost.html">MetaPost</A> output.
+
+<DT><A NAME=d:pcl HREF=#a:pcl><STRONG>pcl</STRONG></A>
+<DD>Produces output in the PCL printer language.
+<A HREF=#d:hpgl>HP-GL</A> is a subset of
+PCL, so that PCL output is the same as HP-GL, wrapped with some initial
+and final commands to set the printer to and from HP-GL mode.
+
+<DT><A NAME=d:pdf HREF=#a:pdf><STRONG>pdf</STRONG></A>
+<DD>Produces <A HREF="http://www.adobe.com/devnet/pdf/">PDF</A> output.
+(This option assumes Graphviz includes the Cairo renderer.)
+Alternatively, one can use the <A HREF="#d:ps2">ps2</A> option to
+produce PDF-compatible PostScript, and then use a ps-to-pdf converter.
+<P>
+Note: At present, this option does not support anchors, etc. To get these
+included in your PDF output, use <A HREF="#d:ps2">ps2</A>.
+
+<DT><A NAME=d:pic HREF=#a:pic><STRONG>pic</STRONG></A>
+<DD>Outputs in PIC, the picture description language in the troff-family
+
+<DT><A NAME=d:plain HREF=#a:plain><STRONG>plain</STRONG></A>
+,<DT><A NAME=d:plain-ext HREF=#a:plain-ext><STRONG>plain-ext</STRONG></A>
+<DD>The plain and plain-ext formats produce output using
+a simple, line-based language.
+The latter format differs in that, on edges, it provides port names
+on head and tail nodes when applicable.
+<P>
+There are four types of statements.
+<PRE>
+ <STRONG>graph</STRONG> <I>scale</I> <I>width</I> <I>height</I>
+ <STRONG>node</STRONG> <I>name</I> <I>x</I> <I>y</I> <I>width</I> <I>height</I> <I>label</I> <I>style</I> <I>shape</I> <I>color</I> <I>fillcolor</I>
+ <STRONG>edge</STRONG> <I>tail</I> <I>head</I> <I>n</I> <I>x<sub>1</sub></I> <I>y<sub>1</sub></I> .. <I>x<sub>n</sub></I> <I>y<sub>n</sub></I> [<I>label</I> <I>xl</I> <I>yl</I>] <I>style</I> <I>color</I>
+ <STRONG>stop</STRONG>
+</PRE>
+<DL>
+<DT><STRONG>graph</STRONG>
+<DD>The <I>width</I> and <I>height</I> values give the width and height
+of the drawing. The lower left corner of the drawing is at the origin.
+The <I>scale</I> value indicates how the drawing should be scaled
+if a <A HREF=attrs.html#d:size>size</A> attribute was given and the drawing
+needs to be scaled to conform to that size. If no scaling is necessary,
+it will be set to 1.0. Note that all graph, node and edge
+coordinates and lengths are given unscaled.
+<DT><STRONG>node</STRONG>
+<DD>The <I>name</I> value is the name of the node, and <I>x</I> and <I>y</I>
+give the node's position. The <I>width</I> and <I>height</I> are the
+width and height of the node.
+The <I>label</I>,
+<I>style</I>, <I>shape</I>, <I>color</I> and <I>fillcolor</I> give the
+node's <A HREF=attrs.html#d:label>label</A>,
+<A HREF=attrs.html#d:style>style</A>, <A HREF=attrs.html#d:shape>shape</A>,
+<A HREF=attrs.html#d:color>color</A> and
+<A HREF=attrs.html#d:fillcolor>fillcolor</A>,
+respectively, using attribute default values where necessary. If the
+node does not have a style attribute, "solid" is used.
+<DT><STRONG>edge</STRONG>
+<DD>The <I>tail</I> and <I>head</I> values give the names of the head and
+tail nodes. In plain-ext format, the head or tail name will be appended
+with a colon and a portname if the edge connects to the node at a port.
+<I>n</I> is the number of control points defining the
+B-spline forming the edge. This is followed by 2*<I>n</I> numbers giving
+the x and y coordinates of the control points in order from tail to head.
+If the edge has a <A HREF=attrs.html#d:label>label</A>, this comes next
+followed by the x and y coordinates of the label's position.
+The edge description is completed by the edge's
+<A HREF=attrs.html#d:style>style</A> and <A HREF=attrs.html#d:color>color</A>.
+As with nodes, if a style is not defined, "solid" is used.
+<P>
+<B>Note:</B> The control points given in an edge statement define the
+body of the edge. In particular, if the edge has an arrowhead to the
+head or tail node,
+there will be a gap between the last or first control points and the
+boundary of the associated node. There are at least 3 possible ways
+of handling this gap:
+<UL>
+<LI> Arrange that the input graph uses <TT>dir=none</TT>,
+<TT>arrowhead=none</TT>, or <TT>arrowtail=none</TT> for all edges.
+In this case, the terminating control points will always touch the node.
+<LI> Consider the line segment joining the control point and the center
+of the node, and determine the point where the segment intersects the
+node's boundary. Then use the control point and the intersection point
+as the main axis of an arrowhead. The problem with this approach is
+that, if the edge has a port, the edge will not be pointing to the
+center of the node. In this case, rather than use the control point
+and center point, one can use the control point and its tangent.
+<LI> Arrange that the input graph uses <TT>headclip=false</TT> or
+<TT>tailclip=false</TT>. In this case, the edge will terminate at
+the node's center rather than its boundary. If arrowheads are used,
+there will still be a gap, but normally this will occur within the
+node. The application will still need to clip the spline to the node
+boundary. Also, as with the previous item, if the edge points to
+a node port, this technique will fail.
+</UL>
+</DL>
+The output consists of one <STRONG>graph</STRONG> line, a sequence of
+<STRONG>node</STRONG> lines, one per node, a sequence of
+<STRONG>edge</STRONG> lines, one per edge, and a final <STRONG>stop</STRONG>
+line. All units are in inches, represented by a floating point number.
+<P>
+Note that the plain formats provide minimal information, really giving not
+much more than node positions and sizes, and edge spline control points.
+These formats are usually most useful to applications wanting just this
+geometric information, and willing to fill in all of the graphical details.
+The only real advantages to these formats is their terseness and their
+ease of parsing. In general, the <A HREF=#d:dot>dot</A> and
+<A HREF=#d:xdot>xdot</A> are preferable in terms of the quantity of
+information provided.
+
+<DT><A NAME=d:png HREF=#a:png><STRONG>png</STRONG></A>
+<DD>Produces output in the PNG (Portable Network Graphics) format.
+
+<DT><A NAME=d:ps HREF=#a:ps><STRONG>ps</STRONG></A>
+<DD>Produces PostScript output.
+<P>
+Note: The default PostScript renderer can only handle the Latin-1
+character set. To get non-Latin-1 characters into PostScript output,
+use <TT>-Tps:cairo</TT>, assuming your version was built with the
+Cairo renderer.
+
+<DT><A NAME=d:ps2 HREF=#a:ps2><STRONG>ps2</STRONG></A>
+<DD>Produces PostScript output with PDF notations. It is assumed the output
+will be directly converted into PDF format. The notations include PDF
+bounding box information, so that the resulting PDF file can be correctly
+used with pdf tools, such as <STRONG>pdflatex</STRONG>.
+In addition, if a node has a URL
+attribute, this gets translated into PDF code such that the node,
+when viewed in a PDF-viewer, e.g.,
+<STRONG>acroread</STRONG>,
+is a link to the given URL. If a URL is attached to the graph, this serves
+as a base, such that relative URLs on nodes are derived from it.
+
+<DT><A NAME=d:svg HREF=#a:svg><STRONG>svg</STRONG></A>
+,<DT><A NAME=d:svgz HREF=#a:svgz><STRONG>svgz</STRONG></A>
+<DD>Produce <A HREF="http://www.adobe.com/svg/">SVG</A> output,
+the latter in compressed format.
+
+<DT><A NAME=d:tga HREF=#a:tga><STRONG>tga</STRONG></A>
+<DD>Produces <A HREF="http://en.wikipedia.org/wiki/Truevision_TGA">Targa</A> output.
+
+<DT><A NAME=d:tif HREF=#a:tif><STRONG>tif</STRONG></A>
+,<DT><A NAME=d:tiff HREF=#a:tiff><STRONG>tiff</STRONG></A>
+<DD>Produces <A HREF="http://www.libtiff.org/">TIFF</A> output.
+
+<DT><A NAME=d:vml HREF=#a:vml><STRONG>vml</STRONG></A>
+,<DT><A NAME=d:vmlz HREF=#a:vmlz><STRONG>vmlz</STRONG></A>
+<DD>Produces <A HREF="http://www.w3.org/TR/NOTE-VML">VML</A> output,
+the latter in compressed format.
+
+<DT><A NAME=d:vrml HREF=#a:vrml><STRONG>vrml</STRONG></A>
+<DD>Outputs graphs in the <A HREF="http://www.vrml.org/">VRML</A> format.
+To get a 3D embedding, nodes must have a <A HREF=attrs.html#d:z>z</A>
+attribute. These can either be supplied as part of the input graph, or
+be generated by neato provided <A HREF=attrs.html#d:dim>dim</A><TT>=3</TT>
+and at least one node has a <B>z</B> value.
+<P>
+Line segments are drawn as cylinders.
+In general, VRML output relies on having the PNG library to produce images
+used to texture-fill the node shapes. However, if
+<A HREF=attrs.html#d:shape>shape</A><TT>=point</TT>,
+a node is drawn as a 3D sphere.
+
+<DT><A NAME=d:vtx HREF=#a:vtx><STRONG>vtx</STRONG></A>
+<DD>Generates graph diagrams in the format for
+<A HREF="http://www.bombshellstudios.com/samples/co/vt.html">Confluents's Visual Thought</A>.
+
+<DT><A NAME=d:wbmp HREF=#a:wbmp><STRONG>wbmp</STRONG></A>
+<DD>Produces output in the Wireless BitMap (WBMP) format, optimized for
+mobile computing.
+
+<DT><A NAME=d:xlib HREF=#a:xlib><STRONG>xlib</STRONG></A>
+<DD>Creates an <A HREF="http://en.wikipedia.org/wiki/Xlib">Xlib</A> window and displays the output there.
+
+</DL>
+<HR>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/parallelogram.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/parallelogram.gif
new file mode 100644
index 0000000..1501a70
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/parallelogram.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/pentagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/pentagon.gif
new file mode 100644
index 0000000..b923ff1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/pentagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/plaintext.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/plaintext.gif
new file mode 100644
index 0000000..8f58756
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/plaintext.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/point.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/point.gif
new file mode 100644
index 0000000..88be2af
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/point.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/polygon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/polygon.gif
new file mode 100644
index 0000000..e147789
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/polygon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/record.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/record.gif
new file mode 100644
index 0000000..fba5656
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/record.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rect.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rect.gif
new file mode 100644
index 0000000..ee4eb88
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rect.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rectangle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rectangle.gif
new file mode 100644
index 0000000..ee4eb88
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/rectangle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/round.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/round.gif
new file mode 100644
index 0000000..9968b3b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/round.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/septagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/septagon.gif
new file mode 100644
index 0000000..e147789
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/septagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/shapes.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/shapes.html
new file mode 100644
index 0000000..1c0d9c2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/shapes.html
@@ -0,0 +1,789 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!--
+ This is a generated document. Do not edit.
+-->
+<HTML VERSION="2.0">
+<HEAD>
+<TITLE>Node Shapes</TITLE>
+</HEAD>
+<BODY BGCOLOR=white>
+<A NAME="top"></A>
+<H1 align=CENTER>Node Shapes</H1>
+<HR>
+The geometries of all node shapes are affected by
+the node attributes
+<A HREF=attrs.html#d:fixedsize><TT>fixedsize</TT></A>,
+<A HREF=attrs.html#d:fontname><TT>fontname</TT></A>,
+<A HREF=attrs.html#d:fontsize><TT>fontsize</TT></A>,
+<A HREF=attrs.html#d:height><TT>height</TT></A>,
+<A HREF=attrs.html#d:label><TT>label</TT></A>,
+<A HREF=#d:style><TT>style</TT></A> and
+<A HREF=attrs.html#d:width><TT>width</TT></A>.
+
+<H2><A NAME=polygon>Polygon-based Nodes</A></H2>
+The possible polygon-based shapes are displayed below.
+<TABLE ALIGN="CENTER">
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="box.gif"><BR><A NAME="d:box">box</A></TD>
+ <TD><IMG SRC="polygon.gif"><BR><A NAME="d:polygon">polygon</A></TD>
+ <TD><IMG SRC="ellipse.gif"><BR><A NAME="d:ellipse">ellipse</A></TD>
+ <TD><IMG SRC="circle.gif"><BR><A NAME="d:circle">circle</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="point.gif"><BR><A NAME="d:point">point</A></TD>
+ <TD><IMG SRC="egg.gif"><BR><A NAME="d:egg">egg</A></TD>
+ <TD><IMG SRC="triangle.gif"><BR><A NAME="d:triangle">triangle</A></TD>
+ <TD><IMG SRC="plaintext.gif"><BR><A NAME="d:plaintext">plaintext</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="diamond.gif"><BR><A NAME="d:diamond">diamond</A></TD>
+ <TD><IMG SRC="trapezium.gif"><BR><A NAME="d:trapezium">trapezium</A></TD>
+ <TD><IMG SRC="parallelogram.gif"><BR><A NAME="d:parallelogram">parallelogram</A></TD>
+ <TD><IMG SRC="house.gif"><BR><A NAME="d:house">house</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="pentagon.gif"><BR><A NAME="d:pentagon">pentagon</A></TD>
+ <TD><IMG SRC="hexagon.gif"><BR><A NAME="d:hexagon">hexagon</A></TD>
+ <TD><IMG SRC="septagon.gif"><BR><A NAME="d:septagon">septagon</A></TD>
+ <TD><IMG SRC="octagon.gif"><BR><A NAME="d:octagon">octagon</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="doublecircle.gif"><BR><A NAME="d:doublecircle">doublecircle</A></TD>
+ <TD><IMG SRC="doubleoctagon.gif"><BR><A NAME="d:doubleoctagon">doubleoctagon</A></TD>
+ <TD><IMG SRC="tripleoctagon.gif"><BR><A NAME="d:tripleoctagon">tripleoctagon</A></TD>
+ <TD><IMG SRC="invtriangle.gif"><BR><A NAME="d:invtriangle">invtriangle</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="invtrapezium.gif"><BR><A NAME="d:invtrapezium">invtrapezium</A></TD>
+ <TD><IMG SRC="invhouse.gif"><BR><A NAME="d:invhouse">invhouse</A></TD>
+ <TD><IMG SRC="Mdiamond.gif"><BR><A NAME="d:Mdiamond">Mdiamond</A></TD>
+ <TD><IMG SRC="Msquare.gif"><BR><A NAME="d:Msquare">Msquare</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="Mcircle.gif"><BR><A NAME="d:Mcircle">Mcircle</A></TD>
+ <TD><IMG SRC="rect.gif"><BR><A NAME="d:rect">rect</A></TD>
+ <TD><IMG SRC="rectangle.gif"><BR><A NAME="d:rectangle">rectangle</A></TD>
+ <TD><IMG SRC="none.gif"><BR><A NAME="d:none">none</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="note.gif"><BR><A NAME="d:note">note</A></TD>
+ <TD><IMG SRC="tab.gif"><BR><A NAME="d:tab">tab</A></TD>
+ <TD><IMG SRC="folder.gif"><BR><A NAME="d:folder">folder</A></TD>
+ <TD><IMG SRC="box3d.gif"><BR><A NAME="d:box3d">box3d</A></TD>
+ </TR>
+ <TR ALIGN="CENTER">
+ <TD><IMG SRC="component.gif"><BR><A NAME="d:component">component</A></TD>
+ </TR>
+</TABLE>
+As the figures suggest, the shapes <TT>rect</TT> and <TT>rectangle</TT> are synonyms for <TT>box</TT>, and <TT>none</TT> is a synonym for <TT>plaintext</TT>.
+Also, unlike the rest, we have shown <TT>none</TT> and <TT>plaintext</TT>
+without <TT>style=filled</TT>
+to indicate the normal use. If fill were turned on, the label text would
+appear in a filled rectangle.
+<P>
+The geometries of polygon-based shapes are also affected
+by the node attributes
+<A HREF=attrs.html#d:regular><TT>regular</TT></A>,
+<A HREF=attrs.html#d:peripheries><TT>peripheries</TT></A> and
+<A HREF=attrs.html#d:orientation><TT>orientation</TT></A>.
+If <TT>shape="polygon"</TT>, the attributes
+<A HREF=attrs.html#d:sides><TT>sides</TT></A>,
+<A HREF=attrs.html#d:skew><TT>skew</TT></A> and
+<A HREF=attrs.html#d:distortion><TT>distortion</TT></A> are also used.
+If unset, they default to 4, 0.0 and 0.0, respectively.
+In addition, the 3 M* shapes support auxiliary labels using
+the <A HREF=attrs.html#d:toplabel><TT>toplabel</TT></A> and
+<A HREF=attrs.html#d:bottomlabel><TT>bottomlabel</TT></A> attributes.
+On the other hand, the point shape is special in that it is
+only affected by the <A HREF=attrs.html#d:peripheries><TT>peripheries</TT></A>,
+<A HREF=attrs.html#d:width><TT>width</TT></A> and
+<A HREF=attrs.html#d:height><TT>height</TT></A> attributes.
+
+<H2><A NAME=record>Record-based Nodes</A></H2>
+These are specified by shape values of "record" and "Mrecord".
+The structure of a record-based node is determined by
+its <A HREF=attrs.html#d:label><TT>label</TT></A>,
+which has the following schema:
+ <TABLE>
+ <TR><TD ALIGN=right><I>rlabel</I><TD>=<TD><I>field</I> ( '|' <I>field</I> )*</TR>
+ <TR><TD ALIGN=right>where <I>field</I><TD>=<TD>fieldId</I> or '{' <I>rlabel</I> '}'</TR>
+ <TR><TD ALIGN=right>and <I>fieldId</I><TD>=<TD> [ '<' <I>string</I> '>'] [ <I>string</I> ]</TR>
+ </TABLE>
+Literal braces, vertical bars and angle brackets must be escaped.
+Spaces are interpreted as separators between tokens,
+so they must be escaped if you want spaces in the text.
+<P>
+The first string in <I>fieldId</I> assigns a portname to the field and can
+be combined with the node name to indicate where to attach an edge
+to the node. (See <A HREF=attrs.html#k:portPos>portPos</A>.)
+The second string is used as the text for the field; it supports the usual
+<A HREF=attrs.html#k:escString>escape sequences</A> \n, \l and \r.
+<P>
+Visually, a record is a box, with fields represented by alternating
+rows of horizontal or vertical subboxes. The Mrecord shape is identical
+to a record shape, except that the outermost box has rounded corners.
+Flipping between horizontal and vertical layouts is done by nesting
+fields in braces "{...}". The top-level orientation in a record is
+horizontal. Thus, a record with label "A | B | C | D" will have 4 fields
+oriented left to right, while "{A | B | C | D}" will have them
+from top to bottom and "A | { B | C } | D" will have "B" over "C", with
+"A" to the left and "D" to the right of "B" and "C".
+<P>
+The initial orientation of a record node depends on the
+<A HREF="attrs.html#d:rankdir">rankdir</A> attribute. If this attribute
+is <TT>TB</TT> (the default) or <TT>TB</TT>, corresponding to vertical
+layouts, the top-level fields in a record are displayed horizontally.
+If, however, this attribute is <TT>LR</TT> or <TT>RL</TT>,
+corresponding to horizontal layouts, the top-level fields are
+displayed vertically.
+<P>
+As an example of a record node, the dot input
+<XMP>
+digraph structs {
+ node [shape=record];
+ struct1 [label="<f0> left|<f1> mid\ dle|<f2> right"];
+ struct2 [label="<f0> one|<f1> two"];
+ struct3 [label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
+ struct1:f1 -> struct2:f0;
+ struct1:f2 -> struct3:here;
+}
+</XMP>
+
+yields the figure<BR>
+<IMG SRC=record.gif>
+<P>
+If we add the line
+<XMP>
+ rankdir=LR
+</XMP>
+we get the layout<BR>
+<IMG SRC=record2.gif>
+<P>
+If we change node <TT>struct1</TT> to have shape <TT>Mrecord</TT>,
+it then looks like:<BR>
+<IMG SRC=mrecord.gif>
+
+<H2><A NAME="d:style">Styles for Nodes</A></H2>
+The <A HREF=attrs.html#d:style><TT>style</TT></A>
+attribute can be used to modify the appearance of a node.
+At present, there are 8 style values recognized:
+<TT>filled</TT>, <TT>invisible</TT>, <TT>diagonals</TT>, <TT>rounded</TT>.
+<TT>dashed</TT>, <TT>dotted</TT>, <TT>solid</TT> and <TT>bold</TT>.
+As usual, the value of the <A HREF=attrs.html#d:style><TT>style</TT></A>
+attribute can be a comma-separated list of any of these. If the
+style contains conflicts (e.g, <TT>style="dotted, solid"</TT>), the last
+attribute wins.
+<DL>
+<DT><A NAME=d:filled><TT>filled</TT>
+ <DD>This value indicates that the node's interior should be filled.
+The color used is the node's <TT>fillcolor</TT> or, if that's not defined, its
+<TT>color</TT>. For unfilled nodes, the interior of the node is transparent to
+whatever color is the current graph or cluster background color.
+Note that <TT>point</TT> shapes are always filled.
+<P>
+Thus, the code
+<XMP>
+digraph G {
+ rankdir=LR
+ node [shape=box, color=blue]
+ node1 [style=filled]
+ node2 [style=filled, fillcolor=red]
+ node0 -> node1 -> node2
+}
+</XMP>
+yields the figure<BR>
+<IMG SRC=fill.gif>
+
+<DT><A NAME=d:invisible><TT>invisible</TT>
+ <DD>Setting this style causes the node not to be displayed at all.
+Note that the node is still used in laying out the graph.
+
+<DT><A NAME=d:diagonals><TT>diagonals</TT>
+ <DD>The diagonals style causes small chords to be drawn near the vertices
+of the node's polygon or, in case of circles and ellipses, two chords near
+the top and the bottom of the shape. The special node shapes
+<A HREF=#d:Msquare><TT>Msquare</TT></A>,
+<A HREF=#d:Mcircle><TT>Mcircle</TT></A>, and
+<A HREF=#d:Mdiamond><TT>Mdiamond</TT></A>
+are simply an ordinary square, circle and
+diamond with the diagonals style set.
+
+<DT><A NAME=d:rounded><TT>rounded</TT>
+ <DD>The rounded style causes the polygonal corners to be smoothed.
+Note that this style also applies to record-based nodes. Indeed,
+the <TT>Mrecord</TT> shape is simply shorthand for setting this style.
+Also, prior to 26 April 2005, the rounded and filled styles were
+mutually exclusive.
+<P>
+As an example of rounding, dot uses the graph
+<XMP>
+digraph R {
+ rankdir=LR
+ node [style=rounded]
+ node1 [shape=box]
+ node2 [fillcolor=yellow, style="rounded,filled", shape=diamond]
+ node3 [shape=record, label="{ a | b | c }"]
+
+ node1 -> node2 -> node3
+}
+</XMP>
+to produce the figure<BR>
+<IMG SRC=round.gif>
+<DT><A NAME=d:dashed><TT>dashed</TT>
+ <DD>This style causes the node's border to be drawn as a dashed line.
+<DT><A NAME=d:dotted><TT>dotted</TT>
+ <DD>This style causes the node's border to be drawn as a dotted line.
+<DT><A NAME=d:solid><TT>solid</TT>
+ <DD>This style causes the node's border to be drawn as a solid line,
+which is the default.
+<DT><A NAME=d:bold><TT>bold</TT>
+ <DD>This style causes the node's border to be drawn as a bold line.
+See also <A HREF=attrs.html#d:setlinewidth>setlinewidth</A>.
+
+</DL>
+
+<P>
+Additional styles may be available with a specific code generator.
+<H2><A NAME=html>HTML-Like Labels</A></H2>
+
+<B>NOTE:</B><EM>This feature is only available on versions of Graphviz
+that are newer than mid-November 2003. In particular, it is not part
+of release 1.10.</EM>
+<P>
+If the value of a label attribute
+(<A HREF=attrs.html#d:label><TT>label</TT></A> for nodes, edges, clusters, and
+graphs, and the
+<A HREF=attrs.html#d:headlabel><TT>headlabel</TT></A> and
+<A HREF=attrs.html#d:taillabel><TT>taillabel</TT></A>
+attributes of an edge) is given as an
+<A HREF=lang.html#html>HTML string</A>,
+that is, delimited by <TT>&lt;...&gt;</TT>
+rather than <TT>&quot;...&quot;</TT>,
+the label is interpreted as
+an HTML description. At their simplest, such labels
+can describe multiple lines of variously aligned text as provided by ordinary
+<A HREF=attrs.html#k:escString>string labels</A>. More generally, the
+label can specify a table similar to those provided by HTML,
+with different graphical attributes at each level.
+<P>
+<B>NOTE:</B> The features and syntax supported by these labels are
+modeled by HTML. However, there are many aspects that are relevant
+to Graphviz labels that are not in HTML and, conversely, HTML allows
+various constructs which are meaningless in Graphviz. We will generally
+refer to these labels as "HTML labels" rather than the cumbersome
+"HTML-like labels" but the reader is warned that these are not really
+HTML. The grammar below describes precisely what Graphviz will accept.
+<P>
+Although HTML labels are not, strictly speaking, a shape, they can be
+viewed as a generalization of the record shapes described above.
+In particular, if a node has set its
+<A HREF=attrs.html#k:shape><TT>shape</TT></A>
+attribute to <TT>plaintext</TT>, the HTML label will be the node's
+shape. On the other hand, if the node has any other shape (except
+<TT>point</TT>), the HTML label will be embedded within the node the
+same way an ordinary label would be.
+<P>
+The following is an abstract grammar for HTML labels.
+Terminals, corresponding to elements, are shown in bold font,
+and nonterminals in italics.
+Square brackets [ and ] enclose optional items.
+Vertical bars | separate alternatives.
+Note that, as in HTML, element and attribute names are case-insensitive
+(cf. sections 3.2.1 and 3.2.2 of the
+<A HREF="http://www.w3.org/TR/html401">HTML 4.01 specification</A>).
+
+<TABLE>
+<TR>
+ <TD ALIGN=RIGHT><I>label</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>text</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>table</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>text</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>textitem</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>text</I> <I>textitem</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>textitem</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>string</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><B>&lt;BR/&gt;</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><B>&lt;FONT&gt;</B> <I>text</I> <B>&lt;/FONT&gt;</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>table</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT>[ <B>&lt;FONT&gt;</B> ] <B>&lt;TABLE&gt;</B> <I>rows</I> <B>&lt;/TABLE&gt;</B> [ <B>&lt;/FONT&gt;</B> ]</TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>rows</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>row</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>rows</I> <I>row</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>row</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><B>&lt;TR&gt;</B> <I>cells</I> <B>&lt;/TR&gt;</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>cells</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><I>cell</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><I>cells</I> <I>cell</I></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT><I>cell</I></TD>
+ <TD ALIGN=LEFT>:</TD>
+ <TD ALIGN=LEFT><B>&lt;TD&gt;</B> <I>label</I> <B>&lt;/TD&gt;</B></TD>
+</TR>
+<TR>
+ <TD ALIGN=RIGHT></TD>
+ <TD ALIGN=LEFT>|</TD>
+ <TD ALIGN=LEFT><B>&lt;TD&gt;</B> <B>&lt;IMG/&gt;</B> <B>&lt;/TD&gt;</B></TD>
+</TR>
+</TABLE>
+<P>
+Above, a <I>string</I> is any collection of printable characters, including
+all spaces. Note that outside of the body of a &lt;TD&gt; element,
+whitespace characters are ignored; within a &lt;TD&gt; element, spaces
+are preserved but all other white space characters are discarded.
+HTML comments are allowed within an HTML string. They can occur anywhere
+provided that, if they contain part of an HTML element, they must contain
+the entire element.
+<P>
+As is obvious from the above description, the interpretation of white space
+characters is one place where HTML-like labels is very different from
+standard HTML. In HTML, any sequence of white space characters is
+collapsed to a single space, If the user does not want this to happen, the
+input must use non-breaking spaces "&amp;nbsp;". This makes sense in
+HTML, where text layout depends dynamically on the space available. In
+Graphviz, the layout is statically determined by the input, so it is
+reasonable to treat ordinary space characters as non-breaking. In addition,
+ignoring tabs and newlines allows the input text to be formatted for
+easier reading.
+<P>
+Each of the HTML elements has a set of optional attributes.
+Attribute values must appear in double quotes.
+<PRE>&lt;TABLE
+ ALIGN="CENTER|LEFT|RIGHT"
+ BGCOLOR="<I>color</I>"
+ BORDER="<I>value</I>"
+ CELLBORDER="<I>value</I>"
+ CELLPADDING="<I>value</I>"
+ CELLSPACING="<I>value</I>"
+ COLOR="<I>color</I>"
+ FIXEDSIZE="FALSE|TRUE"
+ HEIGHT="<I>value</I>"
+ HREF="<I>value</I>"
+ PORT="<I>portName</I>"
+ TARGET="<I>value</I>"
+ TITLE="<I>value</I>"
+ TOOLTIP="<I>value</I>"
+ VALIGN="MIDDLE|BOTTOM|TOP"
+ WIDTH="<I>value</I>"
+&gt;
+</PRE>
+<P>
+<PRE>&lt;TD
+ ALIGN="CENTER|LEFT|RIGHT|TEXT"
+ BALIGN="CENTER|LEFT|RIGHT"
+ BGCOLOR="<I>color</I>"
+ BORDER="<I>value</I>"
+ CELLPADDING="<I>value</I>"
+ CELLSPACING="<I>value</I>"
+ COLSPAN="<I>value</I>"
+ COLOR="<I>color</I>"
+ FIXEDSIZE="FALSE|TRUE"
+ HEIGHT="<I>value</I>"
+ HREF="<I>value</I>"
+ PORT="<I>portName</I>"
+ ROWSPAN="<I>value</I>"
+ TARGET="<I>value</I>"
+ TITLE="<I>value</I>"
+ TOOLTIP="<I>value</I>"
+ VALIGN="MIDDLE|BOTTOM|TOP"
+ WIDTH="<I>value</I>"
+&gt;
+</PRE>
+
+<P>
+<PRE>&lt;FONT
+ COLOR="<I>color</I>"
+ FACE="<I>fontname</I>"
+ POINT-SIZE="<I>value</I>"
+&gt;
+</PRE>
+
+<P>
+<PRE>&lt;BR
+ ALIGN="CENTER|LEFT|RIGHT"
+&gt;
+</PRE>
+
+<P>
+<PRE>&lt;IMG
+ SCALE="FALSE|TRUE|WIDTH|HEIGHT|BOTH"
+ SRC="<I>value</I>"
+&gt;
+</PRE>
+
+<P>
+<B><I><FONT SIZE=-1>ALIGN</FONT> </I></B>
+<BLOCKQUOTE>
+specifies horizontal placement. When an object is allocated
+more space than required, this value determines where the extra space
+is placed left and right of the object.
+<P>
+<ul>
+<LI>CENTER aligns the object in the center. (Default) </LI>
+<LI>LEFT aligns the object on the left.</LI>
+<LI>RIGHT aligns the object on the right. </LI>
+<LI>(<T>&lt;TD&gt;</T> only) TEXT aligns lines of text using the full
+cell width. The alignment of a line is determined by its (possibly
+implicit) associated <T>&lt;BR&gt;</T> element.</LI>
+</ul>
+<P>
+The contents of a cell are normally aligned as a block. In particular,
+lines of text are first aligned as a text block based on the width of
+the widest line and the corresponding <T>&lt;BR&gt;</T> elements. Then,
+the entire text block is aligned within a cell. If, however, the
+cell's <B><I>ALIGN</I></B> value is <T>"TEXT"</T>, and the cell contains
+lines of text, then the lines are justified using the entire available
+width of the cell. If the cell does not contain text, then the contained
+image or table is centered.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>BALIGN</FONT> </I></B>
+<BLOCKQUOTE>
+specifies the default alignment of <T>&lt;BR&gt;</T> elements contained
+in the cell. That is, if a <T>&lt;BR&gt;</T> element has no
+explicit <B><I>ALIGN</I></B> attribute, the attribute value is specified
+by the value of <B><I>BALIGN</I></B>.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>BGCOLOR="color"</FONT></I></B>
+<BLOCKQUOTE>
+sets the color of the background. This color can be
+overridden by a <B><I>BGCOLOR</I></B> attribute in descendents.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>BORDER="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the width of the border around the object in points.
+A value of zero indicates no border. The default is 1.
+The maximum value is 255.
+If set in a table, and <B><I>CELLBORDER</I></B> is not set,
+this value is also used for all cells in the table.
+It can be overridden by a <B><I>BORDER</I></B> tag in a cell.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>CELLBORDER="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the width of the border for all cells in a table.
+It can be overridden by a <B><I>BORDER</I></B> tag in a cell.
+The maximum value is 255.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>CELLPADDING="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the space, in points, between a cell's border and its content.
+The default is 2.
+The maximum value is 255.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>CELLSPACING="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the space, in points, between cells in a table and between
+a cell and the table's border. The default is 2.
+The maximum value is 127.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>COLOR="color"</FONT></I></B>
+<BLOCKQUOTE>
+sets the color of the border within the scope of
+&lt;TABLE&gt;...&lt;/TABLE&gt;,
+or &lt;TD&gt;...&lt;/TD&gt;.
+This color can be
+overridden by a <B><I>COLOR</I></B> attribute in descendents.
+By default, the color is determined by the
+<A HREF="attrs.html#:color">color</A> attribute of
+the corresponding node, edge or graph.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>COLOR="color"</FONT></I></B>
+<BLOCKQUOTE>
+sets the color of the font within the scope of
+&lt;FONT&gt;...&lt;/FONT&gt;.
+This color can be
+overridden by a <B><I>COLOR</I></B> attribute in descendents.
+By default, the font color is determined by the
+<A HREF="attrs.html#:fontcolor">fontcolor</A> attribute of
+the corresponding node, edge or graph.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>COLSPAN="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the number of columns spanned by the cell. The default is 1.
+The maximum value is 65535.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>FACE="fontname"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the font to use within the scope of
+&lt;FONT&gt;...&lt;/FONT&gt;.
+This can be
+overridden by a <B><I>FACE</I></B> attribute in descendents.
+By default, the font name is determined by the
+<A HREF="attrs.html#:fontname">fontname</A> attribute of the corresponding
+node, edge or graph.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>FIXEDSIZE</FONT> </I></B>
+<BLOCKQUOTE>
+specifies whether the values given by the <B><I>WIDTH</I></B>
+and <B><I>HEIGHT</I></B> attributes are enforced.
+<P>
+<ul>
+<LI>FALSE allows the object to grow so that all its contents will fit. (Default) </LI>
+<LI>TRUE fixes the object size to its given <B><I>WIDTH</I></B>
+and <B><I>HEIGHT</I></B>.
+Both of these attributes must be supplied.</LI>
+</ul>
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>HEIGHT="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the mininum height, in points, of the object. The height
+includes the contents, any spacing and the border. Unless
+<B><I>FIXEDSIZE</I></B> is true, the height will be expanded to allow
+the contents to fit.
+The maximum value is 65535.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>HREF="value"</FONT></I></B>
+<BLOCKQUOTE>
+attaches a URL to the object.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>POINT-SIZE="value"</FONT></I></B>
+<BLOCKQUOTE>
+sets the size of the font, in points, used within the scope of
+&lt;FONT&gt;...&lt;/FONT&gt;.
+This can be
+overridden by a <B><I>POINT-SIZE</I></B> attribute in descendents.
+By default, the font name is determined by the
+<A HREF="attrs.html#:fontsize">fontsize</A> attribute of the corresponding
+node, edge or graph.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>PORT="value"</FONT></I></B>
+<BLOCKQUOTE>
+attaches a portname to the object.
+(See <A HREF=attrs.html#k:portPos>portPos</A>.)
+This can be used to modify the head
+or tail of an edge, so that the end attaches directly to the object.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>ROWSPAN="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the number of rows spanned by the cell. The default is 1.
+The maximum value is 65535.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>SCALE</FONT></I></B>
+<BLOCKQUOTE>
+specifies how an image will use any extra space available in its cell.
+Allowed values are
+<ul>
+<LI>FALSE : keep image its natural size. (Default) </LI>
+<LI>TRUE : scale image uniformly to fit.</LI>
+<LI>WIDTH : expand image width to fill </LI>
+<LI>HEIGHT : expand image height to fill </LI>
+<LI>BOTH : expand both image width height to fill </LI>
+</ul>
+If this attribute is undefined,
+the image inherits the <A HREF=attrs.html#d:imagescale>imagescale</A>
+attribute of the graph object being drawn.
+As with the <A HREF=attrs.html#d:imagescale>imagescale</A>
+attribute, if the cell has a fixed size and the image is too large,
+any offending dimension will be shrunk to fit the space, the
+scaling being uniform in width and height if <I>SCALE=<TT>"true"</TT></I>.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>SRC="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the image file to be displayed in the cell.
+Note that if the software is used as a web server, file system access
+to images is more restricted. See <A HREF=d:GV_FILE_PATH>GV_FILE_PATH</A>
+and <A HREF=d:SERVER_NAME>SERVER_NAME</A>.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>TARGET="value"</FONT></I></B>
+<BLOCKQUOTE>
+determines which window of the browser is used for the URL if the object
+has one.
+See <A HREF="http://www.w3.org/TR/html401/present/frames.html#adef-target">W3C documentation</A>.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>TITLE="value"</FONT></I></B>
+<BLOCKQUOTE>
+sets the tooltip annotation attached to the element.
+This is used only if the element has a HREF attribute.
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>TOOLTIP="value"</FONT></I></B>
+<BLOCKQUOTE>
+is an alias for <B><I><FONT SIZE=-1>TITLE</FONT></I></B>.
+</BLOCKQUOTE>
+
+<P>
+<B><I><FONT SIZE=-1>VALIGN</FONT> </I></B>
+<BLOCKQUOTE>
+specifies vertical placement. When an object is allocated
+more space than required, this value determines where the extra space
+is placed above and below the object.
+<P>
+<ul>
+<LI>MIDDLE aligns the object in the center. (Default) </LI>
+<LI>LEFT aligns the object on the left.</LI>
+<LI>RIGHT aligns the object on the right. </LI>
+</ul>
+</BLOCKQUOTE>
+
+<B><I><FONT SIZE=-1>WIDTH="value"</FONT></I></B>
+<BLOCKQUOTE>
+specifies the mininum width, in points, of the object. The width
+includes the contents, any spacing and the border. Unless
+<B><I>FIXEDSIZE</I></B> is true, the width will be expanded to allow
+the contents to fit.
+The maximum value is 65535.
+</BLOCKQUOTE>
+
+<P>
+There is some inheritance among the attributes. If a table specifies
+a <I><B>CELLPADDING</B></I>, <I><B>CELLBORDER</B></I> or <I><B>BORDER</B></I>
+value, this value is used by the table's
+cells unless overridden. If a cell or table specifies a <I><B>BGCOLOR</B></I>,
+this will be the background color for all of its descendents.
+Of course, if a background or fill color is specified for the
+graph object owning the label, this will be the original
+background for the label.
+The object's fontname, fontcolor and fontsize attributes
+are the default for drawing text. These can be overridden by using
+<I><B>FONT</B></I> to set new values. The new font values will hold
+until overridden by an enclosed <I><B>FONT</B></I> element.
+Finally, the pencolor or color of the graph object will be used as
+the border color.
+<P>
+Because of certain limitations in handling tables in a device-independent
+manner, when <I><B>BORDER</B></I> is 1 and both table and cell borders
+are on and <I><B>CELLSPACING</B></I> is less than 2, anomalies can arise
+in the output, such as gaps between sides of borders which should be
+abutting or even collinear. The user can usual get around this by increasing
+the border size or the spacing, or turning off the table border.
+<P>
+As an example of HTML labels, the dot input
+<XMP>
+digraph structs {
+ node [shape=plaintext]
+ struct1 [label=<
+<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD>left</TD><TD PORT="f1">mid dle</TD><TD PORT="f2">right</TD></TR>
+</TABLE>>];
+ struct2 [label=<
+<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
+ <TR><TD PORT="f0">one</TD><TD>two</TD></TR>
+</TABLE>>];
+ struct3 [label=<
+<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
+ <TR>
+ <TD ROWSPAN="3">hello<BR/>world</TD>
+ <TD COLSPAN="3">b</TD>
+ <TD ROWSPAN="3">g</TD>
+ <TD ROWSPAN="3">h</TD>
+ </TR>
+ <TR>
+ <TD>c</TD><TD PORT="here">d</TD><TD>e</TD>
+ </TR>
+ <TR>
+ <TD COLSPAN="3">f</TD>
+ </TR>
+</TABLE>>];
+ struct1:f1 -> struct2:f0;
+ struct1:f2 -> struct3:here;
+}
+</XMP>
+produces the HTML analogue of the record example above<BR>
+<IMG SRC=html1.gif>
+<P>
+As usual, an HTML specification is more verbose. On the other hand,
+HTML labels are much more general, as the following example shows:
+<P>
+<IMG SRC=html2.gif>
+<P>
+The source for this graph can be found <A HREF=html2.dot>here</A>.
+<P>
+Here is an example using &lt;FONT&gt; elements
+<P>
+<IMG SRC=html3.gif>
+<P>
+with the <A HREF=html3.dot>input graph</A>.
+<P>
+Here is an example using an &lt;IMG&gt; element
+<P>
+<IMG SRC=html4.gif>
+<P>
+with the <A HREF=html4.dot>input graph</A>.
+
+<H2><A NAME=epsf>User-defined Nodes</A></H2>
+
+There is a third type of node shape which is specified by the user.
+Typically, these shapes rely on the details of a concrete graphics
+format. At present, shapes can be described using PostScript, via a
+file or add-on library, for use in PostScript output, or shapes can
+be specified by a bitmap-image file for use with SVG or bitmap (jpeg,
+gif, etc.) output. More information can be found on the page
+<A HREF="http://www.graphviz.org/Documentation/html/shapehowto.html">
+How to create custom shapes</A>.
+
+<H2><A NAME=sdlshapes>SDL Shapes for PostScript</A></H2>
+One example of user-defined node shapes is provided by Mark Rison of CSR.
+These are the <A HREF=http://www.sdl-forum.org/SDL/index.htm>SDL</A> shapes.
+These are available as PostScript functions whose use is described in
+<A HREF="http://www.graphviz.org/Documentation/html/shapehowto.html#psprocs"> External PostScript procedures</A>.
+The necessary PostScript library file and sample use can be found in the
+<tt>contrib/sdlshapes</tt> directory in the release. Please note the
+COPYRIGHT AND PERMISSION NOTICE contained in the library file <tt>sdl.ps</tt>.
+<P>
+The table below
+gives the shape names and the corresponding node shapes.
+<IMG SRC=sdlshapes.jpg>
+</BODY>
+</HTML>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tab.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tab.gif
new file mode 100644
index 0000000..db1a9b7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tab.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/trapezium.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/trapezium.gif
new file mode 100644
index 0000000..039d03a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/trapezium.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/triangle.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/triangle.gif
new file mode 100644
index 0000000..4d1334c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/triangle.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tripleoctagon.gif b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tripleoctagon.gif
new file mode 100644
index 0000000..9ba3eda
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/info/tripleoctagon.gif
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/pspdf.png b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/pspdf.png
new file mode 100644
index 0000000..bc2e3e5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/pspdf.png
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/winbuild.html b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/winbuild.html
new file mode 100644
index 0000000..c95bafe
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/html/winbuild.html
@@ -0,0 +1,217 @@
+<html>
+<head>
+<title>Graphviz Build Instructions for Windows</title>
+</head>
+<body bgcolor=#ffffff>
+<h2>Graphviz Build Instructions for Windows</h2>
+<P>
+(Graphviz versions &gt; 2.14)
+<P>
+To simplify our build process, especially as most Windows users only
+want a binary version of the software, the Graphviz build for Windows
+now uses <A HREF="http://www.research.att.com/sw/tools/uwin/"><B>uwin</B></A>,
+an open-source Unix layer on top of Windows. In this
+environment, we can use essentially the same tools and process
+used on Unix. In particular, we do not have to maintain multiple build
+files.
+<P>
+To build Graphviz:
+<OL>
+<LI>
+Install the third-party libraries. This is most easily done by installing
+a Windows binary verion of <A HREF="http://www.gtk.org">GTK 2.0</A> or later.
+<LI>
+Download the Graphviz source package:<BR>Go to
+<A HREF=http://www.graphviz.org/Download_source.php>http://www.graphviz.org/Download_source.php</A>
+and copy over either the stable release <TT>graphviz-</TT><I>VERSION</I><TT>.tar.gz</TT>
+or the development source package <TT>graphviz-working.tar.gz</TT>.
+<LI>
+Unwrap the package:<BR>
+You can use, for example,<BR><BR>
+<TT>gunzip < graphviz-working.tar.gz | tar xf -</TT><BR>
+<SPACER TYPE=VERTICAL SIZE=10>
+<BR>
+Let <TT>$ROOT</TT> be the directory in which you stored the Graphviz source.
+<LI>
+Configure the package for your system:<BR><BR>
+<TT>cd $ROOT</TT><BR>
+<TT>configure --disable-shared --enable-static --with-mylibgd --disable-swig --without-x --without-tclsh --with-codegens --disable-ltdl</TT><BR><BR>
+You will probably want to provide additional arguments to
+<TT>configure</TT> to indicate where you have installed GTK, where
+you want the results installed (<TT>--prefix</TT>) and which
+additional optional packages you want built. Run <TT>configure --help</TT>
+to see the available set of arguments.
+<LI>
+Build Graphviz:<BR><BR>
+<TT>make install</TT><BR><BR>
+</OL>
+<P>
+Presumably, a similar approach would work with Cygwin or Mingw.
+The following are some notes by
+<A HREF="https://mailman.research.att.com/pipermail/graphviz-devel/2007/000444.html">Steve Roush</A>
+describing how he
+made a static build of the libraries on Mingw.
+<MENU>
+<LI> Install MinGW and Msys. This gives a mini GNU-like compile environment
+that produces Windows-compatible results.
+<LI> You may need to configure and build in Windows "Safe mode". Try
+./configure in normal mode; if it dies with "fork" problems, use Safe mode.
+<LI> Edit the "configure" file.<BR>
+ after this line:<BR>
+ <CODE>DEFS=-DHAVE_CONFIG_H</CODE><BR>
+ add these lines:<BR>
+<CODE>
+<PRE>
+ case "$host_os" in
+ mingw*)
+ DEFS="$DEFS -DWIN32 -DMSWIN32"
+ ;;
+ esac
+</PRE>
+</CODE>
+<LI> run configure:<BR>
+<CODE>
+<PRE>
+ ./configure --enable-static=yes --enable-shared=no
+--prefix=/usr/local/ --with-libgd=no --enable-ltdl=no --disable-swig
+--disable-sharp --disable-guile --disable-io --disable-java
+--disable-lua --disable-ocaml --disable-perl --disable-php
+--disable-python --disable-ruby --disable-tcl
+</PRE>
+</CODE>
+<LI> edit lib/Makefile<BR>
+ replace these lines:<BR>
+<CODE>
+<PRE>
+ SUBDIRS = cdt graph agraph gd pathplan agutil sfio vmalloc ast vpsc \
+ circogen dotgen fdpgen neatogen twopigen common pack gvc \
+ ingraphs expr
+</PRE>
+</CODE>
+
+ with these lines:<BR>
+<CODE>
+<PRE>
+ SUBDIRS = cdt graph agraph gd pathplan vpsc \
+ circogen dotgen fdpgen neatogen twopigen common pack gvc \
+ ingraphs
+
+make # builds most of "lib" (see Makefile changes), cmd/dot and
+cmd/tools - stops on cmd/gvpr
+make install
+</PRE>
+</CODE>
+</MENU>
+here is the command line I used to build "simple.c" (dot.demo/simple.c),
+after adding a few lines based on
+https://mailman.research.att.com/pipermail/graphviz-interest/2006q2/003586.html
+
+
+<CODE>
+<PRE>
+X=simple;gcc -v -I'/usr/local/include/graphviz' -I'/usr/local/include'
+-o $X -O $X.c -L/usr/local/lib -L/usr/local/lib/graphviz -lgvc -lgraph
+-lpathplan -lcdt -lgvplugin_core -lgvplugin_dot_layout
+-lgvplugin_neao_layout -lgvplugin_gd -lgvplugin_pango -lgvc -lpathplan
+</PRE>
+</CODE>
+<P>
+If you
+desire to build directly using Visual Studio or other non-Unix-based
+environment, you will need to derive the necessary information from the
+supplied Makefiles.
+<P>
+(2.14 &gt;= Graphviz versions &gt;= 2.3)
+<P>
+We build Graphviz on Windows using the MS Visual C++ 6.0 compiler
+only. The simplest way to build the software from source on Windows is as
+follows:
+<OL>
+<LI>
+Download the Windows source package:<BR>Go to
+<A HREF=http://www.graphviz.org/Download_windows.php>http://www.graphviz.org/Download_windows.php</A>
+and copy over either the release or development source package.
+At present, these can also be found as
+<A HREF=http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-win.tgz>http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-win.tgz</A> and
+<A HREF=http://www.graphviz.org/pub/graphviz/CURRENT/graphviz-win.tgz>http://www.graphviz.org/pub/graphviz/CURRENT/graphviz-win.tgz</A>, respectively.
+</LI>
+<SPACER TYPE=VERTICAL SIZE=10>
+<LI>
+Unwrap the package:<BR>
+If you have Unix tools available, you can use
+<SPACER TYPE=VERTICAL SIZE=10>
+<TT>gunzip < graphviz-win.tgz | tar xf -</TT><BR>
+<SPACER TYPE=VERTICAL SIZE=10>
+If not, double click on the file and WinZip should start up and let you
+store all of the files into a directory.<BR>
+Let <TT>$ROOT</TT> be the directory in which you stored the Graphviz source.
+</LI>
+<SPACER TYPE=VERTICAL SIZE=10>
+<LI>
+Add the third-party libraries:
+<SPACER TYPE=VERTICAL SIZE=10>
+<UL TYPE=DISC>
+<LI>
+zlib 1.1.3 <A HREF=http://www.gzip.org/zlib/>http://www.gzip.org/zlib/</A>
+<LI>
+libpng 1.0.6 <A HREF=http://www.libpng.org/pub/png>http://www.libpng.org/pub/png</A>
+<LI>
+jpeg-6b 62 <A HREF=http://www.ijg.org/>http://www.ijg.org/</A>
+<LI>
+freetype 2.1.7 <A HREF=http://freetype.sourceforge.net/>http://freetype.sourceforge.net/</A>
+<LI>
+expat <A HREF=http://expat.sourceforge.net/>http://expat.sourceforge.net/</A>
+</UL>
+<SPACER TYPE=VERTICAL SIZE=10>
+The versions should be at least the ones indicated.
+You can download the files from
+<a href=http://www.graphviz.org/Misc/third-party.zip>http://www.graphviz.org/Misc/third-party.zip</a>.
+Unzip the package in the <TT>$ROOT</TT> directory; this will create a subdirectory called
+<TT>third-party</TT>.
+Or you can obtain the libraries yourself, and install
+them in <TT>$ROOT\third-party</TT>
+Also note that these libraries come with the binary release.
+</LI>
+<SPACER TYPE=VERTICAL SIZE=10>
+<LI>
+Build the software in one of the following ways:<BR>
+<UL TYPE=DISC>
+<LI> Run the script <TT>$ROOT\build.bat</TT> while in the <TT>$ROOT</TT>
+directory. You'll first want to check
+that the <TT>vc</TT> variable points to your local installation of visual C.
+Obviously, this should be run in a DOS command window.
+<LI> The file <TT>$ROOT\ws\graphviz.dsw</TT>
+is the main workspace for the Graphviz libraries and graph drawing programs.
+The file
+<TT>$ROOT\ws\tools.dsw</TT> provides the workspace for the
+additional Graphviz tools. Double-clicking on these files will open the
+workspaces using the MS Visual Studio, from which you can use the Build
+menu item to create the various libraries and programs.
+<PP>
+Note that we have avoided all dependencies (i.e., there are no .dep files)
+because we found they tended to include absolute pathnames.
+If necessary, follow the order used in <TT>build.bat</TT> to be safe.
+<LI> If you have a Unix environment, with a real ksh, run the script
+<TT>$ROOT\wmake.sh</TT>
+after setting the PATH, LIB and INCLUDE shell variables to the paths where
+the Visual C programs are installed on your machine, and the associated
+library and include file directories.
+</UL>
+</OL>
+<P> Once built, all of the libraries and programs will be found in
+either the Release or Debug subdirectory of the corresponding source
+directory. If you wish to install
+the software somewhere, edit the file <TT>$ROOT\install.bat</TT> to
+set the variable <TT>root</TT> to be the absolute pathname of the
+directory where you want
+the software installed, and then run the script <TT>$ROOT\install.bat</TT>
+from the <TT>$ROOT</TT> directory.
+<P>
+If you want to change source files, you can just do it and rebuild.
+If, however, you want to add new files or projects, you will
+have to redo the makefiles or scripts.
+<P>
+If you have problems or questions, please contact us at
+<A href=mailto:erg@research.att.com>erg@research.att.com</A>.
+</body>
+</html>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/latex_suggestions.txt b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/latex_suggestions.txt
new file mode 100644
index 0000000..498690b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/latex_suggestions.txt
@@ -0,0 +1,51 @@
+--- vladimir@worklogic.com: this below isn't implemented yet! ---
+--- Talk to me if you're interested in it and want to help ---
+ Latex/Psfrag Attributes+
+Only work in -Tps and if latex2e and psfrag.sty ver.3 are installed.
+ The resulting ps file will print latex commands unless you include it in a
+tex file that does \usepackage[scanall]{psfrag}, or run it through the
+supplied script "psfrag" (which wraps it in such a tex file).
+
+psfrag: string [GNE]. This text is passed through latex.
+ Example: node: a1 [psfrag="$\alpha_1$"]
+ edge: x->y [label="x -> y" psfrag="$x \rightarrow y$"]
+ The name/label is used only as a guide for positioning, but you better
+ specify them. E.g. if the edge had no label attribute, dot would have to
+ assume that the label is 17 characters wide.
+ The line breaks \l,\n,\r are *not* processed in the psfrag attribute.
+ If you want line breaks, arrange it with latex commands, and *also* specify
+ a label that emulates the breaks.
+tailpsfrag/headpsfrag: string [E]. Same for tail/head of the edge.
+fontname: [GNE] Use any of the commands described in latex2e's fntguide.
+ If the command sequence contains %s, the text is inserted there. Else the
+ text is preceded by the command, all surrounded by braces. For example, if
+ the text is "..." then \texttt{%s} becomes \texttt{...}, and \ttfamily
+ becomes {\ttfamily ...}.
+ If fontname matches "tt" then dot will use fixed font width for its
+ positioning (is 0.65 right??). If fontname matches "bf" then dot will
+ multiply the width for positioning purposes by ?? (for all families??).
+ You cannot change the font by simply giving a different font name.
+ E.g. to switch to Courier, you either have to use \texttt{%s} with a style
+ that uses Postscript fonts, or else use \fontfamily{pcr}\selectfont ("pcr"
+ stands for postscript courier). As a precaution, dot won't output a fontname
+ that does not contain \.
+ Often used commands are \rmfamily (roman), \sffamily (sans serif),
+ \ttfamily (typewriter), \mdseries (medium, i.e. normal), \bfseries (bold),
+ \upshape (upright, i.e. normal), \itshape (italic), \slshape (slanted),
+ \scshape (small caps); or their equivalents \textrm{%s}, ...; \boldmath;
+ \mathcal{%s}.
+fontsize: "n\cmd". [GNE] Dot assumes for positioning purposes that the font is
+ n points high, and emits the font changing command \cmd to latex. Both n and
+ \cmd are optional.
+ If \cmd is missing then you are informing dot that the latex fontsize is n.
+ *Please* do this at the top level. The default 14 is probably wrong for you.
+ The correct setting for a 10pt article style is "digraph G {fontsize=10 ...}"
+ If you use "n!", dot will force this size to latex by emitting commands
+ \fontsize\selectfont. This is not smart unless you use scalable fonts, eg
+ postscript fonts.
+ If n is missing and \cmd is one of the standard commands \tiny,
+ \scriptsize, \footnotesize, \normalsize, \large, \Large, \LARGE, \huge or
+ \HUGE, dot will compute the new size automatically. Otherwise you have to
+ specify both.
+ If the command contains %s, the text will be inserted there, else the
+ text is preceded by the command, all surrounded by braces.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/acyclic.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/acyclic.1.pdf
new file mode 100644
index 0000000..401902a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/acyclic.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/bcomps.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/bcomps.1.pdf
new file mode 100644
index 0000000..48b7e11
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/bcomps.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/ccomps.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/ccomps.1.pdf
new file mode 100644
index 0000000..9ef669c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/ccomps.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cdt.3.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cdt.3.pdf
new file mode 100644
index 0000000..4e6f7b5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cdt.3.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cgraph.3.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cgraph.3.pdf
new file mode 100644
index 0000000..13dea0b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/cgraph.3.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/circo.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/circo.1.pdf
new file mode 100644
index 0000000..4cb7399
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/circo.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dijkstra.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dijkstra.1.pdf
new file mode 100644
index 0000000..91ee1f0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dijkstra.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dot.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dot.1.pdf
new file mode 100644
index 0000000..4cb7399
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dot.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotguide.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotguide.pdf
new file mode 100644
index 0000000..f7a86ba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotguide.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotty.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotty.1.pdf
new file mode 100644
index 0000000..5dc98c7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dotty.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dottyguide.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dottyguide.pdf
new file mode 100644
index 0000000..4ba576c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/dottyguide.pdf
@@ -0,0 +1,9378 @@
+%PDF-1.2
+%
+2 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;THh5u5BP%#+0G'gALMA<)jsbn[1=5iT*)-jO-c>6O9A##5#BS>MB=On7r&n(e,O
+$c[aKE"])Y!V06+7E0%;i4RT2&AA9606['p"9$)ZGSdYGNc@2U7JIFsg2##imGUg]
+IX\s=bM")JC"G'L8R\@<7/EN?:,/UePtiPJAXT0kO?]4kZ:Pp4'%kp9M.bLhG,I<A
+o/J=UZG^AN3.8hYC=,#l?G_>nCLC)`=0Jtuln1YL:4)BbAj,=eeO_S5\,Xo6kKqB)
+&ia0OqWdGYek3"X3T[<M=CFo8^B4HS"Aqb~>
+endstream
+endobj
+3 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T12 4 0 R
+/T13 5 0 R
+/T14 6 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im1
+/Width 821
+/Height 612
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 26093
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"$$PVW$q7SHm]P=0G5QhP1J8jA+M'a2'+Z3o4WXS?L-aiQ_p;-HWaRI#mn`rR
+7l8!Fj!T3(%Qd]RG-=GCrV_Oaru^FqFRl/7/5!YCIs.a34j>".@AkPXp-5J(r7GG5
+*Je3,c07'[A$Nq3)33V1@4nGY__=\&%Wh[M1CPMSm4d`'^X%Bkm.dI<2c97Io7>Bg
+`q]@fT/V]4pdnG/iquTjBd.bt=uD6B89r'lhV$/$cMl<Qc1Cl+j_jY^jg^L12oC_"
+jU(,GG7F#ul^[)ON2)>9+46:,TpLA[]Ztm3]$>"DUA6q\W&bI,kQSq>p@Xi<di;#h
+l9#KM+)7=cI)_NV(8h2"8uFDk(mFH6K"F.>3/q//n7td/XN\j$i*EcJVfA1'J"J`\
+Yqdu1EQXU.1u\;TSAnZs\'r"AB-aDFA`GksXefBL3\f#!Zh!YiB2_0;RV]$ZYo*K.
+_`Np%)J#n'YlZ@M0W-Xa39E&P6)EKr%d#U&;03^X2S\B2L/Du[i,$>GIU^?)oW0'V
+XDn+3"Od,#Bo_*?s3;I<dtY+/WU`fSs#A4m4)isWL1->AgXYq!T)F)g@%.77L1,?)
+*UKNrluCg]!1OudLTrW7V/hH*hqJ9/@n5?`/Bhuc^\dTgf:7T_0NR?)E#<X7k/1:<
+EuL1Y=;c/uRDW,DEuL1Y=;c/uRDW,DEuL1Y=;c/uRDW,DEuL1Y=;c/uRDW-oK%#Yb
+atP[43t3$]OXG)dB8p=p@i,7*T#T@DL69HF`\<49dhi9$EuMq=@SUDM7*KA(WR+J)
+A>dfdoMbh+q;H]>#FMarpB1:05).i3M-NA.%3.V3s5SIdYhe+d>XeD!L=`=(=+)5m
+1f*)HF#U:;?GXE7[p<Es4X$@#OSP"?4U5EcbnJlb#1&.0kFRq\+&:_)\M_X8)L+4/
+.48#`=Jr^X@i!=t/MA$o@ij[@(`M*^ScUK>`:rK/7DnOM:>+M>)(eUbe%@5p0@DF(
+k%+gA1VQWBc&`K,i6:Ite\&<qGL\AOF0EXB(<s0JCN(2e#N)GN)+!_*N38i0`rss8
+Usg1@aNB9dWFD)X3fTha:c\%A1jWS*1E2A=QtSrs:,=9CT#Y/9?V!p:nT%Z[i=Pt1
+fmIhT1BHPgR<Y;?mj:&SM1uEa^@QJdl=E`TbUONP)EHS&mZ?^Mb(9GBnpi!9kf92_
+O:K/Em<0Q8W"TVbs.`D\7c[:fnT(]";sTq<'Zs9"RV0RKS0h].*-&9nW.cA#!NBfm
+*O9?H#8*O223ZM)k+CT>FAXlNk3Q3PFPug`Gs[1.Kek`KM2"Kef\f^d.S$USZMg0>
+#SG0O6`R_NK38T$+-GJ8$']+>:Er-31:<pX7lIqHZOb:15*+1ZZ]m_Jr(W2!Ss5gG
+[J5_:dC_!"a_>8e<q5aJ8`ZZt<=N.Pbd<sd6ioo,pRsR+M$?I"-&&<.(62kOj>o&o
+@4.J*dSpIo7[%N`C<qbAm5,q@]Lj]RSod;6;]Y!Zdu"@u1a5;f[ZW,^jJ+cd+i7)&
+)Xom6$"ZmW19.?)M,#ZDor3,d%0U#DcS4B,T,A'ldr:I'\f"E5.iVcgn[]%Ls+]Mi
+-CP!i>inSbVef=h`r?e)rrpMYjC=aL;C]#Kg.sVq6kf3U'+MclKVD\(@OC]Bg.O?Q
+MT20@"[np+P\M#f5kHT++\C>[1bum!!@Ef:;XGTr[qO.EobteC7-6<WTX'q:<H6\S
+m/qflm_@]f0W3k0Q\:)mBe]n:k-_%::#.5[7"]KJ1F4/;#jn>1K=3cqm('_(7:l''
+%=X1H%-SUq=.,hl=X^1.ZuRRMHd+I`B[j0(UKq6uhR*uBc9OPs_5OD&_\^[&d)V59
+@VFQGm#AmL3/lA5JQb=Z5;Lca/Dus)?\MD7]ul$<mr/0fT%dlN!J"QFOqA.8:BSWB
+gn/t6F$!HAn<t5_lMWWu*eP/dSCtR,6?m3"43_O@=InTCR3:6`?.f(eUomO#osdtn
+p\4N)7>7,jL!0aa5L<36omc*6ceDlM)C_O"%6emAWT'6!&qNF4(]#jP)YZ(?@Hjj=
+,_X7hVMa0,$CD95IpsL`6`JO.^8E,C5'O#r5VYq`RZU?4g&S.*)#;CTmVmqGZ"SkQ
+NQMD4&p!()VL$+\HKCkmpG:N;k,fnTi7"S"^m`-YU*2LU7(AF];U)#<.b2[L3-4TD
+)Q0$;MbHlUU:I4[>#hT1_([2jZ"V?qkgTd<.b3flpp-8h2!-V/!5c8Lr@Dk8D:Aeh
+ZSKLRJ8D`VBJR7tS-IW#$Q#:!51*DlJuVdSK&K9HCh4[8TUdE=4Ue9hU_8$YCPZT8
+C*JYqg/T76XOFuIT+Qu_/\BD0LTE#VVJ%qeR9;@KV_QT+Ne+?4gS/,t7CQrNSX@lf
+J<hA*Q"jecmE*R')V`^P!3"c%BM5`jRc\FBCEgci&M7Vl^cTeI0tab,UJjWlrjkuB
+.JhWY#?_L=1h`eLH0`$k.Eh4kR2(kW<U8\OL^*<)?S7f+;_p5)<AUspb\;$TXtb):
+_J*a/qXBkH:!d:^#D1Dil^C"pZ:[_E]#=C&#cFMY\7dQJNY`/]C#Fn<1V1F+?jWaF
+One3X'%,Y31_Q8)<_3T%(RPIjiDd:L0U`TJ$%(cTRd](]%'D6$R)5h>-N;d+d6M@U
+q$/<Co<k;1>[Baq'Fh'&hLRf%!SgUV85:C\Z:^"j'r&!5#H-,!]sMHFm?=&0!bIW2
+_RG_-QKmD@VA>.O9btbD[&#fa2/5MmmV0mZg>EB8>H3)@e?m`R41f7_#0gkN@#[oc
+Waeb&PA#cSS'tp+gWge`Z*r5D<md-NMr.C&%p_"/VZH7I&T*g*Jibf+WK(81L/3?s
+/^rbh:35cdACbSN.d;LI12X!#?$f'/J!X<pk$s"d'di:l_*.+rD>VY!3mH(8f8,/G
+0Q!d!I??83\FVSMBE5\Wh)hT*KA=q+RhI1'.d98B/o@Qt?"eEsc-nX?Q@9RC5rd,l
+e?@TTjOOP.N=*&GJi_;L$_!OGfmATP>WbGR>+Qnc^c@Asg+$f,-7E`1ElUO^YGlTb
+`=>KsQp$EOg+)?>:e^.P*N>LM^>WDgn1=mhBc)p=8R8@_!>-6OlhaWilr:Ah$3enY
+3K9*@G33I@Wo7-Y'@!f6i=nrs$;NG?1_,--BM2>J+FK)iU=nYF>aXU&R5p7^A2q_0
+'aY0%,e<Ba?keEOi%u'b>ur>/7\_Ka%g/p\I:IN@dEDJids^RDH$)StRcQs_)iUdr
+GD96pDHGg5Z+#9EIjL^>FO)6OF.+',=>Zk#0^=@(Qi=U\>YmLr'FeqFb\8,o6W'*5
+M+C%r7No5oa_Bjb;cW:KX)t*[3=R/M3dN8I4;'fV?76K3Tbg*n)5laE)RRt(4gc1c
+Pp@H-RT+39+tEJC.iN=Xf'65QcpXEO)ehH=.]GcT>#Kb[M?ooEF8h0$`VPIh68JbB
+=^*^G_GHE\$`Sphm=OLQUkcEW.H[5b&reoregUqHWP7UMRS,,uT%irqI7.RlRU/:Y
+8C^!WU0u+)>>(H![Y.4PZn:T#Kh-",:e@3ed#b7t#M$bZ@?%!)g.D-=NFjS6,;[7F
+.]HJT$<$PZ'2<Z)+tK,;l7dPd0,hLP/1R*+&WBLC5U<.2.YX/pF\TUYhftDu^>!@p
+DZFR2`qPdHe"WR.?f_n0g1gPY=_pn*afo:TbDIXX%'0#PEMC:1"iY2=$e,pr<`6I,
+'^ng:botVS>M;MEW>[D:i:f&PZgpr?o^.$TdG23X9/1JI8jlUUR;^s2'ONnJLHR`:
+5mur0"/:QfTP.5i\O;'oRe9(t\\l/;@3C7,gS#G!ODfPjd1Dg;!elmbKu-e<+X+5N
+2k7NZ>Vq<'".Vg^Kp<p;_GmR&>"1?6RPC`)Lr*,F7?bAa?8U%K]G5_*BZt1:TeY)d
+QnC\?B9T[X5L/YVHOmeo2UR2)<mM#6!\.VRdgqG;2MbuFIhjA91Ftr^TlnO+R`K6f
+3S,AlF.-EK9U/I3:;I>Tbq\8U\k%^51_)LCJ`e]U]LI3IdV7:Q^X0O'KJ9(F&uaJ!
+i]iK]G^VoS+JWf97Y4>k_6!*rW\tccdi;*f>=?0LFK;3!Te<CkGQdm4BA;TDT?A/Z
+?[57#RrZo$4-"'NTfC;&F0,!Ibq&Q47\`j<?4gHMJ7FIfWs#0'nk3NFK:u>A7"\Bs
+IugqQBFt\c:NO`)Sl0hNiA<^0FWsY<>=H#7[`:Qi5Ou0p@TnV"h*X$H2)pM+E)*ac
+3;9"VcK3`I!e<NGfFUMo>/I>2F%l]0aoW[kg_5Yl)"?r2.%8dO>b]%oN?B]$8HtHZ
+<WqMXV3eR)SW4?5=mctE&#3g:@t<=_#bnVfA5J\/]kFYE$kuET;qqB;U+rS1L!!@h
+2!-W`;46_'U.K4BRT=(`1`]G]Wk<!hpQ$+bMp[p@F@9]?Mi5Te/LDD4#`tQGiiUC*
+;I\;T1Poe&@:C9\>VlS]R8Gff+U996Lo).<@&WIE>;Ybr&^aRjQ,T<6Q]-d@LLkuC
+chNi06rRYS&>#s9c,rcpC"u,:!oCRf'r5Hh6s#7?7RM27IsbC\XJAtQ-5qYIC901Z
+;IL+`?[gD@CaHO!_*`11M"NGE=%Vp@BqfkTRl<:W/^?tBZ(,L3:(rR>%q:fgB\5`E
+`datQ)k'Z5N"o'S?^kX5:,A;O;XKodhL)kI.c8=I:6TMF7-!3#NE$R"$3N&uEd-Nt
+`8(d*Iq0>Ne"g2*dC905C'IZT\jY"\1^'^ra-R6t9$/u*U@Dr&i,>""(b?S$-B1J^
+E>k7ShRcJqNDI0"b"lad9msSeVjTt1PW`_VP`)C^]^hhZpg2>^rQ`YFQWDA4kVSMU
+BifD7VBrgW'+NZ0rh#Td:K*.u7,u`I)GFQFLk_iH3!-eY]&dL"S>NsVX.WGP@dp9n
+6FCKqN!;#*&H/'0NRB*3B%W,Yg*!\UU-[J]L_SPk@kc;8E/4_Q9<fujdD0HRcX/?'
+)6p(od>7Btk;P8L^1DuHS84$e1u4\A7+89]SkD_LKn`hfa*J',7Y="Id2jj4[hg<f
+OT7&'fU_^.UKfW\%H7/X22Je)]E^4DBPit$c/)DO)M6F/cmBZIKXl<Z%22J3q+3t1
+[F:LV(nfTjM.R6qq(+a=]D$BOlhAgIgu$`0%f<R6<71&(?Yf+G"GdLAa7YMlEm]%M
+"JI7Ds3mAn[m!&S!?mL^XI7g$5p42760uo;&F(h($QAs6a`g03AC")@cb`1KE5U(O
+r7R-njGbk$d\-1&$to`'f7j/fo:'%o2"NhtE4<MfTet,%;.i8i%&IZHk_A8kY4;B)
+BUYi<51:@B3LJf<A;I6eeKXGq]qLQ:%;L%8;nOe#BF#m@#7Ze5>p)_AhgjiFM/]+/
+1/qrf.SK359QIb!@<=_Xr[]l_dpo&ma0GSe4\GA\d,[@)DSFh@eJ(UXgtLL@&MtA[
+"+]`rA4=mTS*SGhViQDk5a.iO,Y@Y:ciEq.!0-&5PEK4K1oarh+]!^PBV*GSG0l"k
++uBRsPEb3J^Wu\!M:.3TFc,/mfYb.j_,Kf)]4Dcu5XQ=-m@\1nl*FBR.8?K26K=C+
+ifpj[b^F*MR:ZgFHJ0P^()IY(\#/2oS1?F1$B"t!ZW33[B`d[U7doVD]:tqJV8!0j
+#S2],eR#(4cgD#ITYK2XH65F2_\%'4)ckekX#-u)02?d&1re,G$.(s*D-s,"0CQk/
+:P$N37_0$c"8;l@EXDc;dd._C6M$Jh<+$s`cVU'dL%[hhE!>fj%/6aW*05+./mSS(
++"O]CUFpL>'<=$Vd_*qsPnN6A>`Ep+8o0l7Q;%0hfXoTL8[5:3`L`b[OJ`cWkGLLa
+?*KSco1#)o-+@*iQ9<i\GGEERVV@d77$&cC^&BklYc'g!%oJc@X8/0A$=gW#oimRA
+NA0sl#2#t<Q,'JVYlp:QNEr5p9.-F+/;=!M,2(>EOKiMa`i1Va-AUa)>)P:tZCIS$
+cSn*FfW;`#L3_ftM^\8hJ>V\""W64HoR]Q61huOpR1:-_'q4Gq"&66)T_l$##CVjJ
+K8,J^3guS@1n#/Y0JbP^4fc?NT$io`_Ls@b2jiC,e^;.drKopLM5TS)5qsZ>./E#s
+b*D*!d$.[*bo"0dX"uERE&5u@/'pfs!4B46'6Eq7o*D2_\!o_%Xoi(HDA:O5aLa\^
+e![!id]?^O]a'#-RE".P#n?@_.gjKAI1eC&?$B$Xl8)fWi%4j[1fC.^M5T3:B\"6m
+cj972KH,8?Tcq(ag4']al\Q?K'=6%lB^5PY6[1,(F(eBGeoYJ)5pKI"(Ri^8P?h3$
+`Djj:TrGiW$ehtXs3;k(8opSlgNhBQ#WM[id,^d70.lA%#E;i"?rFYn?>.nK?2#sp
+FG,$]?Ag[/f3>:1HpEsfY;F`!X`b%.+WZD0($1_cW3+JQVhUb(dK"7%*.](U+'o`>
+L2D=5ZU:TMdmPn]68QBohVP716>2\/r'`%eK&rld`kA&@KepuuTioq*#gHc@M=&u4
+I$'F(>puAgc<$J#TRjbR,h_TT!i1.!?hk00Soc&feh=aYYSVd11n_-:ia@>b`?IUg
+A_NbZV)/c2KBBN25JNkH#**`-?3`:sN],@'TFhmTX@UqU@\?R-0=rC>L"ONUKLVXl
+&LLJG,L%VN9c6:hpPC.%RX:dA&]U]4eDUUk\Nr&?eq>#YN'>g7e5%Mfq?,hg6Zeo:
+32f&A-q2tu1[h#q\%c"\7_!.8S^JL'2j=KTQ..YTk(eDQdc?;qdEm::Cg6[.dq-)o
+1r=;b$dE?df#:eKObW;M+Z&;tkW(KR+rQF:<MQs7.8A4[G$m='f&%>@RmJ@%@3e^m
+B:(8\>pO$0[od5c7l(aX1jrH/hfo(d)+l+\U2+4U!0+Jk?>25.QKe+?U[OOFJ7_sT
+$6$.OE1,.Ih;(]daBYAU*?f>1NP'iJ6Na/Z:/)TiB%D17keGKco_!829$th!P_TRs
+<,%`:A0RjAon7F'51$h&NDHN%JCdWZ4ur?H;]=To+`saU*#^/!((977(QPY*r=ijB
+-r%06\CduOULAnHEqKVP#n9rF&'a9GMI%-nJUA&E(a&hKiQ+^\5U/;<Ua#2X2RX]]
+7\qml*m-Z,Gb4eI6qTh;V9kkU]Y?IZVVARr$6W68gcX<>N9rQt;)'l^&9UjYmctP1
+TufraXDbAl<8BTqEd1DJUYU-Oacn.!IM*PnEYiDTSl*j^p=lt?VToSW0rjrK2KhpO
+]D=<0b'Ec$"$'>LlqA(+12(9(Jo/99&/o[u2;GpaJ`<BV>E9u)d@(%R>ND\1bni[@
+brj[mUnQ@g0/O#_LsgY_2#>.Selrn`i:TF3Y_OY:TQW5AOpL;2*7QYAL:R@<K#Vp)
+gtXVP.GYLlc[a"LqH6Dmc)#S$!qsHZ5X3kG,L!e.bsluXa:"!_<([h/ctq(E7m[JL
+#@aM<UOLRC3nG]qemb<BT%$-q,n;VTf"o@7LIQLR!i<F:1^jN/%ES/X5Nr"uC<ue_
+/u,!J:"lOF2QoC_M[!HMV;]7_WAM.;j4Z<eV><LFbV"DmXWmB+NP!UDFb5?TX45>#
+$e(+*K'!A3;t^[mRG5)LC"i7h_g`7TM;9:f2MF]d2\!"J([_Nf+fe(HbWYdGI.g.u
+*N$t[9:1K#Z[(]\q2GK4QH,=W,?>^PH5t-DRaIV:*h'4QgOMb`F*Bg$)sV*@1Y6Sa
+V1GDTiaTXK\E.j.of6)j"L'pT6;ohA[S'r&)7Z-tB-/%??FeLsd+EDVcCGsoGtNL)
+V:1#6$#CO:pHd0=8eZ*ABoI\a@II55Q^<2f)c;-bmo@`5'7\]'`[u*sWmdZh,d]l?
+blpt1a$V(O)Vi4kg@mr:h%t,8V2Hgs[Q=0s:r!n.8UT5;rLhW)->&sB$B=Tk46J^F
+)NXPJo^4fd?\1bM1bU\?N#jE*bL)hTe]YelDpuENP3bPR)RP"fqer[dKUR3eXeU]C
+U7`BHl+[@\=D?^'mS&hVB@I[Shpi`Fh5rp?>j$77B"k"5J`/90GhIVPS#V=X"Ie9V
+%TJnE(:.QrBE3BGKn`iNY@2pRTBj-2eu"7WL+W``1pS-AZ3!Dpk"6`!1cln<9QR(f
+?q.4Sq=F'c$T(,FV?7/#+$f856aPN#klq3;5G4lcrH@?FOtH?QBKW"Ok=bs\#j=Z'
+HP%M1/6Q]P]l7Z]"MsICh*0=Mg_,IoRo6Y,DY'V<<0&FGV7@'SX;(JL_@;7^9D5Q%
+Rc>r4]QV_P+DdJn9U[[W#^J&j5u)r"4s,>J'4K>_%*Il<k'D#c-6`2OTClO[UN,8+
+TWs6F_aQ^qfqi;Cf"&;_B0[[O&?%Dt->h)i_.7n?m%a)4ZVRqaTp`?7H>#i'T/3)M
+1qMHQ;&XF2r["0G%3PLfcu:"kWfXZm,ZgQGbr7)2?f%p3K@ndA_enluV-2Y,kCVJL
+A'UNl%*57Ta:N$('&Y,-<>r?Z&Wn051_OKmb5@Hc[*JgH-pO/Id,)7a;JE!KiF.E%
+<LU5qIkNX(rBiB"6:'0V*:3fS&i:5t!W:i!\U>DR>A!r`^sj*q^Zf+ZklKVWN=^DQ
+bpVFG.1!]P#A(:p)'7?FNc1Hm9dp[AAuu5B?m;HCaDO\lp1;T%hr0#\_!aA"-31C_
+]*4$Nl]_VLG=+gG5X*HR2$o74q9^7-k\:HW-GdjNM@CK/daYbdBjV%gHuclmTqYE9
+6BN,#hpMF`^\?)/.ncm!jDVLYq-`#^MLl'49kj.!6n(i!emE3ETNR;5J0o"5Qm`DL
+k()?W<b]"8WP"2.UPm[pFKnGZ+>'HXe^46!Z;qkDW4UQ[1tIb;crACX4]U0*lW#cP
+FJcmMCdCutUL@)7f]Q/%!1NU'*NFZ;Bp;;*!_ikn&QHP/8H"O\nZJ=-'df.EUW&)E
+Yk$*c5\\@2gbdbFFK0E?RB6i\`FB__TIbWU'`gOj%0aWk@M;$0F])%Uj92npL\SDj
+B:;(!6%bcCDAVLqp4e%O):/Z7HN):X"<6e,X-Kh9j:9NB!t9Sa/g#FpdNG)TYTO7?
+61aX4KR'+iCQ`X#cj8hL"ZmNhJT'9ikUdF9*g_pN=D?-)j::"U4<bCVc0MW'LMUs&
+drf;Pd#;5u%*a$@HCE7^l,^fioK.ThUWJ,@Tj\HXemO@h?I4XX+&t:;&U%gl&sMZ"
+8lJKQjYH\W1r_scO^F<no?i5r/1I!IqJjm+f&-15husQrBr__GV)/bmae8/Wi.=er
+PYdjSIUIT9VMoY[fZ#T4[ThCYbR:']/8C:)nhHEX][1I`P&5TjS*O:6*Rf[EQb!o_
+4BheBdL&F.<dU.\S<l/Yd)pG)l9O@)bc(oC1.6\r"8%@<0Vjl6K'#WsF'd^Z34%1b
+M?6>=<(XuhaVj3:6MEp@bqu;cc6/r<]X"q.*#_P=dJ@.o.qf]l+DW5XFtGfg)R`%Z
+,_aZ#dc4`]L.2oSInc[!AJ,hDm9cMOA3Qh>irf*RV_efb2o0R!.h*Kc'c23R1qFg.
+/)^._if(N.C]0?Xi^=rB*pCnr9I;S_BjPIp0mY5R.DV!WJ_I7AT`0d]Z+'!]$^u84
+m?,+_BpRfQ+(V&Z,Y&(@jM*r3VUeQ$Lc;hh3^E+qd"o-(pIqo_G;hbh76<ieU<-<T
+!WYR-a!To;g/_\uMq`WEB.6Q>[#8hb-\qWZd/j=5Sc%t:m]Gh>MP+k8%lAm4=su"R
+"1U$0_VHCnma+Xcj>pdj:5.-7D#5DinuS-QTYI`jo]$"GO_f"($L8T5BakQSjCcd3
+[QUlNR\[q<RUr=bd)_L7@VCc_]Bq!>-I@uo]pI!:W[B/.ZYhkK]6q;5,NYJ,*i)H&
++#;+e/619,nb+*%3=m`4Bug^JP0#\-B\L:>o9HI96d/';rUrpm/=D:@B2j4>,gt2S
+#E;i"i4/,Idjn*Tj3VKZ5h#0%>C?kXN[^Aj&@2[GnejpJK,)'Y139l^Z.p;BMlSt0
+ZLFFa9VXF>o1;XZ9plX^1s>ds`nsQLnTto=P"(k;cS06-KJ+:.!]7%[k/@KbJKY,^
+<sGN^dtGrO%%>#_NFmENpVs7/r5S*h<-X#[M/YZ#BhWXNg(51C"u8S\Xuk)@YFa9d
+UN%]YDMtji3TD@61*p0/NKP2QBn&pfft'p3N(g!'pOU=/YHCggI8f/BAL'97Z8(Eo
+;R9Xm1kGEY)[/i(Wg"jI/qZW`UqRu4MAi-!,B2X2ZD!CbUTO@3^U<%i+k7h&8P0Y)
+pP,Pn8);#kK-k5d0$1:`_tW.0;9]9Y9#Drh2ttTP)B*#FD(fJ)2@^B1IVOM?aBSnn
+X#+pB(q^hLVHM5p6h!DqbeZT>Jb8.5A#PeF-<Id*-UIp!VeA3)Oj06On=@T;Zk5rX
+R*lDpo2a`%/rtQ,A"%P0=suW>6?U12*n!QG]Zh<NP)uS="404/d'`b9?HKH5b3^TO
+,7@kZ1tmhArf+A1Bk`@lP(Q";//DoJO"6G[UYOAEL'Hr&?fiABk!/R?7E]fb"S2RW
+SU7f)M?5i3-;ADA]5;&&W=4F7^iIdu3AdW_N+o6g,MD/eh=Gq9dkKqY<e'qG*&$jF
+<6RtHOZq*Gmd+A&-W`$fFB:W%XNX)Sh'BU)Irc3:g8%C]e#\fKSkd_cJd/Xe1!R7&
+;*.ee$oIeLlXricY-cO:7.U4)X(cf"AuMFbV.ckHQ483lgKEn]!Y)>D6CEMi%foBD
+/sUBeYe*2Be7=Pk#%edR(U7X=TV;3,s5[1[9kBLaoi/aF[Nokje^#"pje$9]k<bXf
+mD1LD!_nYID0pBO>_sB0<MEm*XiT88^:&TiNR%\FjA(o&cIkYh!s_QtbeVY58d&ha
+n#NNhdg:r>#FbM=[Cjb<[4OdQd$0$[=7dZ/3@+P^ENq`g&$\MdfD:km0*iJHBl^gZ
+lSj2#BVZOQq'IU.Jqe,:HRGLld*c.@@T7&!R+=FPMr?Q4j^*:W*GRF/#&(#R9%*'p
+[KA@g3Y!']Bf6G@1aJ^LTIH/aI2.HF&<ViD3*QgB?Eh&mq(=[=CIp:\/5aNP+_]0P
+m%dH=\=98kk'`q7E9C',M?Wq_7Rdg@[1c"I1JK[!31(.o/^s&+&84rSk)CnYHn*ZW
+A<r<YJ-%<$cahsD%FrHlK3;:pF_%GI->\Ld=Cj>qRO9f6B"s[bAurBV1q-<+b!q8R
+_`=ck_gDa=m.G]_BXB\8p(daikg"&I9m-[k)R@8Y,k4R]r@s;Ln+H(9a'4X>\gB'5
+c&qHKZXu8I'?Ku(:!E&:2#Bbak+/0eY&*)P;<;^=>thS7X.KG36QYTZc;/IqW(qY!
+fJ@t:BN"ilJ?-_n-9,X4/'+tYqb*T?Btap2Hm&"VDq['"h\.VZPKQJXO(O!p_abJ?
+Bi.CQ9f5/4$-3?oWE8ObhsUlp#&JW.B\ETmF*Dn[,Iu;#@aI5pBqi("\)4@$;jUKG
+MR[hG_S)Vap`MIl]U<T0)adoJJXLUKi^\KCR)ZUKE&a7t-J+S%o',]iR0QI\&F^?:
+I?N+<j#tGqq3)&"RR+QM_iU#U5m&p&69P^rB$`sEG3.bWM4o[s%p`2U#q\9\3XnZK
+$[)ecSbJ0@3D"l/H[H9mC$95CQ4+0YH'-?mqouLJ@OE,Lb<T"h;oj5e`(1;$Td9rC
+P\h%g&T:O$C*(_MeoP)6d%F'R-YTIXa?SEtXsFWGE[hph1h\*#rE/)Pd+C8[<h6/l
+*_u)$lXKuQVh;`4^QN:6qkjtIa&="P!);;hOs^-I\eAC<jkEAD5dh%WNH5acV^QHj
+kb-RO(Q5&t5o-N&e/,FLGfH;o"H?F%Eho!"%A4;JeAMA*JUr?DOMcF-mc!8@ib[gu
+(MX^njuC1IkjID'ZRe?RmeAZhT%.R:BM)Ia$lVofj4iu6oa0@>(j"R!nLTWs%[8-C
+K2pk"E%oOkhJ@"lQ+2J<W:A^-[IUtD:;lCtde/5/1ql_&K-UJB3L"n9^>#g;K^"?&
+:*7h\>tf;aBJ0&6Pn02PRP,g/Y#]n_ABCOm1!00aDk93g:N]Nhn.oU=S;/fCjaR*t
+Z&8_Q09LjPAaTOmN>M=<&W(+>jsW=&lTt.=d5rKVdh$mMo`lFa^!1J&*`Q0U%bg$N
+c,MKLjA+/NN:Sf7>+\A.>BNr##\LG:Rtk\tf1\]9;m3\+m40^g:"K^Ugpp2$88F"_
+8![*fP;Urk??N.h;FAt-_fMa/JXLE\NS`G7TP8T'!?+p8fSmU72.VG'>B;C&;auZ_
+V4l,:RYfpm-DI^K1j4'8%H/p*aXCI*]JVKUB79I."fto?2Z)NCRNH3Jb!tY,5bmGE
+I?_gWU)QZH6W#.*Cf%'X`D?h:jNbPcF=sHD0cgW>8DE-^:4Hm:buA1^?="ak[r#7d
+VTb#gU7h#ak:La0c&T%G1jJod2!bF+7"fpghAOpsk,b)7ZIAHN*AmJuDX\s*cP-.0
+9h8]oD3mWm1nE&Z#9*R7ZBo7uJ]8u)*PS?=C\s^>1qDX@LL0i$3nMY)Z5Ob9mm(=:
+IG7]cjes-d4O_AE_h+ZN&5D`L^*W=9O/]Mf.;;g4f.H5cr]J,]4bm`"4]23UnkdLC
+*@&`L"e#J/-^dFU+S/+X_b<+HO\U=P?qf'qJk):Ricp<:1kk`C9Tsq@TG^tj$Q:.]
+b3ook3^G!*VCFNQ[!eu\cr?8a^jaf$?spo=K/*lnrsK&;RMlTYJB!3[,b`ZT+_1f@
+3'5ZCcA!QdY)r4mkgkG#g\WLLSrr.@lP%3HU=PNT'^nP0odfWu!gZ"mVE&K54*idn
+2#Q[/5Vp'!oph:A8U)\00[.Jg;]O.c5)9!<Pj`?B&5u-!dAJmco%(P(*%n*;kHT%m
+TZOZFb-ako"'KGVGpd:tQf=Cc)B>?fF:4@,5Vp2L"WFgG.OUE,USQkH-_X:X9U$4S
+*EEJ!_DJ*pho.G<a5*DnWYfXB:='DMBJ9mrmF+a=,rD]O'\>b'N\rX=I6^KtGJM-t
+]5g"=1mL[/I@-o)7:mO]6U2mjLY=s=eo@Ye.&K8)L&lf/@@E29q`nZ)@V::V<_nC6
+[+p<^o>SZYcjYaXQgb\#Q$Qd9?bI!YefE4-&Po'nZ@BMa>]?Uo3$&EqNrB;@7&7Qt
+4h%c&*P;M39?_Q:_E$mZq_:h#0U*<)(F6K_EM*>+?3H^_[5[pX0hpHm4D79$_k[05
+eH5PGGC[]fF/!hJ9!OZZQtF%hU!EGq,2_JQ>sgL%'%V[>Z$7F*0(AODR^cc+1``q#
+T';8('DX3+&0MWA4B@?$c"0ST,D5`BVH<NTb^"97lCqI](tE#jI5ts`K;"9cT8?oR
+'YsEsfVsrbVYPdTUi.On;-,bI21uE7TZFo6',pC[go</]4bIHhjCnY`n%Xp05tNX+
+gF"`35Mutaa`D=:$8uQM"&nbX:#+[d/8?%HBL#uC'?&4*RKS9Pjok"YJl=6?o/ftc
+"q6%E8ZLsXjpI@C(L"#Z8Fp`GKJ#/OT:0EgRgfnW"SoAg:s]dRpdEJjH>]OL#*f0O
+iH/V5"-',_)dJq&HFc2geRL@/3g`C1Sco3!%BB^mJk#O8*^u?n;+*QM-lc1,^R3b@
+ZTO04,B7C$TTQVO2fPWkZXSAkT]'6ad-)N'!0)8BdC+'&2:mCk(:WV9W63N%@@A47
+*Lpj3"AK@d7K39uoTR5:q]l,sp`5,?5Z7ba3i6(_Jdue(MEQi1G(@T!o.k'U,L@M3
+`^?,*rKmeKer"%Ef93`HG;(.6lo@HIaW_fF4?'-rR5WGmWA:&cVn(M7TI)okM&$\a
+;:$`Rj/r5?4kQEu76106r%RX,#_g7I1YC"29[d]uB#__RA+jObds!q.]n.I3TAHA=
+<t@6'A^S-%"]-uHm,dRld>&JX9X?+!^C)m3'41s4`lj(/Z./nMOdlk\AZZP6bZ"g-
+g<b/g__aU)*%#?*&,jCL#F`e6BHaEBj,2Z[-(/^\F(7<)"qI\12>:UL\73nmO6YI*
+1qo'W\*&<3:NQ*\l+4lQ6IKd"^@uS#%:QX,*8^c8A8d2;.+HJ]f!/E%d9>fsp$U$>
+G+(,NK:q2P*i97OS>-+:VW/UK.NU1W*;bHVba>iPW/9ZiSY/jSMS_<@)#JG11IdAe
+:9t$Y+D>eA"B'(YB[.%f:O>*8-Hau#TTNqFQWK`NXB3pN#-T2li'Zoh4fO?*;onDY
+/7P*Q3/6$ZbUA0qZhbk&!Lh\>lq\(A)*H7&_0VKgMSVBi!;Ys/V4E[F)6-W$cWBRH
+C4Y>d6R#Ti,RWm?"LRF=]B)2Hki8S\Wi1Hjj93_SD(_[l6p6ci5Z>+SA]Y6n^;kVm
+^K3BSdL'%WPbAA#!!&JW?EQu/Lm%'tB,l2nj]_mEY)\C09G<8/,k#Qq(j$HG[.F+J
+_/MAI&fg?B9j97PH>Aa/(,TK-oLSNIs,R$q9J[-H;&"7?faIVE1IZ2q5HCh3Ngp%S
+1pqj63B^?JOD/_plHtaaHN@f[p5I8fpKDmW#q5b=N'fjO[Ums?(0F.P`gJLnL7%gL
+badF*h+li$bYG*p6'Ds]O8p`E"u]h,ehKn1FL[G$":am*7*8^;2!MH2hoc*QU0.X,
+kho+(,+8t6d2"e/"AprKef[ndO9(q>deoJTeXMq<05/oI!?+7=Q6LtGHI-mPCl&XQ
+EuAYu[&gh>\#5U8.^`mRm9giIr\Y4!8S8bb2)4:#?HPJ:1`4]k[huKT(j7:+VOPTK
+g)i`)"ARhiC@`SB!jADnEW@%DP>5j61p6p7c+1&Gn(At"3e&?JgH`Y\4nMLu!XigP
+/\?(s),m7QEA;.Lfi-bpjpb<N]`g68[;-M:S2Q+SBrHDp%S.^s<>:Ja%foE$BK*7r
+U#cpLGX9lOTe7KDk5eU%0hj]XauN<D-l&mUI%YSmh<Kl(cldP$Eu,IWW"&rDptgB!
+BLifJ&N"H\'nR6RVP9<F+q;f(B<[)("S%q^1H#RpbmU@^e^bVB"RQ&CJ=Zc[A&gYI
+#Mn?Xb++HK*CnY-\eJRk(22tsli[d>C78\@"IY1L&lS%e]`N7_9EPH?Y+K"p'&Bcr
+i$_dbpkEeF:@it]UOnI]0BPMU6T*_[;0km%]'&I+qQ(Q-5bTE>G:LNk4cYNhRBlNM
+8es)i(_J_k">o<MV8##MVp797&2ZoFe1P4!pfJ"EXX"BCmTNo92#)lW`fbpP5H(P+
+jqMSM428[ir[aA&Utp%Qh0h1p89l&'A,r&g0T@#.c7&<$^&0?=g'NOScqNM3"?4&D
+i3P\t#,e'I(G\];OK&1A?aYTo]LuX*="W3G+n.d?eZAK*iCR\&i>d+b4XM3Y)Ym]6
+C_(9P`AG+r&Gt9So3=Ij,+oh9e:7WQH!o(TEVN"#,oA\g`;Cn-W!':tqEX(K)V5R2
+QNegN)!,Gb!]4h@;Q<AS4<TuV0T?<04pb=+6-`*Lcq%OjBT/3*e(^80MSM71i6#h4
+er>oj>-^7]cud,lb-0)tj-<<^ipY^7"5Gl:\N;$^#ngE;s..`5?-G.>J=U-X"$@X]
+Sl$f:K18lARq^f@`J9nC#0kP.S3RJ3Q(@:!;!5ORZtg\VLlDR3j,DV<Q<mMTasc;'
+fR+p9'7e27CI--KgB`fSFN\hZ*&nIi5s(i-B-i9c"HD(OWNR=Aj'`iJENTJinmQVh
+*d&!,PS2K&@j>Xuh%i#3"H@Pp.<#3']1'jG)OP6_F#S\W,'G8G*&W<+`R2nDU&h:I
+7l6K=8Z4"g`h$cI_)m`19Oj^,.r)!7FeB&fkZ<E!--WsZ75eF7/T),hD%;/(LTYi:
+CRF7r60!Pj[Ej1bdkNqn-#RSJml=77f7:lJ:Rk]=:FJ7gVAU6E6)L>t&2dL,l_^,#
+m$EWrlRE0pH2j5V=Yl$LPfjT+VVPliqpHaG#^h6m.l;X6a3M^kj/?UuV/=GDA1RJf
+e)ZYUEt]"oH!"^QH#oYsk,@M)Zf5;)gtn?ds''5K1_D<aV/bLt>IR&fG%boc&lXil
+i3TbOp\-pORQO@ab"gnDh%s/33aDN*'5\s#B])LHh!$a_;]t4I'/YEdc@QY98Hdgm
+$sbeY;n.:U4l`,+o1@:[Q[*bkjCcU?YWkd08DeQUN*)L3+m4;f$I%_`4A]`7=ZW:(
+dVX]:<b/'bAQK:9PEob?h[L$6O$,9/@AhQ$6*"?WIDpXHE+n0%6`Hgu4ao,!I\K-P
+/&VLCgQ]0#Sk,ea9F0J\9jof]4ddU69Q#W_aNU=h\#7ZM&ep')fk*=l8\BUUYnaIg
+K=Nj$")GLEqX*)V>\W7LK:VDVL]iTO%DGU5DFnI.1o2-u,R-VWHm1E>b)`A&58tL`
+lF+K]cMgGRoV68]UC.`bp.c9VjO5T<>%m>T7\0&L1s6Nf8%^6d)SFE"OT9QVok0[b
+ZN1tr"rH_m/8/etc^6G(/%LY]+kU&%m4%E[S;lpVg)en'Mb2GT.r1WAN9Edm;jA[c
+b'(u"87(m?GV7$=%P$0K8Rr0u#7WNaNR04*_e7F1Ai@56?472[EYtT%9kN/_c+`^4
+KZ:QLXCt7#QI.7VF$DM&C%,]!B&>"&6h[EsINBEq#TDS7`hu+DrlC=qS"Y,\&FSnC
+.a?g9k!A0l_*7fUMG;(C2+k+jRbt)G+$C!fkg?XL%sKqXi:2B1LtH2<RcrO_dHNf>
+p\pTF;.BbRakck*<1:M\4;+/$"[$)I,sr8@Bk[?Eq7rTiL?<UYYa7bAiAX*PN6hqC
+F#Yt7`K=Dh^t+*^0TA)b<,#s[ji)6.?kIp5TL*-;b!Rs+Q$]3E-B!StLNc,770\'+
+a9G:J#b97qk*ZHW+'>A5i@cm$B\K.FSa<E1)5a"O`92<i`%eJAKL469OkP</.Rnp/
+;c1;Zkg6\:O"!;HfI<n>&fi\`bjfLN_ucc#P;%m<LL;/pIX"0bUE#bdd'tGQ<,'XZ
+3\ijfPJq)4)5^a+^LGj]"+0DdB*RVC#3q+.AkX[8/C^AceD&!aZZB;qdP0`tD'YdJ
+CO<LPDhR7!cOL\P&.g\FC?#/,0igc<d_%>N$T.6a4g&:\:Jjqrh3:GoRNsI(P^rE4
+&9h4\)QlLsELO'X$jt7qoi=R()KD"G"(p=UaahfOVM*S/boohn1/f4*dp1#%$^s`H
+JjB\J>IVdIGd]lTs&I=2FH"!DiqoE(%*Ausp)%H%%d(3J">h;7%Mf@4)`!?A.-U8q
+9%-uBb]2f2dlV/&BSstA%C(P>Y.qY:REJ<M4IFN>a#NdcO`k_XKIPde9m8J:#8++Y
+%j_T!TOA/S?3])E>)\0OJd/22L#G@>>'01u`*IG=VR:C0!^T>KAM<46,<Fno"Fk9h
+UMCLOnG4Wh4@NI]pfdP%4VQHSNB=[`)iFi?$F($NmR\8'%@Wk"Vp3G+<Hi=4&P>at
+]@.H`$k4nuHA]u9$3>31?^S#tRUGR\Tueg4!1LQ&E\3l5g=.K"9r.Fm)AS\eB!t':
+emiY2dLYl4%TG!kda1lch]JdRTsnoiVW,RE$6"D7.=^)#R8D'ZFKs@/:#a2MrK0/N
+4S95RbTtu2gfJF>H+-$Q%#$p<?A*>gX,`Cj9WUEuVh(cF6'I^i)jC0abj!dqP;@C*
+\b(3I7k5%.M^?D/c(H7\Bi:FRhQ"+-5_Hdmr"_ihD]EEjPC.%cL&7N7jKj*5[jQUL
+@%l>\/O2\K%E^X_]++Egb'o-uV(0^oBX!U5f>HZ8;c-+Zo-H6Ggg#!m7KcFsG^:,)
+:%!Nb./Xe(fOfa?/36qYe@`??J3pD';(IeE)Jkg6;e)6*<o$kkltKYBKCqiWk&Up:
++VJk1s/o_`q[<q?jNWqo(@k^-Yi$%\g8s5:7bh_o-$SoV/Nh."rD89O<Xh?ld\N19
+KOur-7leBZ$V/o8%uke8JM_)?)g)gI2/n(U/(gf@`Mk7_Bp@$Z03T/IGD`iGWB%cV
+^)*5YGI@mJ?XXl##onirDoh*h\M8:,qhS;l3lX,*U'j;`n+@0(ONm`rT`OK^D.)G7
+%Y\gGB[GsCF0Z*7b5XTaQ0&9aOG9]-%675(8k!DOS.GJj>_?0dgRL_1@83jd!2cc;
+^(nEV6Bfl56M'g.d7P'aZG+FFBQ@TMTij@fSG<ef*pcjL]4,7_:a1V8:f#EoC#Vfe
+pNQcsB1%bWR'l,CTGd=o%VU=kC$>1/c1Op_B_%$<]CALWC']#LUN0O0dVqso\Sm2!
+?>+]gEdI]_;'/qfPL(T'Qn7oe8s=>F#&&t`llKhTBoVEWK-o;ZcY2^WP>l@HbLJ<P
+)SFL/RPWa!8BmVR9e:?=1stRWDJ5o+=bB0Yes`N1J>;-qbr2m35g>2A4dF#8&ZS^5
+P]gB/Fg%;+Q-c>=*O226$Ao#gcl=hg&371L58A"UBbjBA)M72>MoEQ3h^dYX6PFA+
+>G9_LC$pbr0Jt=@<G9S[V#m)95c2sTDc$>(;<iC02djlp$;GNs]P&GqJTO5R:!QXA
+r0V\7KNRA3".r^-1n!Z95$WdO*'&1_+&YF_4*KCn<XOiLpS:t8hiS+H9:E8up^SJM
+RYU;fP_s+BRK>=r3t3$rnG?H)[Qq/QCS*bEF@kFVNd:>1'UkY[.o!lX@2X?!F^M,9
+77;[S_c_-j1irm"SkjoC_m]90ck*pj9CSJ7[V_BucOY(#86),.ph4?fFiB"EK*GL;
+*f?PT6-bojB#<j>iG.&A1ZS.B`Z@g-Wf8K)WCi?m>G71BJ'c!S`^B>3)&k1pA"ULm
+r5_1q;JfB,>[o]Zc'nIi;jG?OX0K*XSp#LY'PN^!KLU+Y1XM62PR-6llKWpCeVsM5
+lJt<">`r$97ea1mbqkX)0%l&lE$bXGg!O#fDhU[PLV)`XLY#s]*5dmH4*P$(g8k`X
+2KSsVP/Xj=p6S:,-4N*'q>U9#Z\o46h4YhL>31"1dQeG2E!;^+5^?pE@WhFL/6EUC
+K[@(H>io<r_G;Er)TR]Vd-1Z_lBn3#D,HF(k)OfUO:fSL@V@+7l-MOmBg)Wf<1WeT
+BLHV.(Q6XBBjQ@FENQ8dj-eC6g%A.T'*S_uB(VYR8Z^?6E</N1RT>2,"maO6Z+5nV
+Q[e80c7"g$*t$9/F$c1apA+X8p3=h"dRbjahP'1'Ae.hH't9l^rKY]`_'[tH<pkKj
+7G(F-qX8JjQ)98/3?K0-`$T4<4@?373AQ'DCJV3LJFGc[4GsO@=s^Ef2:inpVhP9G
+FDLO4q_Fi7ZEq5<6fWYM"%2Y4;PpCjiQ&<LQ=(JLk:[8_\C,KN6R)cZ'kM,n:;,]t
+cs4W!8?%nbm=UdVY#Q)b5]`?>AM]2C`4l"aa/i/[9eU+H8OIRtm3U(ig#5JW7^/P@
+eT0#fhJ'La2aYuNN-]R;&dV`hn,j[n*Whf#Hn\<,^m'd[)Oc-AP=R@<c2j%U@T.T"
+(*?7hJu1+WB>P^'(`$/\QpHKW%CPndY3<eK!DR@;WREVXjrS2>@!GK"]h:]aG%ae'
+S3C_nQ!7]:RJ+VVl<4:JV]Hs#[_)\OYq6<V*RKK,g$8b5J,-l09kd"Z='T*b7_5Sl
+c0):rTD&!l3OnD6[45X"BEekAQB!$Tf67"98+Q"&QS=ttc3e39jPeer>sY-!GhQtK
+:(3Q1l1"Gk,Ak3JSYe5-*L_pIDh9<'bu/?d4kKg[6W;>I6'G@%5:RBFPEdI'G82$t
+29=J39:=&R*RNGsaU]nadlsm$@lnQC)Gu^DnYMKT96'Q]QMYPL49ge9aSVYSlbiLH
+1Gm3J@F08D_'nQgIfB=SV9*Je(E.8[.'#]=BfV*?mEgC-jRXRQeIH9:;?Kr<s261.
+VES*rSq,u$oY&WDhIn]%dp[#.RdYb2%Q+\IU8!ITgs8MkRZ5&0"`P1DK>t+omtYM$
+77H^:'t+%ZK-n)&->8"[_C.8I1upT/=7KrjWClb:csRY$q]hq-dH76h/iXXJ.db(+
+Rd*S5RJWZ!`$/@h%eV+aReW%kZI5+gBI"U?#h:C-8`X\_8m-`Q2VSRuU$5k0A1dn6
+?njJhSTJm!Y+MdPF5qgC%io8&iC.KlP=TB.ERu'g4D2Sn2U8REI?R/R\4lC7Q_lf$
+@PcKYV_^A4Bp-M@2EN/VT*Gi$G2u\`,W0D(_!rckeXUdVkh9IB-T7*aVW]/]=p5hS
+dO:q>=?.Zm8/U$@.Q!(5d.hZ@1q'@FSg$/Q1h1HGrJ+=X':L"WcZ8,X8LQN>dAR;R
+1atq'p?'j8kW]3p@)`Z&GfPBl18W(.Ud#T_Yf:OUVB%5q1h`_r!Li!"`nfV2-),O+
+Q(%G7F4c6O_u`\8#S!BlEB%uMpl3cCbca^bUQn;81UW6o3kLBf=05$/'ed$C/F4Xr
+6Vad(*Mc/WGK@"sh9\P'-H"E53EnhQp!Gj\KJGl7)`6;A9i1A#94k!UKV^TFMq%SV
+.-<PV]L^U)=!.fDaQrVLOd`WAp+><i`]`=O`F'#=D@5T7X<`orkoe.sD'0D0JgP`.
+f-`ff<$_[Qm0h9r%Za98YZCFn-rF^L`+CY[8SrT`er!>D/,NW8A-,8t`XW'pXr<es
+?c&,i-07@h<oj;ZGVW33rZPs@W-JV)fHscOO;t.i>"_l-.f`.;8Ed_;3]-u-TCHls
+Bj3r")m@6+/dko'i,A?Tj1>Gg`0uL`%DCT)o25fbZ0GWE.+#bpL=/Qn;OL,U882:Z
+Aqc]J6:8m,K'BLmjJZEos6#'Xf<2VV)tZIFSYemSGN:5J5!#qO?>1+)Q2YSA2:0I9
+Ea?88'[k9*%5P9Qp';Eu<H\"M;kms$dM."']^r3=R`/0gXR>d0W!eU0Q^CSj1t7o6
+/DSc[TW,>30AY<Y*gpH:\>J,/Vo_2&d^99R>hr,*FK%!s[jt)I"FeIjHSsV3k[cJb
+P6iOK^bX-);JQFNB^eX#!fbcuK>Ui>&K5$'COlS$^l?$N\)<^s;e^Z8K$@=l%k#9K
+p(GY^dp@SVXX,l.X#0',b-.h*9RhRk@nW!:!_:U&9:rIlFY[<HNd*PF(ql$B]O5%<
+Q7]\)i(m!l`JAH7d\Oq(6fY'H=DDTt<0JG&=F`kMZPAqG74VR,';2nBdW>XO5uV[/
+A(ap6>jK_-KVj!)<8(_fZ-RqI4\ZH*qf-PN);!&T%p[(Zd$QC'\Vf0?_]&@Hc+'HR
++R$J$=9b?uOL%BJefNCO/%1:VXYA(=)K18jZ=jr7#0Qlo[[P@+XC<;RHlQYGWV^km
+Plf3[lrOR(h5Ut7._E=)X_u2Jjk,+1#:(5jVpR=qCkFp%L4Q<r"$Bki$eIu:?3pC1
+>Qhl4;&VQ!>Wfq3:Q:l=22d!5M.n4N?I(WklN9p54&GXmk%qK(]#qE8]UU*R%EQ(p
+cBR&"B'Q*VM'b.3%s+"*WsXIe;t[R`G%8%N>-)-H!Fb&R1oX[2)KeSL=oh]&72fDd
+3"qUfRko[f;sbG[BgeekcCc5FOC+&*l<Y`u`hG:drnk@biU%=%=%N!KC[QbkbTP//
+ehfpMp\0!m5kpi#*YJ_)M=!?k*DerZ"(1kKP`Y+:XC=bf-dL>Q2j_e_H7!S8<uD""
+"JKo?0iu=33jFu+,%`i)RFJ7!r+>!$*_f7j#(d$&#Z;Q(eCsg$DV5KHs4GKC7nVJ8
+;H*BseectV;#ZaoI%CX,)i^K=buJK>DM$UD7HaCpS.e'QCZDmGW"uR"!0eTMNKC4'
+/G8+RbKp`m_f=ah'WXqPNEKrqq)1SmI@N@P<3+uI8L$-=8Rj$$f$GX9Xp3C@'eYsH
+X;GXt%AYF4W)8!qSJuhrF:[f4^GIdBZuZ;K-rdWoPrFN0b0EWAeH\DZ-k;/X=s4Z6
+4_N2FmPL>b:q8Bt5T2fs;PHq7$tP?S9d$f.oa>Fd:)Y5_MTj1Y8YerM`+5ts'[NR7
+X6!'@+peb-<+T&M?.`QVE+uJLZ^PnoWJWNgLHlIWabYuFHnd'EI1(%[@uiJ.##h'Z
+nE.Pcf7NY/ol=&K/?I5iKD$s4Q"j7CP(QI;DQT6hEt2+a=;m!b8j^(To`D2gibO?G
+kP1nZkTN0K\VeZ4]q@A1B$/>/<sLUWK1i#F.*VkDdtZ2uGuHj=/^Yikj-cAn[rPQ-
+6urN8T/9/*A&1[5b!I5q<DVij;^Nh359ScfE+u)"=deP)NUfZc)S]IRcpep%$]Zk^
+Fb4mG^':UnBt1Lt(RGpcc.+C?lIB!;N/gFSNTEq,!7I0V_a3%+(i'g1")D*%f/=[(
+agW:j[/YM-46k):O<NJ&G0:;IVt)`IC$n(HfLtOW0;Mi%MD)*o^6(7B1NqLM3mt[B
+1q'-.DEj(;Ei&P5@u1Wdr9tDE*,<HT5<QR.lp;V20Xf$]8(JcpXu'WZ@k]"F)M`2Z
+LGDf>n9A]>44K.?*VZ[bjNi`U!tN^(0bi'KXYf1?Iqh0/2:<1C=CY]>83`k?F3A"C
+-<_AZYhJ%T+%ML6=8eb;^;T/RXRtdUR[^bhRq_J!m(+GZS/RnHkEYa2d.VdoPF!N3
+.+6mjpb?J]7fL9B[lt]?[s^M6f4B)"M_Ibe;>hq,\s2@F-)"jh#PQ5NI5%STpVkH9
+?leX0=W-;iX@&Gk0[/BA9'thu2emm;SGCF0#pEYf.#kduT/nsm9lf#,X]ZLC,SUHG
+V/[e/7R0sbZRPR#hj(q3n<RunJ,]ES^Q/#Y7\NFg&o;/.NRb2:@#e?@g>&i$2N:TV
+d>gu2,qEj&N2Z.?DKu2a6*o,6ajfI1h5Y_t,2.kM>B^gZ.#n%Ee\'Kr$$Mdsb#PY^
+Ns9aH^X!mp)qG"d;h(j'O#5]$L@hTNp%$]E*P1ikRSQd!S#$\c?=</"IWkn_3H*Hf
+F["0-f!^!Z3>,acC#[u3:$Odla&Qb_.sp-b4g&ZEg0p#i==iDB,2S:5fO&QUJ^t\,
+cnTGIXWP0ikXIN+05D-2b+@*"L+hmGf*2er3h&%m:-[FZ,c*5_VB,Ju0fQWr_-Lur
+@A.<tT^\R7i:a`LJ4=P5&(/OVXf&aj](a[L[WKGX?RI;IFOG8k)X[YPZtVJ*f)2k/
+3Q\9<GPtbN8u$"Jn"u"\<N5@!*:A,_7XB1@)U)(t)f(ZO_>U%oWH\2Rg3-SNk40s@
+4?KfqUTrH_\WOR?7ZH$c>9Y:(#s_O3cE+(=0DaU\(4DK].?00Ag415umHdq-=+FXk
+X4d+^G#`8-ND]sDZ`@m,VE.e\PdcfAHf.>->$]BO-PDV%3>.j\1q&r\;=oW`]2u[M
+^)1XS@E-7;?1?lu02+G_&d5m8qcfm&=&,DK":@#m_g"`!h)$Njn2jQ_D"c<FoJ#RX
+T4Guq*I(YkL["0kc^CQrOkkFkYH7XIRl8$<kqr,1'!cMF8iCuGnu=X*)74fmSL5nH
+ah^'7Z,sP)meB`WT\<N'3n@*509-P>J@Zc_<i,Z@+S`@*pCZ4q\b%7>h(s_7^8\7r
+:K8<kY57PncJUVC=?Q,OlWrps4&DRi]Z_N'GNdX::i@+lV"/I=hY+91Z(]ceOB>F:
+h;34<k-1A?8B>eH\bp[7bJu2C^Z<s`&pW!:mS[3_MM1f":!@66:[rZeQPp6MiBt4W
+()JF!7N=qea\(%R_I=!&c,ZgBR+S$@6CUlO_@W?q=O^mHL3CjclH#]rPS.hs2\UTW
+Hhub?%o.(';\5fVc-_q,[Ua<\`Zum$o1F9cUVDUBK%0R:<0B6to$E(NnV'kF&6!Oh
+HGihkC\1jMGuf2^FFJuo#RcmZB[T@RPBUDYhHn%YUj=X$>h(;FVZ"`.@)tJ\_`6j$
+Jc)HV,rt,UH?P:\V&)2q7]aE5V>7W9gah]P:Q)<@LXirh05\,"3khqDFn_oGn'-oV
+KYS7=M6!=+'&!]E8#9kE"+KL\U1#`nXAPFIZhb0b):4kkETqaoWN70mM8?PGLt(=E
+"RSb'9"9s?52(d_/]>V-r*1,il$94:9$N2m9(R%(BPFR$Z14f;dhJ.F&2q7"n`_Cg
+dh>=RJJ/qloH9N4fRnU&34Io1ct:"d9:^.YpKLTG=JmttLT)KArC:M9!k>0bI!r0n
+-o#T[^Rtt([?BBtDDl\=B[`*\e<r48Fpr+6<[u@b?$aZC=OuHEALasU0n<AhHLapg
+36\#_8dtB_4OHtV></Ih/0XL2br]XN"oa2qoO)cXas+SAee!H)^f=-A"4R\_h(MQR
+jLV)Mb&Ws#E%$\g4Tg5C'p$=-<2Fa!Ri5BeSN.>.,4koL)U9U\MTOp5(Nt,f)*=.^
+MT+S8*SsoNPm.`pAH^B9EaRC^aApVYf.hbmR=J0h*-X)2H<EhUBOMRD#=31-h#qnt
+H%e**Sn6fS`[9Y0>s^k1Xjj`F)umb1p*l]8]$"/)2=*VV<W%:XegaBOc"RheH@;#J
+aM3Sf!XPXmanj.C-[Q<#N!W*dl@-<qnsf%5P6PS"4$f^eb5dTF90p`Lbm!f#I2n<Q
+p.eP)Wi;NZ:]4>]EQ]IM_:,K7Wr2[;&8CpRZsQ8Pj"G`Z*C7AtCbD*aDh;8/lFhWT
+kcS49p-H/=_/;I7V"o+`#&3l++@Orf>UImK6CL#IZDt$2d?hYB1bT9B8".q"BsRtW
+GblO*+be?DRR3HJKL3%?+=PJX9LThh0E[KIDh:Jn-BeY^iLb&)/*@gh[0Jik<g@)?
+%BDW5CEGh7(CuEP:&[PGLAL[+XAt]_QD>g@<j1DBn!Efc\G5oV=]9?0G?pGSl2koR
+8LE0E4UmM^PssC4eWKq5*\&1=?H.:Dk[+(%=K=:Q>UG'),#:EO4,+Rm=(WsAL).e*
+[HR\'=KF?'I+B'+\C6?pJ2Fl9jqsE<`ZshX[F4i@b5GbSnoOrh9I-*E?;LaPgO+ZK
+/6<bQoQ<5kA'\pFf&#&<GaRJ,N3Im+8olthcnj90fJD=]<tON4rCjt=N!_I>RZD*>
+l^Mto135pq?Z7lLLcZK(h&n"[TemkKmFckJg$l064RkT/1,]Cu@sdWN3(a@D.*^j\
+Rb,q5p#asCC7;>4\b9?%knVQ]gLL6*?(lshPQjRUnT'Rig`L>H'V`EJ\VrtD*W<6l
+3OVhS'i5Zia]e.?@Ja[s!ui`71*G_pZ"gX-(ZirQc,?ee)N+4NMG8<d4gS=D:`9Z'
+5_D$BM_3B1"edacT_r,o4HQO(2_N82r4`PjpH^3e#l.4ORlN^\f%mLScp8M/:`:3t
+Xise:1WZ#ALJRPL[-1PDdQG;JlG1!#'s&\Ied/*tN)ui'heVB"r>BS5d;WlSdYu*P
+bfPQ#OZ#4!>\IkWHXeJKE"#bg^a2*O"bJ-m[>)KK1R.#rN'F\_9q:+_(l]OClq.?b
+Q_&^2U[L<`(&%9hdsSM;`!V:J#j8UG&#6'Z^:O>=_E;Cb!lpi9I]7K$7rJi2Z[A0*
+>S0NPT"3MW06)Z]F/Sg]2l!3GQIe1B^os<SpfA)(I&t/?;q>eFPic?+O1%Hio&c?h
+<\*YSVm</s&E-KT\C&O9=VG8@XMj0+=;'9oO4"0.@Co]g.@mm=]F1(S"Ju/?hc7[+
+6on[H&.,$eRpr_'pS[Vd0LS/Sc)(L;5`>'.$A!D&rNX6$<SXP=jp&El&i:W&1n0)Z
+L+L?j)^oQ\5Iq5CUBYFI])<OrL^9j1'Nnhj'5PXa1%D.:hXL'I8O?i`RX0Md1I+P'
+3K4'no$bMP1"S5H7LZRIA<f2]T)l?llmP_?rA,usF1oSmD'mVYFoA3C/-+6$jJOn-
+HXHWC]p0\0:>c?]V)^K=1s_eb/>hoZPT@Kt#.[r7dQm)<WQ;Jna<fm_$Y*r+^^5eE
+*;.q!X&,%X5&2lI83:*'51E!*Xu-Or*\MEKEi22i%s/rr0*1@q77pI)Fo9CX8Z.3`
+!YI+lFum[M'KAW._4ic;"\<:*oGbr),Y`j6!_eY[mXVBsZg@;TE1[%a!RjDuROXlD
+$&d47(1?OZQQmRJ&@`9DZRL&?%D<8U:5%&3MT&Md:2TfT>q5^pP\*j12YEQ9ZPK5k
+Rpr_'h^k>+#c62gRn`inl)[<%c)0-0l8M@K/OF/0"`/qDo<ArqB`\;_6>6K%-aM1u
+q<q*-9d!iZO4*t%;49`L7jq(Sd)QZ0rf<]3g#'Q<1k@n6IntG_'6fm1^jr%=bt4AM
+h'S@5&Er't0`QQ]BE*\6"9Jf*4V]<.-4mC*PU6r\,*XDcE$CMn&9*4O%7ZF+&7Am<
+;^"[F#V^q["9M>OdKBVHK[Ku):5%$u!`"Es"9M>OdKBVHK[Ku):5%$u!`"Es"9M>O
+dKBVHK[Ku):5%$u!`"Es"9M=pV>2&9"F@#2Ap#k[^fLLbc/8:4s5K[8?W%dWIi<0T
+^d!^"fdEWDXb/K^hhFA?Z9OW:O8eTt"7!lN3snL:n:\SNK1?]EBu9@jC\X_r_'g.\
+!.V:e(^6[B'T`S#WPhgp~>
+endstream
+endobj
+11 0 obj
+<<
+/Length 1402
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:+95iTD&AII3kdUi&CVKF%VG.UI]sPi^$/kMB9AGd6]cp<VptqG!O;)E@E4pcf
+%QU_2^)?4FF)lcM35t.XP+WI8.8mpU=cnlCH%o+?St:]?V:Xf-doW&G=1(6Dal33Y
+.MlF7]CQPM"G)[[/i%N8#iV"UR[u_hLLu_3'$_pG+>$XoDTUiDZn"s*o2DLbi520l
+ojLi(8dDLf-+1AN_WOrm8=kOE7+97lJV,F/Gl]@+Kb_[0f[-_X]@iq6DSL=(1P$\^
+)S3aBP7Y")Y>;25_b$KIJm%&F)&jPh"rN\MDZD1AD;0rH62(uNU,uON\87q&HL#q^
+CXoKTXHJVRn#+Rc@Qm;4kFG2F.`)lN4M*ads%#d/_7#lh7NC?7=XFD*o=4(&OZA2,
+@ua4SC,$\DI%L5<k-CIGj#=l<(YNh=Q6>@%>Aa%"r.#M4e00auF2`)WCMrZaeZ!C,
+P_98&1A)3n1GkKk*1g@f]=A`.-OCgM4FLlWiXP1mOPTs%KXuIe+Ysg9BY(qjVIC,^
+R&AY3(8@n1P;A<3&d8R-SV\3g2"Ac'%*?#'A+<SYhNgo/Ll@LqG9)^(W,e=-Bp\@3
+GnqED7TEPf(qU7_)?i_f%=<)GKLc5hS/!PAGb8DD<h\Mj07P"84Mh:I+/ilc(-$V"
+>fA*,hB1otRI?/8*??Iqhg`pYP2$j]?7&[a@Gm23V]7]^K9940[KF@.(=c_k.;J'T
+n$sH=;t\9\ekYD2QJ3St4,iKa\ne<+m$1VZ]j7WBZ)_b!$7qd$;CqD`AG6J1)lG7"
+:RdZI\4I\]H9PXoIaqMUhQPb^omF;3P#?5[A@u>?*7s);M,67fhu;7qCu"UUP?XS^
+mp$<Y`>DOFZb8ji_b`9`+*8hG?7RU*H)hJa]J<NjlX8-`Kdi^rV5c,k/ZY]BXaLCY
+c17fWhWhhL#cRN;i/8,jFe&t-'eB!B'mW@?[ocnr+m1N5=IV]PB/&=7m@Uh?@Q?>5
+N?gE>#0;QLj]A\r=DkAnrsKg1JU.HAa<f,;H;EtmdA])k5Oh5<=r:ii!o7\YT]kA'
+q\)([hX[QuU)k:Q<kT=]/9;`Y-G>`Gp-H[&7qnLBB8F,+'ZFD>Ga;2HFiZY::#"4<
+-D;uj]+82\rG,5M(S?V!'f/o>$d3Yj_-rc2T\Iee>)Uq3Rci2o83IE7d4C[Z]]l[E
+Kc^K-::AK:QN(ldKl;f_[W\(IC[4<T43nU&Q]@FKp'k'XK%J7\6=Ut:[9eN("5#Kc
+0Y\`-%qDCdWlY.`RqUa^+hmf^&6m5'*VldS8nVK'[[TEt+T]9V%#<llC^+fG%?a6+
+q;rA>6_^``I&`59`BTrXT*\GDatiQGMc*0sa*OS,>bMfSWcRk)a;Cu+H:[Hg%ljMA
+-%@6@%KO[ChD,~>
+endstream
+endobj
+12 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T9 13 0 R
+/T10 14 0 R
+/T11 15 0 R
+>>
+/XObject <<
+/Im1 9 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+16 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im2
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 2006
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"Mh.ZH&4DA7+Ge'+-65H-SNTgTq)^(5m<+\<4"KUCc\LF.,rnmU+&b>H43#d2
+Ik:Mq]Ih`:Nq;+$[J#Z8?Tq,ff=s3*TQmf1YFY/hp7pWlB&8?u(Ac;Re$[Q/:S6J@
+dq]G5<o`VSpU\6lcM7*9=qtAJdX=mBR$bWD@Icso7T3F29ZI!ulT(f_\DEM?Bj]SD
+1N/GglFt.&V&eo8lt?#b>,+0bYQZ=(4."2F3#g>`(itEZS4:&N,P-ARXltdjpG4)=
+^_<uF1;AeFMrm1N:jFktr"FC3bkqcl1A3Wg1Qtkm]ONJ-;mH3WL:s07+-inT]DARQ
+\hP;V(d2Ztb_P)egni@[7sNp=d-jQtagfZd5FUn&[-XC[B\]5Lm?<;h1quobqXa'<
+n:$>tI,imDs*FEbGgqqZo,L-lL;tr$T5BAZF:spN5/NXt51?*jTA+D@P\oNiQ"i-S
+U"u-/p[%(uPYJ-J;i3Gu%QO(G=im0#s.*k-m_Sf]Nr`bi,\8=2fF,??%\BhY1t,(s
+SaE8i#ID*#pgBYZ"qU;Z&+bqco.U^HdbnOTk$_Ro?lnH=?5brM_`Z.9$I$CMbY*SD
+H'jA48V)/SLO!V'0G!b/0.ARco.Vg,*p-lPjs:2n@34R-_8ACZ_n;e\4Nt^U1jGCC
+H'jp4R"osSQNdul0G!c<!qS)Vo?uQ**p-m;;ICR.@9sj7belQe9+&n\4NpHNLO#8B
+GtER4R"os$n1YCE0J=k/&+_J.%3FY?*p+aPk$]=nV8:&3beq)h_#/?Hl6Rmqh_MCT
+=pA7qgakto$q9r<k3$Y8DqYt,3SnL4l::S(5C[l;F&A3tm8ECCG;NYYW\NVCIX7I7
+XLGI@q5=&Rm(LY.]onX:p,?>cnK,o`^(Pf,o;._,A>Q>C2!-I9_VLudb\'!b>3AQ+
+&";)\S(B>)o*'A2o1I:-eG@qjko/?<rKJ)iSBS#Cchm1uKIne.l-.1$=$pHRZTWum
+^Vdl0#;,/]bXVi;e@^R(0G!"GGbb'??=h@D;"MH/Tr0]=N;K^P*.0a/[2\e'Z[MDk
+LZXr3BY*dSr0BhEHtN9H68s.55rE1c[*C$u.:t[2[=:*s+(48ASfXJcH2@.kY6QZR
+Y<"h%[s;1dY@i<E2*VL1[uK'A]$6\9e*WR4h"G;3Ro2=Jm.4>3D_g(R%Dcka:L6MV
+O^O_m$kMq`T*FFd*p-o16jV&`D_/;EPm)QXI%eHY;:/IVIH<=3q+o5Tod;jAbhLOT
+=Ac4H[C(eL[f*U^\LMfpgFpCDaF&4qXndBeL@?pJnqZaU]A10j]^:K3Dk>\oiM5^Q
+bno?6l<TNfq[Qsq0CCk"Aa;"^T(n^t?+Z0gW811'jtl3!$m2'0Da*s`#C+c4T%a*+
+R_<a)$1H1LqsOu7O$V,[IDSp&J+81^DSGWRIj<:,B+hl3^]+c3>$rE6F+JV(^Lgd_
+qJ0E"j=G[So6S\oSn*+2%6rPRHTguolNbH!K<;B41HuA^bmu],B!XWrGbWkTq'35Q
+IjZ&VPH=@?_;Dp<Y;T/d:MJ[g_u]55^FdhLQKkEdF/P4j?NJ&JmCr-e\.d0M*Md'.
+U[Z4aH,1/`=5Ft=%f8=HJ?sNNK):K"pP'XGD#UmnDt((ks3jCqm(^GcjVi9ZrTh_c
+$![!H3=AVnSn#jcEt$:1HnLE&O*oF4r6p1]F>lFihYNZo8(S5/9YI(4k)6q<lJZ>8
+lDL8"?/*AOj/obBIX7F6eVjaR>G^%L2tJ[o$3$7dGNYk!G6d8=*p0<8_`Z/\]VN>*
+beq(MGaO83R$SMSLO#8R"qU;Z&+bqco.U^HdbnOTk$_Ro?lnH=?5brM_n97Gk$pfJ
+2qGX0,LF*B[_mQ_"Icf&i'fj$.m.EjC%,6f@34PW"m057k,#o34Nt^UUqf+:_n7gN
+R"osSQ^$/#,V6\*Ve_u$@"&`tmH0<]eYC>e0E,b$G5ZdPbsCm#GuNS^lRPK9DfmsR
+hGc9O*+tgpig&a*)ZY1X[6s~>
+endstream
+endobj
+17 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im3
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 1732
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"%@4=M&-Z>c]5q1o-Vo\27-GEW5)i:gF_5ZGB$t665JuD>PEmr%Vk9Lko^cRG
++6@#.]Q4#)7o3tC,Q.*^-%=]c_Fa9+0s=kjQi4#\YaQ*jNeMp>s6EkVB:m2)q-VH.
+2s5%*HbFa^GuQ]^l`2im(msR-jr-&Ih[GmuLfe-uB!P5eht$Rj7:^f'Q1Sctg?Zt<
+m&k7+@XFGk_<6^%Q.I=cEBCM2,pb*\^,EaaX@s#^OYa\D)<HdHRGYKmMZ/\4m;GU!
+JA6rSao'TU^GN\M9pHe]_#AqdF.;t0ptOI$NVUGa-(EfE"SfU]pGJi*g1L=\mZ?>V
+>4M@[q4u$JZdr_PrNFCM9$KR4IW%FGhF@*>^Fu'@)sbOkfluQhrP!-UcQ;r4r(=ZS
+?Y7%dIU?Rds,T\Io($\rENd,oSpt5;>N%^uQnPmX4s.^+R6TX,11+_@bg1.&@k+oN
+l]>iiPL.%3TARW>\Z$FFrCIT:PYQ&WhcFA>gV,I<b<;5"k<9Hob>W$4LqUUEkMXtb
+gm[J%s#8X>n4?ut\%jLMV5&G>53)%n##+8DItX.JqqtQ#X+VMO/*9Xlbi=WDX2p7[
+9BL#h9[aC3l^9<QQd)uN)5]'UDr\)q?S^M2A!Xi:^7E4mIDNQDpnRY'8;u![k$>eF
+b^[ZAP<LcU@q[qaX73OZ,J&9nRd)M#K6_;U@hl`SR@hm=K<I-s]K5EQ4S(H%r#k`\
+S*[6G=PL0_>Kf%4=Cj.RDl#23?8UQZA!alF^4jW^]3r@EaYLJ=?JEEb;K^B.,FO$]
+O;UPibf?Z(k0[3#0nY!)[G-RRI`ZO3bo4gg`;H'4T6gsY1?[dakm70W3qMf^#`j8T
+@pV`^n<gC5hq8tk;f.!YqroN:k(hc22lSVuUjkEsV>4HV0opV($h6@5qjuu!YOGl3
+Bn*Cg_`['90;h0^b[Xs8^FjC#ibr)VpBKN\[dT-frgE3g^36k*HA&KYe\-:`e@!Nl
+h<el[k4p(W=lGp=+837S^ajJD53)%n#+V'I3;_W8c)ZL<i%*qcl-/1Gk,ZR^j%JNM
+WD(bKk3JEde!J=g&/h>uRW%5k94'I38n41$@(r2N.Xf.G-hsH^JOEl4>uKG=aj!I$
+?,@]-M]=4>:&<)H!jD6DX74[%20u=mp#ZuYX7.^eI!>(IY;>)71G@)G6Z;>a.m,\$
+iE=pAX'<h-ZWLclR;\oVb?d$_`ab@KCqbVE0Y:`,T#ib"A6rKbm8A)SF!I*&<KJ(g
+=3S^`FQUtNo.e[>?<QG1MJ@T3[\;)l34<j:Ia,+C]`h`1F7UEMc?uP+4Q\Be%3G,.
+a1S<X*qPcn#*4&RA):-<O*SrrK?$+:1%-QYa#rLt_.+PXR.h<=@ik6ui%^:<b^0]Z
+0opTun<h6Yjuin>R)ciuGg'Y=o:CPZb[]KK4Q\AZGu)7=jtZ<6*qPc>]Vf-Yo9f7V
+O*SrZhGZ+hH-CVfa#rK=mjXXE4Qa>n@ik6/pCth]*qS7H0opV(HOAmiO*P[5R)_>O
+4U(GEa1O?Ub[V^cSq;73A)8.ejtVpB:Vf0U1%,Pmo9dS2VdSApq(N#>k!LsIju>1>
+Z"(88-AU_n(3l1lr#;6ThA\TK4Q\Be.@A.<k.ST@*qPcn'[1&.oA8C[O*Srrb0g.J
+/:7!'Y3#'sjsPAna1Re4SpbkUir@5<T=7H8:5XOj&+VH)?9.oT6YD>>K:;&cr1e=2
+r89X9%0.qoMBW~>
+endstream
+endobj
+19 0 obj
+<<
+/Length 3149
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR4gQL=$&Ui84kYY8iBo!.8H/"=b>L'+O[1t$feBC*q.#u65\+!k/oCW.2kU&Q0
+ee?g"Orsb\kWXFko_7&,0h_4VT=sZE'BAsTrB6TFZ2,94Vh"6BAf'ee]>l#n`qG`r
+IEm`+iK)U'T??+9qtD`(i@,$6VN,71G6`<>M_($h<;j([5C\7'`-s@p03*;HCQB>@
+^k#u.-@6f3B#D0K-9*3>bLM*Oh;KlS9AruhD*/i=n_qP&[JQ%M*!Oe5/jnK&eS;,!
+PilfH#5n0M=7rB'`9,7\YM#OlWD";0T9Q%E#kZG3f9d"P7/5M0eQ2&@%8PLfp\$tP
+X>WfP;O;(?\5="%TCkTZ\\+P'@H7Wu/mfb)g_sH_4@W\LIeoEeFgo*]=7d_UcY-X3
+VemFX:SL!^!fg].Uu#&5ArGSul[uGjV&,D7emSs2`>r&BFS4oR6:cHWb,"2Y$UaL^
+a.NA-O&Ve8VpueCOdf1#/uhtBi7`74QXB=rhtCNm/B\fq0MA5PP/+QBX1BAH&,B2Q
+.\3\Fj!Y:f=F67)79'k8?K6H$fam1H_VQsYNcTt)T;o%7[JNH+nJH=fk[)Li"0<0"
+U@EkB'\p^QA6/.k0MBQ2rLG*,o"'PjJW[O[[/h=FJ2"s]ggn_U'JrH-2p-6S]2p3o
+S;9:/:%8T?ls^0R*0@(L'=2Udg^flKRP>D:He7%X_9'0dl0GWPOk9ICmb4/MPrh:q
+)K8gA/U,]UR"o\(LC'.]8+71(Epd"p"FI0l,.HX)%N;gbK^lr^p,QLmBMAZI6F8/]
+Oik>Sh\BMko0i4\CR`Egp?EP<U+.&oa+a!orQhOD(a9RXNWG#CcH"8ln*@injEdk?
+IcUcpV=0/.!p.U\<TK><SS3j7c)U-UR$].*(sfhq(a$jQ[ZU0\-hPg#8JriGjSS4d
+]e/nSA8R&jYCV3[2G=]!>:(]^";4HFU,PTmWk)2;)D.:&mW6YLZ_fF(qAUTWoCas&
+(](E(J@(miTTu`X,iBb5pJt#<CCBD9_msM&kW3QpXStl9<NEpa(^g_W&4>#'>85OC
+<%g:Ul[HYRkO1j^MRa2A_3:QT&!-h6"E(`305d\kMJ4-%WW5?C[p5LS&n[()4.+2b
+8I4bFRYUG%G?pcm("@INhTK)IDiqN506OBSH)pP<a\kZr/B8B&)eX&>Whrl#o4'_i
+<UI=!q?Xd=hGi[D;*@ujNtNZH]LMkMKFMC8Y+>_Bb/(M\R7^)6-g>I8<BG@ErXQLZ
+1$S"?o4&8Z!UG\T;`Td@DNK`[<S(7ta]'gi*p:6b/5MYj`Zi@!m^\ph^8@XR)L$g3
+<J)`CM/T7DG!UZSMkso`(d7j"%:(Z#5:H26*iH/<V.N,J,`]6KSRWG=W\S@?6/]id
+#e9iLY%acbVe+p8HmIfQkX<S1C._AVI:$%ZL`Z`^0_3<b#IB.SX::K,3A,g)FaF?b
+P^:EPN-ItbCTbDu_L2U]C9B'"cBsB4K#^[_W8\#[NBIG8U<(GPgY$+,'N9'7qXDJi
+\gGuViXa#[U+SarEB:>f[#IIHg_:>SW(7_Mk/j6T*/j5=VYeXR*3jLuc>@""g.3qf
+f96niX]DRp)MA`!V8jnF9*so<GpSsD3h$Le%-)I^$ZHp.HoC4!4Y.RA,+\E<N]:NQ
+:9:W^_9Y'(n2R;NmcKt,<\]hV2^?;<e$gt&,Zr6@h_0/F(CT7DoXoM:n1tM0l[_uq
+1:B]`64fNA#t\,X\%2d1k;mIl;[=6l$aRj,:A\Q@QS1G*!D>b$G(jtrfJq\Y`5V%Z
+KLN(j!3rLN]^D&Q7sNhL3[f7tW<!"A6@YR]Fm&KU4&HSM'#1u'fLEos<HtL38F=nb
+.%Ep";eoNpM?JOLLmj3K"?ticlO+bSms`>iifsn:^[R!rO*kh^h<!deJgKh%;rJ.K
+"9N3Q=0AJVB.=p8q%sq9>_DP&L`+(>N'4':YS<8KK:Ci9OS/o_2U]temS+"r&fQ''
+'.$qpN$d;9`LMXZ,a6_NTk](GMmb+]qV]+L(=>4%3aS8M)+p!9nG5USP*+Eml&lET
+6)NnH&03l0"E2nl5^`e_<Ggro\,oO%mP1!d]GKZ'6r1jF)c;h9Kb<g@qC;P!8;18@
+VMQC_$uM'6a@X1l^JbppQ)/@?VR^'S1\<`t\!`E-eres*`s#*_$mP<lB+_*Tku0]A
+kJXC.mIuZEC_7V2qW$V^=nXMp)(p?o52f_P/&`+%"7Gs(Hj/G`X_#sWn:8G5$pt&q
+28^4RJUVL%GZY29q?Y+jb#m'VXL8*BU#I)-P&9'W3hZg-@`qHRQ?jj"aGu^h;an80
+RJO;lYM,0)\tY=J0[-7FnZ$mQ//;=I,M#kP?RkWp)*?>Qi),XGI3ioc<oHh.fnMhp
+'CHfDCm_K&2=`Q2@qXjc.srpZg0tql(Zo]qK0$;]<("N!_K2MD4RSs):X`.RbgUUo
+35^k(Lt4;g2D+oEVWu,9U^V.Ok*0mqlL+?FH-:@Fi\Eo:j6pn1Z2]i*kP>pG2\Rt6
+7<OL(:`=T,Q8dT1OcdZ3#KEM8VM26e2+=LdV,3<Z\1m(0L'kV6`khss=nnB1f:9"o
+9Pt;uTCJ[W+*MF[CKn7c&+:'_mso]bA`,L1HW?:&5%LoK!eA?\/4,R$(<>;a?+F7D
+Z87m&B]5`<BU9Bep1[=;_?#k]a#Daem+&!Y#t@ou`O+WBcJ9[7!Q;6bQDnh3o8###
+qQZ_V/Pg2!_2#msEorRNWd+Gsl7rkr?GK;e[lbg$Jal`?eQEpY_#6h4j<K^j)*i-"
+Ui5_/U?J_N(O?gkTbK*o)D*V$JMm&1]AO2mmn-`)ru*]g+_&L<</(D6p%=WO@GNgc
+qb9#A'ChOsj\P8QXeP:r'HshGMR3Sm.d9R$k`Rka#j\Z%eN"Y4@\!ek\*&rAk.9sW
+Q+tFfC@hFVeo\4jr=S(ZCi;As:l]Tk2.MH.[eNVS_mbQJHQ[O/JPpble[=NWJ')s7
+;1jNG(1u93Yie,2WB0$cVMZg2C5c\c4=-/KIF7C&5;digZ.o6JjtYuj.CaFm^p3@7
+?#X9.S2m$64A[Dj+:3[ab%B5k%aTq.q8'N&aF2b5i<=Zi1*pB0Rk0Qs4?tl+*rZ-@
+/FlI$0.LX-i4?6"F&9FK#EuU_ARHgAp4V,WrGM[1mY'0~>
+endstream
+endobj
+20 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/XObject <<
+/Im2 16 0 R
+/Im3 17 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+23 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im4
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 2854
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"$\G]7$q@QqGLp]B*G;`CGU*kPO$rR3r_j3M*DVY\!#R^PQd<TnbK_s7rLXi(
+6bg(eBDQ2S-?eaJ'n1M-ZMqSh9K.Tr2Y5]5HJ.`k5OIU2iEdK%DSGjIg9]+tbC&bA
+VfBGjchH/jNi8JfpNL@R:pADsZH!fMJ$NJ)#W]n]fZ>JYI*V1R$H`)A<rCXb[ATFb
+U2T`&?_!bJ5B,Fuh,uE$(see5bo=OniN`1fB4op86VdZ9Cm5181[hcS,PoCWq9p]Z
+i#Aq6RGXV5LZTUT?[;,@\2Vo41\2LRc.L4,7i!]1r5hFD[pjR%kl90qo>,Ahr`2t:
+[sR8N0a;\Ncb0:-h7b2m]L7"r]_?V+bt$)CDZ4OUs0Q?]bQlIBhJ+-,HJeWqmHVaF
+>Je!^o\^+\p3:lWl29$igZKl[?%jXZAfbeJoC4"gP5,*-/FuDZAH'=QHd-6)X;<b6
+BdVP0oDbH6p\uQs<4erfA#).\oA@0Sb4aYZkNtA+J,b!&VJ-nss26G]#/AH9hW&==
+q+H4=p&r&&XL'!Uc-60%O2+8un+d#sJ"I81.F*/,ZfYE-(Z7+3Ds>d3PNJ(MPiG^)
+;lNaF'B[c31t1LIF,1OZUZV/mo[773F(s.P,NeT#[*g2]7tM8r59Wlr+.F>Z4u!"q
+6RR:mT#T\`Ea%F#c*->QB:[FM:54$h]iOph3=dcr:Gi[<$!&Rhc2!TP*pDcn-[T`b
+8'n;jc`?G1HDTu]V`MW)otj5]Zg"m'A*/'*Gg0=5NgaU+,'^ff\G7+j`U&8'NX<@)
+c0U\j]2BF4DGh(hr'HU<nB0,ro4s_>%eQO&k1?9V4:poF_OB?p*G>)#(XV',hZIbV
+);fJ%F`MF"9!H.rVb],K%0W$_l(=C$0=B7n2#e'Y&'_jVrDW<kTRU_U-1Inr_68$t
+HdeBno5OWj1cTD'PA2//Iojh!W2<?I&,qX/^!]QGB`>.'O3R!gs2"VUWKmH!oBPS4
+YP&>^s)mH!5/0$G=,QRY_V6$)$VbnOgP8KAkoZP_U,I_t5FP)d4uN/d]P@,SRTHWj
+BChSVIl<@SHob0T]KZ*Io6Y1uZf!@/c`HO&i-!H1eb1YCn<<$_,.oE%o[P!RGd[/]
+Vn+0<e=Bn;-csK_kE-GFfgU?$SW%ugKAU]u.QYG(q7XZ"HGJju6D%j2g`YE7Y;Z6(
+o+>orYT10qk\n[DoA"*ds+beA3imUQL%@>;GTHF8Go#5LiHjS&a$Fr@o=*r89dmXY
+HHLX#col\lPoa?tIGf\RW(V/Mo/X_fdUO#B!dMY2hPfZb?915]5'P6CmOk"N0qU[>
+Xn7GFOl/Uu`-D)m0=i8F,UG?E%JLaQB_oe43EVT!V8p#1&W+^fn-f>ASAQj"$-=mI
+d5/g's7dfg=lrZF"B+H>V9bV%:X!1$4c/[mjr&J10@,]0F9kF?H)_3:0<^EJG6gaZ
+56'HB;#*A*&.Y=7iE\b=)>KD%*rE:troWE:55<Rslr;$S7bugX&P.tMc_aK"c%q%6
+bbriE24YY3b^A,(+aD'(;Hc-d24m7._^UQd2kNVOjF(4i;=e$5mj+a^^MiKTb5@EQ
+&'S0(YIRS&o4qJ+UJim1@t"jur"*[e!9'J0i#2,j@]Yq1>PJr[hjE:'DQrR-h.n;8
+U*0;ZoCoe=4D"/!k4ufE<]lf)@##FOn,Dh2WV\!;P^0@e'<f-;q;kfQUCQiR3i@XV
+npkpb!7<\JK>*$7CUrIU!r&GqqBG'm$4ko="S(Cd!aigW'*.K\]L)aK+nKTeH2OY*
+!SQ![`QbRm:-I5MFB?@Z0^k7<CnW'S^:8H<8kZ$7Da$/@E.q&*qXU]cH%DOYr&aen
+QSfkOEAV*JqU4Mg6`o,K^TdP'A92X&!!m4UqSMA>QMmHa;;K"Eh&3r&H*j#')!._M
+CE=-"bZUfaTi^"H78HVRT(J;mmqsSlSWC81bqJt<7L?]E[kNk-oMI'm3mGmtEut:n
+-E4Z(_frrO(;76'!T^7ll;i.,\)._[A\1pDmBM*I\-IH,;r-7M!oV7j:SGh\p^Zqm
+bpPg8KjB'%io\_RdA!O!I<kEu&9P230GVg0Xa46sdjd6!;oNS"]bgB[n^El>MYVtF
+5J$p4UJ5h))WoYieSO"J+a%#c>3<:ZL`1^ad$MJ<q)r[#kre'ORJ'Y*hZj!#rWW%u
+Pt?,iClSZ`XS?_s9:6&>^BD_fb">e`IEa#/Gia9oPtbWWmQUZAqY6KA]Xo_DBCg"p
+G<':IMph>Xmj2P[.nSXS]G$)O54l!e&S0afmS2p,Qp9_[;";qWrZ3fV+h28Q0?1Y+
+jTH%:]g"rCH(P>3NLr0AQ&$.G+jOE__h(oI`Sa1Pa6[h(:DnI%js-6.*U(UP$=9\,
+K,u]/hedg,lMu(C/b3!)R_N$]S+DWt7@W1X]XOA#p3AXseLY`/R*W]r=bW3]o=!Ae
+'>+nJ)+:=Rjd8hV.`O*^Hn&,VG"LiF\-fO"17pm6P$OB!]UDL^cAaCH$d2Tg?(C^J
+`$)QK\j5jkJr1U&n:-Kao6]CfXZmuXI&"b?h]QOfba\FUi6Ap&2tJ95baWl658q2&
+2tLX1UmQE`DrsQB2tLY<b`<GoDs#=BB^fWjba\Ej@ckqJR3)mpbaWl65>o_<R5a`4
+_4,^+DrsQIR5a_LIPc:*Ds#=B829^JhTV#bDs#=B\E9^81o0q]2*_%P5k?N"qUj-c
+JEGI"n3bLs0>+F\UVY\KDs#=B829^JhTV#bDs#<WR3*kihTVJbdGW9^R5a^^,r@gs
+(>!s&Z*]O(INIp"R3seq]u%Ytr\2[s^0^[#B(01!'E.e-IAU*BMe?8=:Mf0_IaP\D
+4:Idq!<B!9HNs~>
+endstream
+endobj
+24 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im5
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 3122
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"%@X=?$q4<q]Bco\:8cN)'bX&.i%k!!Hdem#bNVk0+oH@]0"6OO`m1mZmC*Q(
+7_dsU9KVr`@E3iOi8ZnamJ9tl'F)<?o3@&rfh6s)?KRTHHU[dtq9`^:cbA8Mk!uU8
+Sb"];H1tWhT^ji:HDaet$!+X,G`7K)c%LocEf:C2Ot@RCP3\5s1-U2Qj3o'qf9p!/
+?hO"&T;2#d^-01nrK<32dh:=D6\kt^o+C0)'H,5e`suPm77u_:kI(u1R/d(I&n^&`
+Z&?iHqd*uc7s\-`\cMLF][P-<!59DaNVUeo7@X=]&b*KdpL?=7X3CKU\0:fNCW6%[
+k7;&b4_lhEa%q]0da:0$r8.A1H\LUGq`\r41tUX]ZL?#0mX*W'T02a9o.TCBr]GO'
+q#)$?nA_e_^:_&e^?`D5o8)X4iSilRT07[l:FG[>14R1@/b>D%M>>3&ghY0+`HkBk
+>ZTk^a8Ft2H[hR.L,tA0Ef<u8a8E8F;VD'<XD@_C*q,/:?s2p4PR$`5*T=Kj@.\]T
+Apr+BB7!SP_]<@b_,a^"Zb76(_Me0kXN,J?#+jgBj**3'&jkQHRkN1ji>\8i,(m_@
+2.&u[6>pVQSdC&+d_(5=K&4keN!FpjcFfAGJDSM_S7OgrRJAl%D9QcdL=9@pT+p/#
+]T-JY]odRYKA4M-L\E[@U!o"DDmP>5H#=][*o?^\J"Qn]qjJ%l`f[g'H-^Usd.dKP
+p8c'BCAVdJf3hq/17m=I]T`VNh9`fn#D(^Z]S$QBh:-g8'*c(NH#=9?mF3Ahk3j$q
+0^.Z]\$0s>kRQaa"9O]H5:R0*j*VWfTZILjGaNtJL4(U:fK()96h5^tF;ONt4"@qW
+q2d['KstCOZU^t``ocH9[l#7`6V)Ohg7C>0Km2A'Tu5WPIhjdr4=%V&H(pT2g&Jq-
+`r(`G.:V8p%EsUR)`?<D_AemBhXn.j>FGNj3Ak@H%h^tq;o0KAcd):Sn2@V$I]\6X
+n$L@bd[QYc'jc3X3e3%J3aXk-#iBNkUr%n*2GZ^!_`+'gKu]s,2pWW*_mc)<(68aY
+BYIe8,(,l*%VPq=-M&e7"Ro%T6p[;cToXt!D*GF]c#mHTLSr7AJS"t.^%i;b"Rpa/
+-%:;u$P9H9nD)'Mq@l[5Nn/T6Y<nTHRB`_I+80uN&O5iBn0RZJhSY3Aa\6;sB?aA6
+($mq[0RD;493B-)!M2,TVNWTR`4:FBbu`]PI&AFOoB'hD8b\\U5&7l]P[r*V!u?=A
+]OZt#h^RJ>k%-p(;^UUWifh'>1G9bW*\t@p6%_tWb6OEj_$$b=-Q2OCnDX.tlT-l%
+H")#G[?inD!rd"B1jeE?^3;\#r5lTfh9It)"+N)P^b^36XROd&3VrB^cTgu&oFgbI
+=uMJuZ/?qSI/S^`<-W*G0'7;77dl/W=$Q<01]7%\&ZkTBI2q"A:9itPUq4EQ,FR)5
+kZqqMl5\^.5<c\?mR*Z*'D(5Bad-urpr'geI)=tb$9g=#)dpB5o*Jt+dlgk*&pg9"
+A"K^sq^6<rIW0=NC;2\MKR'_hgP,"4eqo)5rBcpe=5YkTAq;>RDdi237]$1mSi"39
+R[6\=FiE2K!hM+gP:TBb/(H3?XSGr7550qcZa0\V>$!VS9*>*-X[?L"1nUSR&9)LM
+'j`=@n0$HRC@e:lcN::*haWA'Y;=K,9EVISs%hR<k4o<hIqd6-c*JqO2"9dCSuu)I
+(;bN7R-j,fFWPdMKh(T-k(2,cGbk1]i:XLk)BOUHWOA_%]QrESG'3Do\((+;2r!B.
+\((+>Pqrqu;h_+_NruSfm:0a`f:%bg*PTY.DR.<6D_aO=I%0pOa$fE6k&p/9oZcMS
+*#$.IR\(P5ebfUa:<,6D!2SHKeF:`F&)3TF00ror&;plKJY-MU1TBm;qjTifp!V$<
+VgY+#\ILLV@Gjjlq`Xl'4S(;J4+/URp=]FZ47#n[7.j!gYqZ1\k>*@)ke>+r(=,+Z
+amt)")pJ#57M,>Ao>RVsl2UnC@(pMfcZTA@f:/rIaRoXd=.?B8J#4S!][j`+ph=(H
+Gbo]=k`ajGn2g0h_4UUW^oP]&`u`mN0i=D>0CTnOHrW[9]@EP#/NWK.d2o=1)A%.I
+Gud&\*lrt2;45arCcg\K^g!6,dapVR+Rhk_GP?I/7LfRXbl#)(i^/=-2G[d*_Af!E
+pTo9kNuBCYq!W^9o;\KO_I'_L[Ast.(D$N#*s>n]?97qY2[I(A]PR@W?P%IYH-,i&
+/#2$\gnH`7%tMgZ@\2Ah<HLQYf:0NVi7Dd`LS`,j()ENY7"K83^P/WJan)c3nNHS[
+2BS-!AuOP1Vd9$[`\B1I8iWWr=oUX>Yq_lJ5_fDZAc<O<%YNT^4O467mpgeZpriSH
+hUFXm#f?"BIL^T]o5q*e"7Pp,7mc9"SSNpLd\F$nR1K$N@tk['hSjk%rlHu@`6nJk
+n<\D:o=HA7D*s->D#^'s1JJGNXmNGp%MF0`$4dI"X1"(?^?Zfaa.U>^RYRL$^!3=i
+?fp1g-`fT"mcM@ES^$WG4K?sS(3f?fGSpFOk$K&J(j9Q`0@r:1,k4#I]G!C;H^AmS
+]>"[JIGUptYO_c4hKu]Gmrl.X-?iGeBD_XEO!VMqq'c.[QZ(6I__Zf%"o87if6Mr]
+K\t6@98J,eB>-nq*oG.g("m8J-hF`FA*JEcf/!l4G;1`o)G0C+?H+d_hSHjhAfSLt
+Gra&%H@,6^_&JkV8B@f['YV&&)J!X*duT-j2.*G!<ED3"g3aCjU&/\sTH"0n_>Kdo
+XQBJeq<-4UO#*Bc.f],qs)%PAB-%o(S,)HCa'.\RXRdT1GQG(jkuZi3?=T+u[_I!.
+<p%@P_q6!R952DNH^L/i$tOQ:0-M7UmUNu&BdgTWH"I.+mc534oCiTtdHE[`bAFL@
+^P/L'O8^uND!%'S9[.K!Mg5HtBR[kUDYnQ62BS.LB#s@6s/aO7GhZk[Q`uOo2s@P1
+o1sVcfm\hRc1VghCRq(AQhei&AcC<>0CtP+bPX$T14P_,bl8UZAc=H7RK'*gjtH=m
+q.9N0m*1S49CEkEY<VdXRO>GGXl/.Cs#/2/5;2t5)#Vk\6GFSn1TfjoSo$9uYZVA$
+cm]Aer,hoB!2c>8>6~>
+endstream
+endobj
+26 0 obj
+<<
+/Length 2328
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,gQ(#H&:O:SpsB;O>*6Dj1!QRdd0kg=/W+?dBN_doaHA'qna>:YaPi(KgD^k(
+U8>uj>gAj"Hs\KIb@2odj_bY767tY#HSAfP*Y`X_KgcQqAU.O6bPgGjLYp'k5JhVI
+/O$A\6bRr1Go2::o2lOmSa#T8FmrPtcfn8M[&*"pcU=7_rP43#If0iBO)7&.Rd.>g
+[GL>r]!82Ya*?h"J!WAPUl[T]?%)d70$\<Ur+!&tS%Hmo,*49.kHZq?A&$f=^klN1
+Iq9iA9"d**i&:rk'J_(o,1-V2l=C!ob't1H*l%eB(VPDHBrnd<L#.RgrV35Rp@,\u
+M).@d8YOE"T!mKMAE2<0f'/gOH(+SirklrjH%b?]?]?^qr=;L(rsE%8a1'6cRFp;>
+;H8^%8tnkg^c?k\EnE>chs"YX(H>&GVN!<3,dG'ahPB3heDke=!fFA<DVLVc*D=Is
+UlCaX;s4cj'N0b#$!94hg)S%+3[kYm:?a;%65n=)C0Fm$$92G4!m8`)er\F/F2qP[
+:+s^k\=Qrol!TfGlst:RSZ:fVQJ/`6h3qPYkb`@-2$"M8nq-UnS:3]r(b+;6<@?Lf
+8aj7K)+U@ah0J#I-DU"kRiEJaANYEt1(icnh<*+4:sYVs)sXk4((K5]"u/Ic_'rnE
+4;:`'j!j3c%36\-84CIY++<bCF$HVPJR-u(Rb1k5$A\($-%-YFIFf!WPh*GB6>N\i
+YHs2Qq<E*7J"?_Tn5M%>KjE(&63os$;C4[\,sYh[+;]%3N$U0"$7jYHnbD>c00f)e
+hqgI"Xp!^S@gO3'?XE?=%,ka0Muf\VXp;c-H)7+aVRB(UU#pX._&j^dS>OqHU9IJ)
+?^:(R*o]$Nf^4l2$r_:BmF>_q(aWi$-\J)rOiRSWKR$t<.P22>!huZ^_0kI0J>P$6
+0;Erq*>-pmk]UfS)NgKeTXm;[6l()'r""74?*cSH4(P"]BkRM2ok4=;B:7LbJ*ORZ
+/s"k(4""4D@L*b?V8Ej'k?O0W%F+l[/+*#<?H[5"i?:f,k%'<_TQu1m'0@l,m+H[F
+FfoGWgie\m#&AY:VK7_!3(80Z&bC1Zdh)uV^29fte=.N!'+M%CH%snK=IMKm9pb!^
+i_@-Cm8,/oX+h4S.#o/H^NQrY3u0*jaGZsql+<)."@DmgbYX,WK#hB%-Np/_X.Z/[
+QW^kUJpn'2*')@R'CBr27E@c7::SZhW,Ie<^bmb`)V[0Mm?s#Lg07<H,-R:c1M&&e
+/!RC>`4^O^OhHZMMDpkGcf4L$1SL8WH_rNm[*e0U:uj7+4Um'`_o((HbCtbJ2q^7V
+A\CXjUo+@_:S"V=aQ=C7LW0plUIM0qWm/LBGJLlG7Hs4TWA0m[B:2Jdj$E2AZD"mA
+a-:o!;dR[G0Vr$n.qD>a"2p^6f&rOgq^U>3.IB')ag6E\SIt*:CogmYG^]rq@IV3I
+0qVZ(DlbFI@C4^04+R#.mQFMO-_B(L_uuQsLPIr@DE3u;#A`WAF_j*[3+=MS;20#7
+&l0lYDLO-*BM6,Vbr`_ZkUEf=Y@9LtE#O%!2+P;YqJ&`!(_O=0*)CF"`:4K1"(E1P
+4:0.'[\(p1<.;^u>':rUdbU>;Pc(#+Wm`B>r)A3$KJ?1iZ<_B$,5>c(QbiM%_i%cn
+!U:IHRHkrfSku^3qW$@@r8cVArC435i%uX`_WAJ]3Ukl=T)hEYP8!"*lB@5UJKj]P
+VVBfp>O"G^/p+g-gh<g<HHo2aGU`UUl!sP@*Pl'&3XU*.+4obe)CT;Va284O+<G@4
+"CTJJG>a'j-,IK;<mLJ#8"-<3)e9f6HW#`:>+o*'V1"e"Ug``Ngt>pD2IV'G7@@@+
+]o1.bRhA_N4@6Y`eOApSMVN7]J8_)i(>ZLbV3-PWJ=:h&;Gj!?_#c'JmYHXL_03)+
+"/7f>CWY"NolE@OP#?DS]%h9J,>n'SOL=2#jH`Vd>q5o"5N2m5*$YMHo9=%F2CB9)
+*`5,)]WR2uV7-e`^dhU&XS0<8%7IIKh_l3qiec\Kr-J%mWQ55e&tY2nMt4"B]NV#P
+"Feel2aJbN7q6REAH$G5`QYrsXhS<NSn+m+$nS97gGu-@i*I'_X=VI^3QZ"*p-dB&
+18/umB0f<<ME#QmC8*r7Y5fV?i>qs2<tI@%nOF`!k4K>^k.`"pp<?7iNJ#SCc#b)E
+VTno.Q\FibH6i;L0)Zt+#!CcK#grfA]a[(Pa,,'4(3g(\Ju;O9E9%i_eT<?L<SMij
+%@,''gf<u+\:3g_eYMF$3">%cJeG>cg%E5t&&S4_ldpD[;qZTn@nI9G,%PGX$]#J,
+`ot7:Eq/#eNW_fb~>
+endstream
+endobj
+27 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/XObject <<
+/Im4 23 0 R
+/Im5 24 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+28 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im6
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 3265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"MkQmg&4NSC,-3/O]QR1>g2RjWr!(-a0UE7#h3SDcE,lN:Qs\,dQbP7ZNLb(5
+fDdGlJ+R/6T;fjp`baQ4(3o^KAbg_S))"$8>4]9/mBU)AIb`/.5Bg6+c+J4,lEc!>
+:@m1T:?ARsO&tRg#:bN!m?Lii)Hc8'MYe6YIkkGAK^@_iXCPhXI*(Q668G^YMLW+i
+npBN>kZ9o"ELb!TE4.`1asHK9;.J:l0%cB.jt4luA/Ra0^HjTsK3XggbEa2tA,c8h
+'.2WfYnrh;j8P`tLX]BH$imbfFK1`^J?Qu<@m2V]dH1rt!koG^gIM9JbKL4I2=[kr
+=+%\9n+AEFf?2>7=1,f+D]TMI2=Gs3U%rBWVp/Snom_,;*V7+W0:V@(S)-*=;7l\R
+lo!bX5'l_BZ[I.HpSU.=X0(uLWOKd_9/iIon)iY%r0PV4pqLB(;')-tb>QA.=c.>u
+I2kI>q-e_9>@-KeA>jOEOF<oS%eFJ:BP73lkOYsn_>H?TJT73/.5ULGD;giY5eB6\
+o3(>Pfq&r8)e#6Qk/t`:mFgDB?GmrDj0/&:n.[5g^OZ,2+V[,Pq+EakHtMuZaC+L_
+c/5?!Tk?64T*^.AdsMH6"?iOU1*-RE54bU-!;(*ib?=K%g!$o3cXZq\M)medq*s=G
+bWk.7VIqY[A)s6Bo\jB+0BdN>_f+Rm\G=p$N'=oD4[5\D_onK-=-]6=pUoQJDs22E
+c/*YhI;e#8lFnrZbbEG/B>0T7J=Y)8)%Qd1VtgrL#^08?pR*_fH-PLn@S.Ti#d='g
+"rRh1]D3aU3ZrMFo1KLC8<msZ^q?5a9F)OO!(=^%%Va^;>aRSck"YIh&m`G'b`5<A
+Dr.9b:uSt:q;`DC4L=jli-EQdiY7QIHZ)]NK>NO1eY0nPQsVd-1d!$HPBgUjA!1b=
+_IJ$>M`.j0n-nI(nNotDW:15XcU$G,4I>m8:Jd0u%h_(t9u8]S:X8_(n3"%*HEDgT
+YI)S"d^,@N41r(n3e7S"3e("e#lhS`OpW<1C\'@s55a$pn&",4Ir@N'KFe*bq:jm@
+iP.4!?T]P1GNNs3%D[I)50MCTr'U(oL,Np9T<%.[q:$'oW_)>X4^XVlTP4E*\bRbC
+#2l,C^Z*R(i<&)>H*]]T?F@<l:sN#2`Z>pjY"NkXcb+8(Pn`-HM""L.%plF^/52iC
+poJaunHO=I'oY=l5"g-WhZ>oSrgL!+Td.\o6^kbEY4IXAJ5;ZLgJ,7b'C\TbpNoK?
+9NGQKVp1S#O_WVRI):86(XnVrp>EcPV3<ZAg;>aXo!&E/4u-L%_;l8gTdk#E0`O;K
+nc.[=W[9W"F>(D`9:Rm@+.=jO^!h,eLe!42ba5Hdl,n2-"7mE*bfF];rjMVBI6?rH
+[lbFSM>;b:X<F'C_3`sKpEp)QLPH'e@fG&T;*.5/Dr:0.P'jf0$J'K3*8A&/7G2^@
+gtq"$;_kBUd>RAYWNpn?rQ%+OjXpT<+.4eM?J0?/"Ws-cm9egm%L!rWo6:k#&(gW$
+0!?F&r?T;"-!ui)U&"NMkem*N;ubnqZ<)F1_FNbU2c<e)b+%ALP!`gP\ZTnX?X7]N
+DLMRG/:D[4g=/4]ih=)3mH)T)ohaOnI`8@Oh1Hh4@@gYPfN1-1:c/2_C1b_`C-E)6
+MgcMibR`NW*VO@lg:T035I8)1Y=HG!kA4&9Nc3cjGg:g%`%NR9f/4Z<\6b;Ca7d]c
+^(1Hm*0d]YRh%Pr@e1(=`;FXF5`=b,G`shR6;>3DA_/g^NVfOI'YHZn4b;3C+5r";
+D-8RK\HQkB0g#5J:G6fCk>s?5fE'4:4UTC<eM62Bn/&fa8To@MU@@C/AYW[_GRZo6
+F[KI+_]0Nb94t9]o5b]=YLejshT8ZPA$B6a^['bJ$b*B*H6Q>!5aHb'(nR,^&Y_/;
+%q=F@5B!ZH*Ws-Gn)d'ec$/d8HoE]l4p>CD3[jSYHXVNXb=g4Om?u;9V`Bj`c^Sb*
+^MS4a]t;JUgV)*[DSk#iBP5bcVlgD8rod>.8TPYAM8oOqe(AN#.R/gkb`hNC:k,L:
+SEA5"B/g'EPQR9`7]d]O0%84l-(*[na0tNlVp*nGR.oHKi/LCfe$t`!?Mb-nKR%bC
+4+Dp._E5d/jLg6:cKCP'kNG,WemlS70JD%/9Rt@=%tJr=+IH5'2rDjfV46r9GOr^f
+fZbAt'_ZAu5L_PTbh:2rIr.4DC["OCH[a7XT(fi<QsWbcSq"L_bY,idAp\ZFc.UtP
+g:LY3[!Q7gDk0sbn)cLPD[Wq?[Y:/2hcB<Xh>X<<o6]Xr'*$a<>H>V]F&Y)4IQH@^
+Rpu+^nb6okH$FlUbtkKa%si8u3l?F+K@`"'5u0#VIW(!I@ib:.k/3$k3H^9V_%R4B
+KVr[Y8m.LDKB+K^k(sdpadEVGJnr(GAt:(E+7g#kR!Ig.p.a/OEcfPVVjm/;KgM5X
+,=KYd2YIn$o5C"k^3Mb,Y4>^J/m7'ofomR`r@%J7ei#bRNqYtjq(Z53>@5qYONmZs
+r^$+AXD/e0K(+>:[Uf4cLJsM[4BjShE8ZGoYMa+g*-`@mAj]73U9I:Y2q-'>+9d?5
+0lQtSM+WF,RVr5@RhmgJh"bq163LruF379X5t#U][st&P3fP.$'"l`Nh?J;U$_"Oj
+LDMfY4kWJt7u-Qq`QUiR5j[Lm_;U*m452l4YHJ^]o*KXYrgMuY#9=Y)@Iot(#9HHa
+N?)=*O2G:8SNi`b9_pbF/+W#=6&(_tm3h)=Q?^L$MYq;Z%XTbs29]:`B10Jm=Xr4u
+!ADe1+M>u5S07`mk-K^Hpi>LMl1FMBbhjVn`YUC[QV*TN`r(63<I,8K,t+3o''@A^
+'^5eFQdY*Fo:%CG;5<;5h\82Zq$[S?X4O(Y2c#&W2/.A"G[C!.HeLu^&dl,D'ZR5$
+2bm2L_,i>*e!#.Ss4I6q[nh1e/,5?VlBjddIdWd4L9G3<)=pr<I>rC+fEokHDK>%0
+n5qomOhS<n:N]q)McnQ^"jE=]kcmdJ0B5o?(GT8`Urb6!r]ZMq]9)j4"'fgj_$HI$
+DNJS-46FSuOjj5k/=f!$C49F3O)nFJ0-N:G#jBk;K"VTic\L2d:%U8052Of8B8qW.
+^#tq'2^7/K/B^2k_Xl(H9gim-D]hsDHkYc,]D6@DfAO::DSDV?V0)=bHoM(@nD/IN
+hp)1!](p6XRiajZ(>$3B?Y[V;s7s4c1f%`-eq,:,q;$GdoBjte(S+pXO7Y/V5#[Ag
+jOk=?@lBs;HK\UUhY_Kp%026[B%m~>
+endstream
+endobj
+29 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im7
+/Width 253
+/Height 317
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 2942
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"$b!)Y$q2&1Zg4ugcFjti;+\VXJOAO@^"XoJbO/C:cJ:L]PfFtk@qSs*rl56C
+i*ZJ0Tca0>LgtpNnG]!%G5\@B,(j78H0L!%fjfYA?KRU/]fc8:I.+>IB3u`fo=`bG
+`n??$hQ>BMW-jQ=hRQWpJ<fPb4iY9bab5K_G)Qg8OtD@_SEl<S1@Dp"q.]TjC$(c?
+=8dNbk:$7[mht"=m1PHLe)T+V6gt?"juq"JaYR6`cR37u'I7;ifX?d<`r,#gR?2r;
+`1CPshtMie&#<k"QQ+k-Jp!NMc[]rRY%+&j[!;0a2?pl1qf.SXDp:(f)6O?sePu)+
+meP<K0@*gnq=CN\?g2AJ&cQJCoY$[TKDV5u+.MR<D:oH^0DBnOC`be3BCdeAUOJZF
+-2_bA-[=b+ShBIQSaZDelTAY1<HrbVk/m=25+KR[AH%110CqSY@/ehK]iMERlc"j'
+=deuEq<-0!rbNdr[3LAG,M2H?^Rl6?[_JAUotS?7rHSo)bMSl],i5agr:V-&*`(7d
+48jN7=+rlp@@A:>Q1[8oX2,%RLd/\$?KZIh3DMD["7m]['Y_0S-lil5ZM>b$(joW\
+WDk#4Wohcu0^(C=k7Br+/"4fE6(lgcT1]8OY@]tjV*DY^q(^iNba4E5Vq3[g.(kH5
+1615`9'1C-Bd_LShU_UZc?C%QRo[bX9Db+UnA`fP'-.qHf"?o`p<7pH/_>9ghtOh;
+B8&9[qmic.0V?V<T3]cj/e%fmUA6nm"EmN23CFGFWohcu0\CNm9:M=(P?LB+r*KLC
+%(a%G/Ku2H\q0Z/N^;a[Hc<e5T?l:-1hZlFL&!['4%A7_[:<Y%"oj?G2_cD[UXJIt
+GLQXC]_4B^*hgG$Ri`#Ef=YT'+mHCMHgV^bhK2hS%^0Ak04]<P89uTR9J,;Gs2%1E
+r/3*S@c?8\be)1?2qatC/"$@noV96<RK*8sF:eHWM4XMdiK_WNo0#4Kc>6:[Fn"m[
+ep0Z02=nQ!$er2oLhNs_O`j.fHLi[&5('b`*XX"'g3bA4*dt_I!=9j^epOcJ7/0CG
+l/E<6lc`!e"2J!+(O6480/Uuh[,EJ3EVC0:Vfo;o.Dg*!<1/fo$ijXP4pEeCI(B%i
+^V%Gf8?$mDmpfkj6lJ+ae@bCVa=6YF^.C-LNd8$C5OsX"1%QLD;o?#*a9_:0H&aV1
+SO*LT(X7kk;>_$a=n?XE]S2A[lPS3#_L4#.1^#pX5'<7jGsfB2k0liBSk4*5dF76!
+`lO]4"?^*VDhp5]:`^<uZ?7Se\Kdmna__P,Hsf-fJE.3[E?."^bh'bEo,m5HXpN?/
+_iq,aic#1uX8/jMS*p11n`]HYo6KX[h)PuC`Ol1(h"d_^-_$Id_u$$SjK[oib\,G2
+N]eBj53J>0T+I@s%h7C6I+b7A3a(U/T6[_2DXW^HFe6.)I:#m9f\Rjp'qUe_=WN=T
+UpfI?jGrr=g!rY9!X0[5cQ6ELEXi6pR*Qd[k&Lq8+.CLp+FUE^$#KRh4J_cmHKIo;
+4BM3b%rFLYE;AkUI]l*Uo27Gi#^__:-UpjF(XDqc!krWj..E2k/L%pa.<H]KZf\`9
+o5\Z]:=pLP^^K:QJqYXbV&BMD2#iFp-=tulC]Lfm`Q_=12ud4M&D.Z@?W.&f?fAs:
+>m7:3DO!!K56Gh4^95(N$I.2%`ITZts"!SMk%0'Oi60@E3GHGN#/8U":oDjG"mo4e
+bR50^3:OoQ4AS0OI.98t$h36m*rFGgQ2V4k<T.rPZZ4nRCA[P[CFVGJ2V[9-f2Qug
+Pqrnt@>-(nG]>PWpd4S!7Y`WS^SbbZ_h#!H5<=1_H&?)SpcA#!_cN9S5SDEtkc;sh
+%:<n""*)qIKPLQcDa&\I!CMFA2Lhju7tRqJn;d"S1E]rS4Xq2<]>0K5f%$tqm])l3
+lCG-$rZ6tGc1VD;'_*mHe[,3W2RCX;/jY<5CjuX1$GO<g/'RN.CiJrCAA3$DJFFlI
+bJ">qI[ZnkVtlST%fA.Jbtmp[q&T6EI[\kCcgPQKiK_YPd5cM<G\-K,mg"MI14M,E
+%_S,'0E"/F^",">^#''`nC5[s4'4+#G]!%7(*L8qq4#\'meq's$#eDgZaQLg;t<$>
+e,2$ec)7?Y*eM(lGng$fI[Znk;t<$>-K`uUDt59_8=B:j*'V1E-SIpN'-bn6Ya:bR
+M9#o(De"5-ph>2G=#DW3K!=!t*s:BDr-;j<Fm4<I<U?<&:Io!T^tY6#01:[2L#'na
+qg1+3Ud4Drk2#hDd>8E%o-;%Ho-WT1:O^rO&B!3#467,]&@&A)aXRN%^3PEf"E.;p
+q`s'3L?<p2iD%Qa:\NB%dG_!K1\1Vt&A,JuE-PmaLGFpkot/2u495u1hpVF<UBADO
+D#WPm!08D>7>5r:a'inlc@>RINo&slMZ#U)OQ!<SqnL%oQJ(?mMZ%@@]^;uB[kR9)
+Iq/$YASLYX?[.-N!983ni<8,K1bTIci7jZ\de1Yi17ptc)rJ_a.TKi%)tW;f?0P)-
+k7I<^[kOGpduiM&HnJ,XH@>D\/D]O_bmsu]CgJ5mX86/plK3ARXbWeB#Hqo,>146m
+AJB"Q'ZO)GgGhRR%DIDh2a(Bgs02=tC&dc\?H-"=Bk..sEP#j)(quF6m@M@%kZb.[
+c;/ZpZ,gW\iMg.YO]gGb?(I;WCmJu*#3Ku@qQX7lcf=92DIPebW$f3:q/iL:lpg,k
+%:&TuL+tI`QU'+@rEt)"/=P_1LiiUCGOs!iIX+E5r"c`.7mQh22sfq??WUh15/D,k
+h;5Nb]#V_S54aQ>@naV1/DDtq_s>VA6c<lN+!=VMr",:YVtk'+DXc-Q1dB7B.F\2O
+5L&'pI[ZnkVtiDcR\/`?q.76BNok\LV0,PqfA"!Qk1M:p06lQo^WfF'O%[5U#/?X7
+pt,+`TbmYRZYeh@0l*R,3g%7j>N^J9$i9@F~>
+endstream
+endobj
+30 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im8
+/Width 180
+/Height 248
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 5679
+/Filter [/ASCII85Decode /DCTDecode]
+>>
+stream
+s4IA>!"M;*Ddm8XA:OX[!!*&R!(-_l"pP89"pbD;#RgtD#Rh1M#RCbI&.K'Y%1Nj\
+$k<^U%L`p[&ebrm&e>fr)B'G0,9e<U,:=id-RU8h-RU;A^]4`J!;HQ$!<FAEs24oc
+!!!!(!<E3%!<<*"z!!EH-!X8Z*#7(VC$P3:>!<WE*"9Jc4!sAZ0!cnAD!tbY9"X+L5
+5u@h"@3T]B'JbfE#8OL1,Jd:*iA26Yn0E%+nKgOZ;j*l\@roLE6mn1nZSiV!A9>`;
+iWpl`#mqLeKTnnpUpO1O<@AdVj7C4=jRd#+KpALB`RX)CAp/opVRFLqk4U`(=(c`4
+Q`%=5fB;lf86BPMLmY-NaOo_O.60t&BmGQ'WO^.(l1lei8m5tUMOLQVb1c.Ws4mYX
+!"An]!!iT+!!#4`>^]L,XR__n8k0S87iBrH'SMpo+mUI(D%2cXOl3a3N-&)_+9Yd*
+TablL#+f%DSYAJ6N[J%B!FRd++0OL5h2N.qm>)_#oYf.t1lB._5Wo+l)uu0PK53fU
+nF7XiaC:<==@+-ET&C=FP<s[ZHB]C>2IAeD0lRAI)K/<YqHL=X-Fm]A-'EKE@0/<@
+SAPQ?%:/ZA`]g;qa"5WGeAOVKUihPA*sHrgRsokfI[h?f/9M5Wp6RPV)Rg2]+9JnY
+Bim=[Jq$;2rr/8`#2fEYB)Nenqta+`)h7^XS*CUc!5GB1!.hWZ!3-pO8&tW.Qi73H
+rhsK0cnbPA+8bn1p`"_ZTpt<ZrrBg1rr@VZrrB&:^IQ?Drg3Tghu9Qdr?!-YqG6l*
+J,5k.l4O$r^SUr1J[bXZWYrQAa8Z()rW_9ZW+PuM+8bn1p`"_ZTpSqPbnJZlioU%q
+rrB?`rrDMKno4[6Q,&e4\9SKNa"dh-f`(q#rPg'A0LmG*jC"!8)\?E?[%<Cf^K%2Z
+b5t^/dN;TL/,D'Ok`r?PfBi%2q]DRZ3[^2rp$52F7^XrrObQM_BDB3E%mU:Ss3[?(
+q0f<u#$<1VLc$Xo*CnD40q\$>FY8-H/O.bHc_%*4\KBP-.pR;rX5.!9:K#)^Tnuj'
+cph_O^o,jB)ePH-pJmfV[$D>$:if-D]$kZdPb4:gUjTj7e'PVar*s`f;Nto*`A,-u
+Xu.,]>s!&ErosF(?3Pf(:-3j.B`*Rd`4R:caV(E><KIQmWAF^f2912t[Jp7&C:!f6
+c2Iq!rrD/\cgI,Yp`!Q>!1'ZM\m4.ND1DOgXT%I*It>$-!;UB9qk_X=d[kr>[I<p+
+ZhpTDrW_!S!9L6,m[#m-)diUFQE*6]>i4IVHi@3MronKRJ[PLXq.d85V9SuDfDbj4
+WmC+"0_.-7)-cE-Ih+#G0C:8;L\Y&gj;hoT,'tUk)TYoh"cl9>9F#S5AZsmU;l`<J
+48OqQW]4(HW(/1gT6C57.jH.1jS_+8+4X`"I8B-Uk]h.Ec_\h)Q-P6^GoY^A\sq;8
+O#0Y5nQn>k#S3jPS?#A`>%H5Ls3pH4ZY%IO2Jh'QB$^M,n+j;%c'pV-iue(n5L9=5
+Z>o\crr=%^YP?D8oaM*uo4S*Rn+j;%c'pV-fs>;:s46Z7ZY%IO2K=fUW#t4&!%lk`
+r4W+1Nb-i?B2AAYK-g?"BE-TPq6O\XRl5*9ZY%P`d-pe:B$Hf)a8T$KoD\fVm$rN2
+J&a>1r\LJN6U?n5fs>>kdI6n;B$Hf'CtZ.,ci;G^q6O\XS7DR!.L5eL!6]O\5;,7]
+R<AN0):SSYTZMY!fs>>ke*m+=B$Hf'CtZ.,ci;M`q6O\Y1&h6="8r0!jgul^QbW(7
+])Mbhl2L`[ct'mLCtZ.-s4-T6ZY%IO2Jh'QB$^M.n+j;&)#jTYJc:/ih33oCchQX.
+J&ZU1!2sQd?^irifs>>kfC/OAB$Hf'CtZ.,ci;A\q6Q$0jZrhG5P]3=a5uL^F"Y5f
+3e,X9))'7(2Jh'QBE-BJq6O\XRl5*9ZY%P`ddR"O5OtIsTDZ0/j7;sD3L=+CSNlBX
+%%$,$Rl5*9ZY0<en+j;%c'pV-fs>;:s3s%.!6TllJ+DENSkH`EiA^8kH@jiN[a,Y)
+FOn7Y.Q[f:'#.sqKi;cUpXX4N[H,YOZcoX-RFiA-7TB/nn*klqN;Yd!:\eata8=Kc
+^><eWSn.j$QDsdH]mmfak5@=&:\eatr^OY@p3FDJH'A52Vt'cZrpR=co]MW,jf3e@
+mpGP\H,!+"PQ"a`rrA1bg\m^^e"1+M!1'V^J%^?DmH4@-k"kefT>UQXqu5Gje"1+M
+!1'Va!9@qhrr?](s4'713Ta-5C7iQDfDE;=Dpt:grrA@ar'.lE^[:1^3Ta-5C7kJp
+^Migk^J9'<r`Z5irq69Z\"!$QR6Tf5Ih2!Tn,%CF:3i'&>,VB#Og!O<So<)LAH)Xq
+WVh7ZJ%P+1rAj"9q.cP>qq(`EhJ^l7AH)XqWW)tZC\Ic.B:JPVR6Tf5Iin,dme_8h
+cn9-IdV\*rFTT%ScdiPP/8&U'^CR=nnC'C1ef47rf)9+)oREq-niWuGNa2D3l)oO9
+eo]g+TCl[jr?V;^VHU+2kU7d<m;-?b]h=3L\gdD$6jg_i>^:@_X_C/S$uRLEW\17b
+<sIZ(DAHjJd@YuP>sgGuC565KUk8SJi4?/D<bkQ&'P:i#7]"((R((aX#l(hNHOdNk
+Oa59OhKlV/`dqWbR6mO"QgL%^Pj3]BhZmMqS?2oq7c2^_0,9Ghl>0g^hdg_)H"5sE
+BeQTk`tGVPW'_)O))tKWrW8]e.508Q-__h1JFn,Q+2$Lud!_LV0f6L<??g%(:J%;e
+%j`Jl.((Z--(GN+PP=&j=^8j(Fcdo&Vil<L5sRdb"^h$XN;MRgD#`,Uq6O\XRl5*9
+Z[dPRfDaU`o046SpW*5'^Z<gmSTFhXl4Ha,Sm8ZAV6lE>(+Bj(E[3cu@3Kat4tF[8
+foKASD0Me(Af0I8\E9ra,SC0`JAMFirUD%H4Zti*G>X1:F/D<G@snoTlJgU+'U]jp
+;4\@Aa"QccS(U;N.t__^CO=ep.q^]dM'@poGbL9iNBlY-Of1E>C)3BU`MUDVQ@!j_
+JkLI@[hP<m),7_6.ECgT2]a=eVeRZ_,T$0:b*Lqt8+g!&G7$\Cf8tFSgl=JUn2a'd
+oe<i`;A:1ZLQk1[\S@Hn[kutMVnB<qo',T%Ou/3Y(tN%ka/L=]qWPRrL^6$-'V7gt
+$&;lsRRj.a8s2k.7ZLnT5u`!'A_s-#_g`Y@H&Bi#gWo(aVh=:VQT3/:k8YdPj5MK8
+DFpMun3r)8%\UrgMHJEUaW&;6N!Bhli9YX[#@F5BMXi]<=UN+(ZU#MA!7&a"[K`4d
+"b7?_GL-<:mfr@8X^deYAlj5t0h)`dY!EfU=FeH#-#nBBdgi/;&k#&n7?8'2!M^PO
+;S2=J%+-8o8EcY=$C,$hB'?6h.pgn%F_p/>-:VW\;uqOrUHE&hIEE-knA(AOXELpU
+,cEjf=9Zmh*CduV^ttbR;t00TVooK)B$HhJrg(=mmf*9Tq!!:B5O(]3H:dmE=jdMI
+\hjko9!V-9F,"urTM[.7]F8Ta^D`Cc5QB1!EQtMig\k^p9J$*R.*9EI@4P9uae>*h
+:$G>X`@g!TGqRfAk!2>=Z&J68J]t#FT>K7Mf84W#:17?,UXC9hQ^61b?\XiL9\+gR
+8TXQb<&0XD@\nK6$?->e5+Jm%8Ks$_=uVeuiYeMpmYqFeaZRV^.F<LC@kS;@g17=&
+*0FO><JiJ,8<ORjPK9Z=HLFO.(V"0s"NeY0E%T<7jLc1j;!hVI]gDY/Pp;GP6"lfp
+5q5Kg77!UdG6]4Z.Y.3Zdl.h!!OqUFs3pH4<!TRD+EejoouoZaGK\7#2K03'>5nTW
+]DcI'VZ-5f!36pnkpPM^CJ*&Vo0KcdAnssWP<@2g3s"V9'ob-o((%Y#V7TV7fh+re
+VZgY.?9(ta8bSCh:0n(i1]PtjQMt*uOs$3QfksX0"L,pELX\),@%KNWkt5d+(h!W4
+_WG"!PYW!uUh88Wm_M0#JB[n<)\1a"0'^pO7MG+4&#A1K$h+[&fmSi]gF_gGY2Qrn
+!(;u>a@1@\$9#nuPVJ4=\Ph[NSrBV!O=XY3/]LNa2Ybmcl1"*3a.SYZL"nEr$q_:h
+70"Kj:G(jX$jdr-Mf:%Xlhfk9d6f<kd>1dua3dk1Y5@U=ZY%IO5QB:&q6O\XRl53r
+qHEn!gUmGtj/2hNrrB#7r0gFQY',jYJ&`>RjPJe&fP?s@s46Z7ZY%IO2Jh'QB$^M/
+n+j;%c'pZtr@NNdh>[I2n^@F;I"0Y(mdu_4cI(b"pu:"TS$2\UL:OX's3U61ZY%IO
+2Jh'QB$^M)n+j;%c("n8QG<.]rrAJ^l+anrlG`Mo8bhI^o&'@b/NunXrH?(`fs>>k
+ddR"<B$Hf'CtZ.,ci;J_q6O\Y!WN-m?i,%sbkuS?h]MM8rrA6SrcQN6jj3_]g3fCE
+p=g$tB$Hf0s4$N5ZY%IO2Jh'QB$^M-n+j;&!<3%qYPl)Jk'f?umuR=-IGU-9);73`
+rr=$C:Qor$!*uh\2Jh'QBE-QOq6O\XRl5*9ZY%P`fC/OAJ:H#!rnZK'592]WVu9`3
+rr>VT*:4eOrrA'*VocN"Y1RNZ2Jh'QBE-?Iq6O\XRl5*9ZY%P`dI6nH5Nut`!,h9$
+T8oE<j8Pi]nnC>6\_90Vrr=$C:Qp-SgL77$fs>;8Rm6r$n+j;%c'pV-fs>;:s3olt
+[Jp69GPoe-9E"D\!)bJ^dSIbB8!cI#MeVa"^[&<Hk09ARCtZ.-s4$N5ZY%IO2Jh'Q
+B)qr3V6Bj0^ZKups4)5KhOjIMqu%f<F0p42r]$49-L(NA@BOG"ZY%IO2JiEEn+j;%
+c'pV-fs?3Ydb"KSht'&Q2ttAk8AF66J":Z\fBlmLrrA'2VocWeD6VVMCtZ.,c'pV-
+s3U61ZY%IO2Jh'^5Nut`!,h9$T8o98j8Pi]GGLjcG)n8*`tm.bh1+$ms3^<2ZY%IO
+2Jh'QB$^M*n+j;%c'pV-i#hU!rrBNPr6NDXrTX=^<\M59:WGOeQN$sFM.uNuTBip(
+kPs$"q6O\XRl5*9ZY%P`eF34>B$Hf'E"DeKrrCfcrb(8grqQKnW>GK$:\1`4O"Pq&
+(=V@$hmV0QRm6r'n+j;%c'pV-fs>;:s46Z7ZY%IO3!]C6J*l(l!&O4+iunSa&<Tt]
+Q2^#/nHp_9X37.*`O,G"?hN._F(WbufC/OAB$Hf'CtZ.,ci;A\q6O\XS-FiH:\OV`
+O0;RD:LBqXfC?`"p$Ecq%h>^M`2%Mg:-f;eWd_fEmGjBN2tLq):U,r1B%#LDgR$N_
+8`WNmT<"Iqrr=RH_tir>qG)P;-I)Pj/#LA_oY:5tJ,:S;rr=RHa8,ABqG)P;-I)Pj
+/#L5[oY:5tJ,:S=s3['\b3?21I4tS`TDls=J'.#\rd?I!PFqirZ[^-^Yl9&(rf`uR
+ag6K>l*:590E.0-rlMKrb3?21I4tS`TDls=J'.#[rd?I!PFqirZ[^-^Z2T/)rf`uR
+ag6K>l*:590E.0-rlMKrb3?/0I4tS`TDls=J'.#\rd?I!PFqirZ[^-^Z2T/)rf`uR
+ag6K>l*1/80E.0-rlMMHdZf7(l*:590E.0-rlMKrb3?21I4tS`TDls=J'.#\-Cj_A
+bs1(JrrB?Pa7H%E8Hnb"]J#fIq-2njr'R0,P3)O<d[sA.]h_T$I]oa9ENe)od@^Hl~>
+endstream
+endobj
+31 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im9
+/Width 180
+/Height 248
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 12308
+/Filter [/ASCII85Decode /DCTDecode]
+>>
+stream
+s4IA>!"M;*Ddm8XA:OX[!!*&R!(-_l"pP89"pbD;#RgtD#Rh1M#RCbI&.K'Y%1Nj\
+$k<^U%L`p[&ebrm&e>fr)B'G0,9e<U,:=id-RU8h-RU;A^]4`J!;HQ$!<FAEs24oc
+!!!!(!<E3%!<<*"z!!EH-!X8Z*#7(VC$P3:>!<WE*"9Jc4!sAZ0!cnAD!tbY9"X+L5
+5u@h"@3T]B'JbfE#8OL1,Jd:*iA26Yn0E%+nKgOZ;j*l\@roLE6mn1nZSiV!A9>`;
+iWpl`#mqLeKTnnpUpO1O<@AdVj7C4=jRd#+KpALB`RX)CAp/opVRFLqk4U`(=(c`4
+Q`%=5fB;lf86BPMLmY-NaOo_O.60t&BmGQ'WO^.(l1lei8m5tUMOLQVb1c.Ws4mYX
+!"An]!!iT+!!#4`>^]L,XR__n8k0S87iBrH'SMpo+mUI(D%2cXOl3a3N-&)_+9Yd*
+TablL#+f%DSYAJ6N[J%B!FRd++0OL5h2N.qm>)_#oYf.t1lB._5Wo+l)uu0PK53fU
+nF7XiaC:<==@+-ET&C=FP<s[ZHB]C>2IAeD0lRAI)K/<YqHL=X-Fm]A-'EKE@0/<@
+SAPQ?%:/ZA`]g;qa"5WGeAOVKUihPA*sHrgRsokfI[h?f/9M5Wp6RPV)Rg2]+9JnY
+Bim=[Jq$;2rr/8`#2fEYB)Nenqta+`)h7^XS*CUc!5GB1!.hWZ!3-pO8&tW.Qi73H
+rhsK0cnbPA+8bn1p`"_ZTpt<ZrrBg1rr@VZrrB&:^IQ?Drg3Tghu9Qdr?!-YqG6l*
+J,5k.l4O$r^SUr1J[bXZWYrQAa8Z()rW_9ZW+PuM+8bn1p`"_ZTpSqPbnJZlioU%q
+rrB?`rrDMKno4[6Q,&e4\9SKNa"dh-f`(q#rPg'A0LmG*jC"!8)\?E?[%<Cf^K%2Z
+b5t^/dN;TL/,D'Ok`r?PfBi%2q]DRZ3[^2rp$52F7^XrrObQM_BDB3E%mU:Ss3[?(
+q0f<u#$<1VLc$Xo*CnD40q\$>FY8-H/O.bHc_%*4\KBP-.pR;rX5.!9:K#)^Tnuj'
+cph_O^o,jB)ePH-pJmfV[$D>$:if-D]$kZdPb4:gUjTj7e'PVar*s`f;Nto*`A,-u
+Xu.,]>s!&ErosF(?3Pf(:-3j.B`*Rd`4R:caV(E><KIQmWAF^f2912t[Jp7&C:!f6
+c2Iq!rrD/\cgI,Yp`!Q>!1'ZM\m4.ND1DOgXT%I*It>$-!;UB9qk_X=d[kr>[I<p+
+ZhpTDrW_!S!9L6,m[#m-)diUFQE*6]>i4IVHi@3MronKRJ[PLXq.d85V9SuDfDbj4
+WmC+"0_.-7)-cE-Ih+#G0C:8;L\Y&gj;hoT,'tUk)TYoh"cl9>9F#S5AZsmU;l`<J
+48OqQW]4(HW(/1gT6C57.jH.1jS_+8+4X`"I8B-Uk]h.Ec_\h)Q-P6^GoY^A\sq;8
+O#0Y5nQn>k#S3jPS?#A`>%H5Ls3pH4ZY%IO2Jh'QB$^M,n+j;%c'pV-iue(n5L9=5
+Z>o\crr=%^YP?D8oaM*uo4S*Rn+j;%c'pV-fs>;:s46Z7ZY%IO2K=fUW#t4&!%lk`
+r4W+1Nb-i?B2AAYK-g?"BE-TPq6O\XRl5*9ZY%P`d-pe:B$Hf)a8T$KoD\fVm$rN2
+J&a>1r\LJN6U?n5fs>>kdI6n;B$Hf'CtZ.,ci;G^q6O\XS7DR!.L5eL!6]O\5;,7]
+R<AN0):SSYTZMY!fs>>ke*m+=B$Hf'CtZ.,ci;M`q6O\Y1&h6="8r0!jgul^QbW(7
+])Mbhl2L`[ct'mLCtZ.-s4-T6ZY%IO2Jh'QB$^M.n+j;&)#jTYJc:/ih33oCchQX.
+J&ZU1!2sQd?^irifs>>kfC/OAB$Hf'CtZ.,ci;A\q6Q$0jZrhG5P]3=a5uL^F"Y5f
+3e,X9))'7(2Jh'QBE-BJq6O\XRl5*9ZY%P`ddR"O5OtIsTDZ0/j7;sD3L=+CSNlBX
+%%$,$Rl5*9ZY0<en+j;%c'pV-fs>;:s3s%.!6TllJ+DENSkH`EiA^8kH@jiN[a,Y)
+FOn7Y.Q[f:'#.sqKi;cUpXX4N[H,YOZcoX-RFiA-7TB/nn*klqN;Yd!:\eata8=Kc
+^><eWSn.j$QDsdH]mmfak5@=&:\eatr^OY@p3FDJH'A52Vt'cZrpR=co]MW,jf3e@
+mpGP\H,!+"PQ"a`rrA1bg\m^^e"1+M!1'V^J%^?DmH4@-k"kefT>UQXqu5Gje"1+M
+!1'Va!9@qhrr?](s4'713Ta-5C7iQDfDE;=Dpt:grrA@ar'.lE^[:1^3Ta-5C7kJp
+^Migk^J9'<r`Z5irq69Z\"!$QR6Tf5Ih2!Tn,%CF:3i'&>,VB#Og!O<So<)LAH)Xq
+WVh7ZJ%P+1rAj"9q.cP>qq(`EhJ^l7AH)XqWW)tZC\Ic.B:JPVR6Tf5Iin,dme_8h
+cn9-IdV\*rFTT%ScdiPP/8&U'^CR=nnC'C1ef47rf)9+)oREq-niWuGNa2D3l)oO9
+eo]g+TCl[jr?V;^VHU+2kU7d<m;-?b]h=3L\gdD$6jg_i>^:@_X_C/S$uRLEW\17b
+<sIZ(DAHjJd@YuP>sgGuC565KUk8SJi4?/D<bkQ&'P:i#7]"((R((aX#l(hNHOdNk
+Oa59OhKlV/`dqWbR6mO"QgL%^Pj3]BhZmMqS?2oq7c2^_0,9Ghl>0g^hdg_)H"5sE
+BeQTk`tGVPW'_)O))tKWrW8]e.508Q-__h1JFn,Q+2$Lud!_LV1$RupPLSX0UXJ1+
+nY!'8pZ5_PYS7jS0[:\L8E":DSk+r>&BVairX7aMpgKXVs4?`8ZY%IO2Jh'QJ:H#!
+rnZK'592]Wa8JQDjO/OKF8sVN\mo%'q0q!LKP&c2\V:ZOlK"b)_GmbMLTEf-\/i00
+%,c]s\5c,Z=,uAoiF%if&HS:(pKK9g#ijAAXfbLUgKdt;nn;Da%BlMGW3JoFIr=hL
+h9'I0[/fa!$2:?sl>\#jd!](c&oo]\+m\h4V0%$.L8JN<hqT/m]Rcs/jB!L4Q$C%Z
+5uK<?+[SUPCH48!W8s&dCnW/@+9XGWI4&^nIsreA*giiUr]Ip.BuHuiI0QSMe\Bt4
+S+X_'A_!n7g>H4>\5K^=(L;jtd/*.EJB,PSUMscVh-6L@6PJ&):UC*KTBRHZ@_S/1
+rr=WOrrD\OrrDaiQg&8Bo$q[Y!(cSY!+d%]/R/3XXoACc*WH-+UHee+mTu3]rr=WO
+rrD\OrrDaiQg&8Bo$q[Y!(cSY!+d%]/R/3XXoACc*WH-+UFXdC^ZDKQrfQ+;atioI
+>Q.g.rrD:(rrDD\2l3R)b>l=U,JX2AAU7Ohr3]c/!7Et/!80hKV5o*h<PSJW^\sC/
+oX/W5C:F3CUj)h=ZAdaL+6b7SF8['OWO7/(jfe3n-3!]>!3$djkpPG\2p3XqrYi7Z
+'MbcMG-;"B3!8Jf2```baOP"u]@XK@s3g7srg=D;dFh_b8T7j"_MjAT<EtX1<b2!*
+3cq5"L>Q&:/$I>s74#$Z$#Kaj!l5JNq%]?K<Lln0j0`jF-eBTL@+J23Q3MT^!\*DV
+8:nH*%ruGOmu;\?0eAY2FSMFMr,$tG"tN1<hPQj1Vi<k033IYK5-W5._\cMoU5km'
+TTnG-&lDb2M\B:C!l8rYI:-d\=@<IPeJY&WSs)cG7mrVm?VNg:>'@#k`UBum_]7u\
+*h=#7RL&!T&aCoZ:U8EN'Y;X)e)(D`8#[6^E`O)6bK_A1c]^RQS5m%k;HQl#$$Wut
+OeP;SWD[;kC51SqHs\MY%dmV7/#hX=KM?9f+G(0J=-394R.:MQ&eKJk;#',[NH<^H
+>9JKenRV`g0/l_/%*Q1HXin+d`8rSj[ZLR`i`X%EC/cZ+.D<K!=OHto\nD&lmC"fd
+&i_hS,]OW2TG2ht<Fn"M5WKjpp@5sC98M\saW!?S8Cdd2:VaeHR+-cXYpI)pA&R_:
+8#%3g,=bWIJ1)e5pqFpkgZOCqIJQ*d!PS-_dg\TDhp^aaL:oTGC@p7&*0S?V'?ZJ0
+/J'tjH1GDYPK/RJ>+/s7G3?cjPP`[%PnoVCcd_i!BD-^ggC^"F'(K-O05@^^dZ9(4
+5ZcD@qaH>&m=HqD=+VciGYH2U<#q?WaD>(SpGp&Sl"g;!DX[CnNgoppriBIVUn<Zh
+D_FJU:$&<OmFKjt(C_\6TErW*midM/+Q>cYV(;DHfe)+u'$9uci!rXE;H=/FN?Mh5
+*jGjH;OhD)h)#)\lIO=u,Z.3IXhUNGjEOocZtbNhZcl`VX!jB^e*+j:d6ha@IZi:A
+^5&XiA1"83T*"<KZ48OlU=\:K@@c2bFKe$2W%GAkb%#+^#T+%D&tk,ba)>e'HV;Q:
+>FTn9ImD0pi1@/RIMMY)dP`0FX+D[d]lS*$`!J4f`?C=`IX?$_+k2_qe5Li/M6<TR
+]=>>9Gf%<32o8NEKJL&MAh3R'^j&q`oE>WU-.=\3Ks:5g)L3QdnLT)3Ds:+F*1N#u
+9*-X@25(3dl?[i^a)N-DAf7@"7jfDn`hc$[:LIE0O+RANk!KTcbYq'-P9b%I^hpUh
+J'&j^.3-aVdNTTsRtLSs&G5je@[J1>D3E!*%.pt?qSkm"n5Gllf;=&teaLZ9PVi`F
+#)?Y<j-P>Y]s`Z*"O[S/@V^S@BYKoH*P!2h[2&Msi._5a:j3%Rk09Curg(=mmf*9T
+q!#Q-5O(];!%*p-l]_90_u:-r?NP'Rc.<UB"d>S0k9KAn:^F8R:S&S69r=;[`U/>>
+&@s(AW_$nf7ctodch!0((;q-dcm=t>SL(h8%6AF,a)3<BAn"ec[uC5q2%h0@^BkVA
+TE!L/H<-N4am!0dfq_Hd)UXI'PE^(l?(5:e!-r]O/6LS>RZ5h]5+^`kPpH%!6E'=G
+O]jXJiW*'7HkWAJ*XMn$<JkLb<(d'43>hg3PIUb0:1J:?(0fef(\CmB\G1>q$UW,\
+Y5ufXeZGr;V_"]%-<Ur7V3f\D!X]-$6WT9,rWaN^D..E?:D>B#QB#h57<0jho-=!J
+](0`uhmOqTWtGt_C.><FA(6[!XAt'RbA%_pGZ/?dQM))[Xj.4I\`?Br=H`SBP$!l?
+H>?Duk1UHeJ1=6E<[c2"AH>:R,ZISLNnK`L,V$X+W\^l\N^[J@R\7+LItSoMg6lR,
+")[]dKBhP]02K%aET?e)Zj?3'AA8g,^kZ=J65X`NGoiI)n)$A0fC'p;2.^0+W^tQq
+aQ.A\5m.ss?]/JW%`;_?24P>d["5bZ)1e2]e:_\[;P\:[`HT:O!!#%hL0e]L^d%(!
+rr?s*q4E\6qr@[O?[&<<L30UN`3X`$1f>]jf=<6V7REq?qsnV;D-D/X_t=qTF/Pu&
+,V;76?7X#>Ac[2bd=!8">5$\be#fbc#R/Gtmf@P6'FO,K;Tf[sck!E2MBpdaW&.sV
+G.$7#U9QNF%D\,fE<HmFci;AZ;F@NS4iHj2ZE1@1MBbq1&JuN+Lp*d]e#kIYCG+"\
+[gOHnU0/Z3kcOugMJB&"E8bNEIb&%8E@p+-Z$B@[2\M;h>#=H]PZ;$Y"4F5FQ1';U
+'38.7^QB?g*b_3o/3%Y05V$3&QdJK50<E+9,[XX&RD(Aj"H9<0Gb5<HT^TU%WB7%Z
+[q+X,E]hpQ<.KRnrn'*,l%rY6I+i"`3="/a+Jr"5=.n\VS7u9mHXN.P7>rL'l;^r,
+'iEeDA%aUr/F:Lt!hl%"*_L[21e--sf\bGt"h@?!A\+2OO,<qA,FYg><hn-/'gOu"
+NYlBSs3^<2ZY%IP"9+V$p?qq\RJ?$]]g(f$p\IJVk=>+@f#d$S81lpWXOgN(*SLW=
+3aPN9T]O:P@iYOVC2hVSZq%iMBmRYU/!D7KL$KnJ=IEBVIm)*bq[X*)f1==CKF_J^
+]s(Y5NT(!fioD#c66e?OVd:r]pi!(,NJicK(+hXWj>E!Z_]tQT%#ClX:Tt]%,`#da
+Zsm?.6qIdUi)lY=pO%EAKS$kCs3g<HBo<?e7*Ng_dnZi.%uPDGY0&Y0;5o00PL56K
+i6lQJ\1K]ZDaDICqp%)-R'$G]q#XD=UF@8nJ<foDam$JKfX>VLZY%IO2LkbUn+j;%
+c2mqF94.R?J'@h4hqoOK,6%Y,8cEkXRH:\'q-"Y./Fb=2a:NY,.stF(,IJ5XfOk)R
+paUI[02aImq\=kT10btNV1X@P)Nh.JEq&h>Z/&_h=n728<%f1c[eB+hjJgIXrp;-#
+BVT(Pb:E4VUb/24oK`tcUd`PA;H^!;."q4uc5>9RguQ%W8Bo58fbHKf(aoMZp%ZVl
+2AF*r@PS#Z2@4(C;b85W1<<%+GtJF'Mt:]Hs4$GE+u,fZoscE.!;3II/-#^".)ZfO
+[m7=X(KRlNP#dSUNdVKa,VN1,I5o2GG73=(7co=UmTJS5fK]`R-s8f%_hAOk@J4Ep
+EV>U0c+6[?R#BSS4FmJF#1=c6\DMGJo4H7:2Jh(HeaN=?B)qr3V6Bj0^ZKu+?gj'P
+OaZ)LIMpQ2\>\*bY_r2?<s%CNb9J$dIp/;AnU)''a*tO-X0%<OlKWQT!reQTE2@.,
+UalWX9/>,W'H:HI1k^`5e8M(k\OMh$,"o1;!.'O$@OY6b_i'Alf,B.e#kk,<b@mo/
+MNFQ=C.f+5hAEAj/<empHmLCN,`0?"\;8NlYTQht8K7EHP3q1P;WH2$;F^qO`fZ/J
+J$IS$6WS_=WS4JGFF-"k\SH>tBUHsN9DbtiKo'DFnHZfKs46SG1SVuBDgN2A$JWE0
+A6(2HUNR=S)%2=$RdG_2h5P8nGklD8ETX\%#?7OKf=!f_JjkL)mi3*CmR#8TqDet5
+0dK8%<GJmRMiRp)C44;]U7+)pR*Qn8@q.h1,rB![eq\+I9MS`cLPMgQqMle!6:WBd
+%6@SJ*XFn<GGa6MH*_/`fC/OAJ:H#!rnZK'592]WVu9`3rr>VT*9c)j[`RX3+b+CX
+gP`\M$&QAL=6hdZ*,<**jh5V,CS9G+W>'D02:AR<&)K/]A%4YI&B^N@gi`,+284cb
+@agu/6)7'\;K(eh=uK!d2I7(IC!_p!EJAcKKLiQ*Jr`a`>9o2I=\W2=POR#.iWWPP
+o\Y)dCnjbUjH@f!oifX0E]Fl0mK*)$^--H<-C_!I067boUjL9%W63(Y(.i]hN_9n#
+Q,S5=fbL25A.jatDF:%rV;+:14#Dn18n+p!^f77q71@R*EFHJr;iC&RrrBZ7r4[IV
+d-\rLfW;sJL1q>*N3dqs=Vc-KV)AgKhg?:e#pb+;Q'"r(=&ZV330s:'K,AHmX"W$M
+'h"(TX[,9L1%>.=YJlAh$:aU-UZ.\o3VNjlILD.E[>NKU3.;Qe*aUp)1lP`)[rs%q
+37"ThV<RqjCAL7=;QIs8rS.$[cg^YKgfm3hW07RaE[8JETkMMhYPP=&I)]r;B^JgN
+.fT!/Q-&IB2^?bB34<YVZiAGAq7o5ZC]=BPn+iT9S,;7FUgN\,5L-ggI'NN>I(O.i
+F"E8f0,<K20*P^b:3l2'X&2K0mtS)=YIq"&=[<a;<tu'8&H#O-XN,@NnfukUkEB+4
+AQr+j>HhRZN41Lukf8dP!3X"L?[?nNr4pnO&h%4PMQt4-2%5^^Y:7k5*qZ/`\]*E"
+;+-PJ:?=)N=J['pk5c0@cG6pcrIO3!NRL@p3gmAmj0Y+4(bAL'E6(A<NK57m60LcG
+-MQh`!)KT`pl,eJIm..&f\eiJ27TKnQ5E$;LZ*(MADKBi?D6KFOF;&#r+G!UPd>/B
+iZs[(r<N+nOVAFnC2b>o?Al@&?hJL?dd6MMY,i0@/]<tW)*Y:_7]G\XN$fA5ae<$h
+p[?-=Z'SR<S*TT7*!@rj,*,Ucn1@4B*u?<WFJi&qM/FM_9ZUNuR8ss5BX*e/M5j&#
+q,b9nB6Ga5&hbHo8`B1.1^n'<BBm6k0c0d5qBYR.kqB+82<.J>L\q\:qCut?,Udn"
+Y>e"h_jDuAQ?j+W%;O[IN5BciUX5),OeXIP:^$uY&&n6HN<an.?u*7$A"HgTON@ja
+3CKS_<re:U<,tI`<jc<rDE#DTaJ^\s:fliST@]F!2LkbUht4>V!4R1Mcc8]Wnc&Se
+0>#Y._`C#K;Vf!t#:WB;_L'G]EFHq:C21b!NMC":W#PGX"q?U?QJrEV?BDP'/a:4f
+aPoMN9'V@.[1<s%YRBsKR(RV.$l&Xj+sK<q)nj(MS9eWm-(ECuG2X]oWdgLQ@(SLk
+0%gu8]8CBg;QXn4?].K_:Qr,u'poIWM8^U/ar0UpNq,i(<_1c80?k^s5Gl(0p-E1U
+Ku2QfO$_#k&@KH?QR[GE*`hD/.d=NjM?2VC/D=d#dc*j%VM`f8UlLcP1-Agp^c\&s
+l,\:H;ra3kBf!TkNCBV&J#c!PO=[<hDGZ)KP?*Xk#4"Q@?<BEfJK\a;?+%o_8QFTB
+i?74Kp6iG?3rD.?MF25DZuNtlX6H@g-.%rj,SY:8a%cBs<]efDs4$J#>?kFN,SS=j
+,`PWb65Vj]W9R$b?+BW-]hUW^e*Di/o&=,D-5@MOi+kecMUrVP0p)euLrFd2.SCer
+*[d&G47$sL/^WJBaW&Yc&o^1FQhHh^m6s1)F74ZTSKO)@A"/%@i[NX_l8Zc&WUNHj
+[iNd^h+69/1M4n$2K03'>5nTW]DcI+s4)5KhOjIMqu%f<F/*D)/3[4CqS[.<4k8Q3
+7#_j1rF4lhl7VA7<JK?en\L@QH<aOD<Eg8nN9S=;SJ3ej=pg=EPe.\snBgk'J1n7C
+Z+;j0lstes(DJXKlmX@U,n)8=^Y@lD:J=N!N@bOpXb%F'Jh)[]3LM-%/;W1"&302i
+;X;c#p;*&Q"n\#!%AAAESgb[kQ;4*[X8Ucf;pXHr1d+SD&_^sN0Ll;BXOD2e1guq"
+#CrSU2o<<2cue"XOi7!t@62ET(fjF-7H@u*Ql8rPM8WJ*e9&jCr>];CUs,eX%1hmW
+N-kqN+Su=VnYi<:Cb<Jj>IPe%Dd23Q8I,_p`(`-7C^jsS[D@SH'KaGbDcSS`pqnM:
+>(r?):`>A(@A!SNn+j;%c'pV-fs?3Ydb"KSht'&Q2ttAk8AF66J":Z\fBHUF(Cd'@
+$OLThDJsg@bsrWMZ#TZVNZ8RfLp%m!ph9BX@$^(4E$:MnAs$2K+WXg-V^T^h_#FD:
+>5VY\eoCMR/QOkYMF[<UM2MT^`(Ztq+pP-F8H/Z8Dn[Z9/ug6V\uVjLOn4at(am7*
+-&>M(!0XWgT.D\+(M3r&8%LFTnp))"USgpT]h-."-+\G]FgnrB"2\tO-Xs2'^aY/*
+@EDU1j=#M<,4YJ[_3&;g$$pnBM53S1e2&9Hi*IO-iTj@%&Sii\T2X8mp?mg^J0M1o
+-UG`uqcmD)4&ZcEoZYo<<ph;d)*#ir;3)kEEfBNaKg\>U+,cIa9J_rHqSGlCX@XC_
+U9-F9-rBjC=FE2!>HTMG]gtP!3K;jOk++_LD>W@e8X<S8OfFH"_R6Q^i2V65&3FP)
+d-e>>>f@]"jgiI]9'Y2g"W</U!.N6/U=7jMf":RbI9:feOFL'U+5["t^8k')Coc3k
+-!3UBE+PIsG,YSm;cs,'m;cBf*rGZOgO3^nT3@n+;>i0XIs9!'XT77=0:Ok9ft]i:
+C]=BPn+iT9Qi#hBUgJ>AT8%G^&j(BO\RQB,Osl%?l[#NKbZp"m^N[SSVR.YL;P+KC
+5QB-s+s/JIVs2G[AWbcj,%Jjn^CrE16r=o^o`j>kb6'o)KdE!,\=V5S)$D+bpk[J=
+TFqAMY5Gn`eD@\s8V4t9@^b7`DW8*b3F*e-8Q40$,7,Ai&dWB76duVIqQ">f=1:5Y
+0VOUl25_WDTq\,%rUF*P5GW,[l?^)iV[a\+Id`Ue@_Z]<39'Nu/;9%(ZrN*I"UJed
+:,3;OG@(iO,93ZJ,;G=K==@:m=t(2c"9<m#pVP"HL$p%QV@lCH>)\9qan8K27RV,+
+qF@N[EncoP-Mau[ci;G^q6O\XRl5*@+7uu@!4R1Mcblk0bBNqnP2P"b&drikkNao7
+[h,6>.c8F5%3d1/cn-K2#k&?YDkgNWNo3I;(LJ9$*3c0":*&ZT%A*-'GU%VRZD>9R
+S@pgnHFhWddXX&kHftFXlL7TJ7j*/<(*bTQZ>tgY;_,l99u[&o\"\t2pu9_:c"?+t
+9eXnG(k>82V0L!j=Me%1,KGNZgGJISY:0Ju<+LcD$51)bB!91gYf'p*go6b5aW[5l
+@;Zt66V;d2l95\`0X+3"/5XB8VPV8mn>p[m.1q6(Qdpq^K7#3H6bP5?H)Ln0i]T;2
+\GlP!'*>HT1%JXX&tfcN4&>umgh+'f8>[sCPd7Z?0$+$].HXYf1F_tB`60BcI4,B(
+pgk06YAH'eDQ.[tI5o+WNd*(V(kjfIEBA?a$`-Do!-kfUUhM'=M>-.)r#nF-Wk54/
+*V2odK^lN@/<_?"#"DTB^b[aNTHGb-'bq^7j]kAt[l13(ro)O`mK$cF[6`0e8a:b2
+32F#4&#mZ]Db`);i>]HqY04XW-JRmHoDd>/M(6-Z(^pg`!_T[$U;%'J7f"eR[FO4i
+UsPG#B:1nL*CtlEP]e#p$W%0C/(`Ma1M4n$3!]C6J*l(l!&O5@IU%<';rq`n!%*^C
+kl1W_r>ObPrDI'LHt8VL60\B1Q^[J`J/0)Ki7Od8MW?Y>r,Yd-P\DD584'H\.e*=_
+Al6K_C"g',.!8":"C5Iq@$A6eX-Nl<KO`(5!fXt00=/>A3e.1[lZ$+n;i.2,l#LFD
+@1%d2)!+-pc[uG]GNE.$_O)N_*F`f@9K1oT1F)Bj4I%>F+(gGLO[2Ss2p;n[+d$0_
+9"GmMS`EYSXXI]A(M%*Nl43d_[]KrLqO3_MP!gE=f@Noj3CkE9j=<"4WeTduqjNMW
+Fo%iOB7?.QT;P8J/;&cn<W1mS`S5dlQKbCd9srVNCFON3AQX!cZCl+.7UX`E^o;%J
+>bJT2mgp';i52ej*4W!*OoX"dNCR5qp6W5P4i"Sfc5;_-9drWh*0P*V[c1t)ND2@O
+c"heCdn_ju7h`.3FC%]=f5p0hTmA+18r\f[HCQjU(Meh=%Ih@W(sbNPP])qc5*Lre
+J*C%`LXl$J".O<'qlP*EL\XoQ[PeAOlSibImER]F1K=e[71[Ae^E>GhVgSNqm^@;b
+DV#(^%V;')&q85/V%op6fH1CbYfl-Xl&XZ<l?Z-+F)F1Mg_:eO@..%GgFDpN9;l?[
+#`Zd-87&\S_8E_hWMq"=EShjUQO)'InoG<jBU!U0po9&34:1k(I+c;"l"g;!DX[Cn
+SIb;DEW%3l(8BN19hM&6+6<h`Fdknt!`,t')/TQUj]rlAQ((U95#dl+J2s'i=>!t-
+m<"kmP%Km<^s]T?/8il)jmgF""`;b+?2".q(`<O1D.KnBAp?b@aC+E*b8aAH*9k>J
+AlV[>F=M7M9%C<E+ca`>M3ZV:,SI;Wn<uF%5U1_XW9ShWs4?Yd)dP.eZO?W]DQ>0T
+0C_l2pL=1'p)"_F8^jDaPAU;W)UB\p)jK&CAWu%LnPkf;YVj)IAa@RKcqJns-&mJ<
+6r,$6M-a&kmR"\,[2:R^2HS@'"imV8KSg@$'6<(>8:a&3QKmp:5co"FhTk!-P7$h+
+<=\*f.UC*T,@rI&EN19Zn])P1CDs\!"-@hYP=dKYbgpdF1ig4M)of-D1K4pnWBT]Q
+2i]rYg+/8:;.!&K=NK-q01%D\+"'S@bJM""1fMTnLO+-`7;qF0rToT^236d4f8o=.
+q+&!6RngD9G@94%Q9""`gpC$8KDnK.)dp>Yd-pe:B$HhMM>C$Aq>QGY<T?k^V)[)s
+_7C0>2O!7r\2O)MIDXek*5,RO),h/e,N+GUHMHEh2tL)):5$WR\n$s"[h>u(i<0$*
+BeBW%/brBSd^?!]idsth1=U<SdJhcM>FA:'5ueVT:tDMUr3IKjAL)c%BaTN@Hu<NY
+?8S[eLk5)7\t!d<k(-qi(!`%Tm4>_a_fK,73$[h">ge(A>=c"&]$hlR_5/T*h\ZH<
+poU$A-U7XYP^gj?Z2T/)rf`uRag6K>l*:590E.0-rlMB)r8W??Q:UGNYd/RsNUGVf
+8fun%`n_L'=q/cqI2F4.=&"bIl$r>qrrDaeS,QJ`O7VUcoUPp]p._%U=&"JAl$r>q
+rrDaeS,QJ`O7VUcoUPp]p._%U=&"bIl$r>qrrDaeS,QJ`L\'b[oUPp]p._%U=&"bI
+l$r>qrrDaeS,QJ`O7VUcoUPp]p._%U=&"JAl$r>qrrDaeTE!?(J'.#\rd?I!PFqir
+Z[^-^Z2T/)rf`uRag6K>l*2S*oY&L6hWOn=Z@'^aU;]\-oY%mjSFlV]j:D/UTmi0d
+qGPb6;"VFs;tkaEWTnK,g8E>js4I~>
+endstream
+endobj
+33 0 obj
+<<
+/Length 386
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:ebtc/1&;9M$$6PI![beD4gDlo;i.ga'm3/Su)Pe(pVNf-AN`1BpOK`;1[6$1q
+I^@d!jNW7h1,KI\,'"8JOTn6B*/VJ*Z<UN8*BTaNc0i0+cX5>BT/MN-`.ZA\gSJO=
+ml5@f_uq1lk$k8[KF#OsBg=094!o1cT&6bgR8qEmpWj8U0#9P\K?MU$@%@K*8kj:<
+ZCOaR+BW/5D0+LaGp,U9)1oNB=8nejdQqPSb#r7VgM5?I]-]2P7:Fa@qf[DSlbaj[
+p>a"Z>Eot)"pC&/3#Nq$=:1.EbdanUcKVf4MEl*sjute"j$?[sM0/_#Kr"JE`D&]s
+B.,Zp7OW^iT6^)%HQVkolaO;d%=/XlR]kN)3jDAuT*)9X!<@ftKc'~>
+endstream
+endobj
+34 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T9 13 0 R
+>>
+/XObject <<
+/Im6 28 0 R
+/Im7 29 0 R
+/Im8 30 0 R
+/Im9 31 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+36 0 obj
+<<
+/Length 3805
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XEL9p=<k%__V?khE\Lg)Z=PT%eX/V6Yli`&4NnmQJWHD/3=@>a!k_c`^[g+<\OE
+BBQKj.OA4C#X1@5!5GW'5-9]hFhcYe78HP58+uBaSoX]].\@o5^H1.=pUe%5T>.E'
+h.WE^p"eWZI<D((n?Dc\0%K2b'Lg/^?2\rUcqj("PpK5&rSrD*H6+GTE$(7%If%BK
+p!=\VVXN;q:TG*K=Xo]&pGst`Woq?9D]Y4LZ6q1uUHNT78+*pj3r>l3it6cFQsn_[
+#?jsScLOMQ[mPY<B@BP$YQSmnI)*3U^4,nOa(I1*esL[XeDFGZ*;\JfZ!Fj<l/=k-
+J)/(8SDuKG"e>N;/6KarV.*^$_4_=MJ*7,)/"-rA'KJHCSXQO'F!,3tptlL7+Y%B>
+EPq/cT4if5T%\sr/ceS[!^7U(f;@<MQ<i7KX-VUWn5:d%OUM&dgR42t<o&L_@kAlS
+YslU+ZD^RZe/t-og^-4W'd5rm-jgj$l)+hJVZY5ts5*2[B0iYQciJ)@G3i:[;WT?[
+pI'l>RFXb\qlOfJS%^]NZ1$DD1QV0B%9HCuOTjV*'%5p$Nk3/d,0c.Z0?:,/l88)"
+[UtF:[<MH+??tt!i_Z-5a2*_0^C*#$:#mnS2[Xg1d-F"'KQN`/j9lGR%`%Kf$1NGQ
+c;7CK`^2WuU4VK8i,mmjGc`Zk(O%Co(mGDcNm.Y*<7,\=O\/fp56J[9YI:Vmi0N9C
+?o6]'GHkQGZ#S/[k-[lC?fHlLs#a9$I8a@548rpape-Coi.SI8<7OHmF/^A,5E-5M
+(X.k'#,"L)JCBXfXrjMQ@tCm4;$Ds(A,g^eVrlW`+1e*kE+5n/GV#J^:Y<T=m'd!u
+aZ#AR-i>G(UZj0_6=T2b#l)+.B2sSXKFI>*CJb@eP[O"I'IHa2%'jBZaf'Y&-^VD^
+8KO>.qW!#U#oujd,Rl=-<4S?5bEEO>`3c:p*OPS^cUd:NplNm--.YCRMZcBhhI7?=
+3l@R]pGU9@Cgjr9[GZb*#g]2"4K209b+7QA/C!6RRhO*16=4%rrV28Dn^/InP>L1T
+ZfP"(SZ]dHM51LnAETX5Q%SYqCe4D!+U=;=',*?@$V\&m\2o?''*@7PN_M[-#(uWV
+TNsdk&m,L4W*!\Yf#D(B,WHaLX_a"\?H?Bg#oFr_mG+SN>:E#J@C:Gt2MOlPKW1C(
+>?%r>lmbP%[3[4O1;-9)[peA?IfeA=)%00BBQ[s7.OaT0gacV9/5,KD))hL3Qfa6P
+WsZ#7-8a\$eYRkdj%`?hg!A.hn@;U`MU)gsJ^TY:p9p_IF'o:l6!_N!:[0;22Y'`k
+fkApl87K:aPa$3boGh6N:_*+R\#$e,f+bL,jr/om;T&6prk",Zir6C^DVCE^hc]*C
+goL7.n',HW-LSNm4>C>/S>rIXij"GJh,5^N6OkUhC%Qt26t)hYLoNcUhS"r2G4q<G
+.M;1gpI!ECEfX@3a[or.qL<gc0:`X`"Z_]N3$C-8qZ)m2:20%:T3RVS_-)rlcif]%
+5e=VcQP\V6ZJA12[d.\d#2&&]ADS:PgpFFG4V;D5kYHZ[dKuK&6Or4D%J0dLJ6n"2
+:Xjs)Alh^JniS'+Vu=u7G+:#,)t5LQAb^*r&A1PfT\Ms)R>*URl#6_;B-JO"4/1b;
++:3GZ)OO>T4<Or`h@n>:#[Eb9iG-_^qY`l48V4q-MnaS\@;M)a(WN>Iign;I@IB=r
+]Uo$<i9R\C;F;pHZg(.9P?9`oL6d,<:#5Ck6E!eE=iMFe[E'Mn2LjG3"rlEP`=OUE
+0Rb1>6!sD$g,kS<-,EWcU\I`pmg+cHBZN)JHS2n?O`n8FIH!3GfoT_Gor/g&H`$*e
+h.S<IGS;XM]&4RU*e$WmTnjP=1tMf[T?!&R(KCMaf`<rjb9b="F7SlnXD,CJcR(g+
+pu8RPM;ZRP.(Vt>dAIbT_&W*+R_AO*2r0I_pl**gco-,LSo?Z$rUk<MQ398i0TEX8
+[h#W"iTW3V7.\J]f@bn^%P3mI:`9;h<bS)rOM2N]EpJ7_L7sn`m+@tP\,lFFCeNKJ
+etNnl[=')_PN2>]i6\_in2$410N0HF/\;@q)FB.^HYVl6D\[6?)F*"DZJl5J9%[iK
+bn-nO1TTn&j_%OWV6W)Z)d=\VLci6ImUr>'*d*]DQl>hiO/!De7<>].jhZHY`eEb#
+0;Ac=g=lCYBpE?a3^0.>p<^E49!Okt92rQ/AO9D@Gtmh4L:Iujdt3)*p7)IU8?[AD
+69+YjW''[>Y8)Z<ROs,T&u=jB2"dCE<T-E<'HqQo&j"\SIG%5TKh$(2^GW+Wa2*_0
+foU;"Nhq8s#$M4Ei(fiKTF3N$@ijgo!5Z]%o637^i(m!<EDRjs0o*DS]0fTqJhJGL
+<R:ga6hJ'"-h0\LbtG`lW?T&)Y0B)nTOPp_[GPPO&ea8Rhb8+B+01iuqdNF]guMU.
+J8(VbbD:RTX2`_aQ\XnO0[E/=LmJg"r)aKLG%quQ5L";AT.bleP0=5TE2rC=*L_sF
+$2(\p+>n>PlA+0?_aa-IgR`R@?nd=u-16Gmd/F7GXcc;mHRDb85bs8k;@?Hm6MLNu
+R:ej5=?>cs0`&D<E<;/4YnTd9nEmra^9F()@&A-V#(_3r)jdISlbdF26=ko5g?BMp
+4;O\bgN:/X(/8p-8i/KOG\l=Q*J[?)MKC&rC<IM4OU*M]Dr23U\I?b=:@1j4!0@\+
+Oi'c78bkEV6'u(C7bpHg.R_8[-/mM+dqPJVO(A"P;EpC`GW[!,Z/3j0/=-Lu3)-`C
++X<pO`9&M[YV5EnV'Pc/+m<i'5ke?O],<AIV7ef%_+U5;_=1a4dgoXQTe%n6lku#U
+pGfXP6Q*qi^pPh(`D(=jL"YR3?=h`rqO-lRJ0p:RW&KX.g$NcY<W=/+H+)0Ke4)ka
++3>'11[YoU,a]MHc7(8a_:=`oXsY&)o6oVj_,-hC+VB6TL(E)&`Ib\!nWE0T%&pSt
+2V@@=UUhD)N2AJ?mq&bjml""^kBPsWTNKL,lR;I)8AO]JILU[hD$`+U.O'c&CRd#O
++NDUj4sm)D.Mr0lO>p;ck>+M$`mTTC#D('_Yj'7MAEm/Vkt$M-:Z])Hd9339UrLQh
+_*2gJ,n`?j6S5n*nBA3c2@aC2)@)-n:6?t5YP,Dq`/?[_2S-Ri2G+,]Yi'gQBrd@L
+flVDmj0qhVYd$ljk)kEZ3/E-;r8ViuP0ND8m4maYrZ04e1H-9n:MUr8BMoen>@XGU
+SuJ3[D3I-mVg=f*TCtX%g?ldS$SSoJL&0Au8N<X=0F;0<JBp6(:;uZ#-jL]\E$C&>
+ba'[$p+?OARO.J\S2T5nBn$3o>BU4C(Ib$9Eu!VZj;i\pP%VW/#jUA!!H/B.6B687
+@P4]2Du?8BS1,BnOq,Q5Q0;$^g?RI#`$*C43,rRl7m!lR[sDH.(8<b5)l`gVLLXh9
+$>tpk_->9JRmtnrg#5u;-!!q!pu6:&2^^%EGu7XKD*Tl:30_-]QaaiP)TMC5J42ou
+!(BV%>)$/UW4=sWL2r)eDC3GcJ@VN0ljYS2GYuqJI]A;lm'\Sn.4*A#ChUr3n-],m
+%3ti"[:fDkC.Y`HE#+kWlHjIFU83ZpBt-)@c,:J)IHaGBWL$1.lZ>"U]38fh`\hGa
+&-!Z9"s6`D0a4FtP_LY[l9rr@L1[Y*\04Nf\?1s`;Nt:D\("*s8PLa&c*bpX"'"'.
+Cb[_&J13++=-e.$OqMR9["'i#;M\3@@!B,kV%IIf#%^2!iik7-:L-N]KNdUBdn=[1
+rfY=GfG%+a#>Jn:-47a^d!Q>/f`YidCBt^V2%<(2~>
+endstream
+endobj
+37 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T6 39 0 R
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+/T11 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+41 0 obj
+<<
+/Length 3625
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X-DD/\IE&cSA/O`-R#E?\<L/Poi!gE*dg?\%gW#Gh<kfSlr8/GV[ohAkt(Q^m#r
+*6F\`U)RJ`;^+6nbfhlh]O,#/XNPC!]md[fmY/;Kbhic!lL_g5Y03WT:ZV3FE0X\s
+Xrb=W,d)@F4Kg\F2r2hsDqG$"P%eKNXoE?_ZQ#CohC^smCHOF(b53GUK_rQ'8W*E!
+r53+;htcQ7YqN,)IZuBU\+Dcm#?[+&Zl/U$X@7_"<k5n?\sM/[@ePU5Z$XUNIjH<)
+e307"`uEph23H7@U\a5NoV=sgS0]@CUt,7B?l-<KfJNpFXhDS`nka2l?sd6%,PlK9
+mpJd_J3=E^UWDZ)Bs1p<.$tBcD'c7:`)9-A>RiFak()=a.'Lc=a,#PQE3<&;dPQl7
+[>\^$\p'4BCR(=t$!=T-KmhaH`_lE<s'Ga$Wi5jY'7G^m\fVJ\pY8O?FsUr$fP!G+
+o$+%K-FK\V.9uT9i/pR2_Ko^/8%3X4UAi3We.A[dN&0cGNn<<NF]!a=A.NaYmE'fr
+"W*N.T^@uG+t5rs`Zeat\P1Q3\u?nnaRWPAbGnqrU\Q39o)Ct[N%7.jiHt!2DTXar
+G3LV0U<$sZEp4TM'8ht@odStEcX'pd5ubK&UMCpE'RfC8&Q44LnoHIY'R(kd?=8c_
+Pa$mC9I4.QL81^Q(71@gSZuYK&hDVZE.!**gCum<L)sjLnI-Mg3ph0,a/rCGYUPdd
+`D(g;QpfQi\#p%V,jI@A2PW%<%NESPhWWTcAe]_.^2\Z61R<XnJnIArTB<,FMB\'1
+@I,S/Bc:Us=p/Q3MEKaPD23T5lMQQ$*$Hi=XGi3brPb3+S=N\\I)L<f+p32XAB('p
+a3gBcP%C'#iRDP2bSa`Ym8H%PfbM53_uUX?0jktS=er=EP\1"M'Dol1VVe]HU1-RP
+o.TG`WNR>2c`TXS#HGQgOU\Ga\tjurSmefnik99*n2:94LS/O4GBgdrLJ9-p^'2k=
+A;4eQZEujBmBl&q>aEo!>V@kP-@4R.MN2W=?u9Q\80dkNq)`o36)#i==n-aCDu(Jn
+&Y9+.KTD.0nHUsLG8iGHO_"-:o*enB6\/r\b'Cp?G18E"IHmJR#pOD;C:]EH?P#F!
+n`79NMHKIlFGj@]m#2lX7q7h-Lac'4`\:Hc`?;YH!o4pOXpI3R^jUK+_u[J;"A5^/
+=>$O*)g.[LSPAunU2uId_4_nM9$$g>].n"m].a5JEqStbQ-f$@=dQnP/+ndc$=>%L
+m[dFUD$oV<57^NfqTdI]MnZFnBK5Ml4-MhA=;`JqZ,U8BdD7!d?4T8\m:JD=^,J6`
+],`_=G\Qpoi%V9p.?&mN-T-LfC$o!?a6+!="WK&8`?k%!IA#-cikAeGN<3B2[4fPK
+OmjI4TZcu)l'eL[D_Vg#M9#+2kcm]*N/9ElolNJl*hf0ihUWPtR@JGbC;cD[!-[!>
+L!OLD'.$;L]uCu\]M)k;EHQTC!u]KicP-jl-1PPf4H@=!Zi[T:0$#=J<=jeGC?9BR
+X7=t[XI$"ZO=$\sBj%5W(3pQI]2mFT#b@-?*\SWPN+VsnK</OD:$A6XXigg=0L@Hk
+U)dZA^s)*bBGJjdf#*B@.oNrpD_16p'WbFjr!5Hbc5-0'R@scAi%=&ABl7&2<=EAu
+Rb*d/UiLG]<>;Q6IFi1)=?je\o\B.E,eLGWCif;B<c?!Ol^jPBHSOq]5rDt):BR0>
+WCu#jdQq4^S":Z+rtKkh`3:*)&qdp>*5OnWZrdZdV>=W$hOpi<^o4_:3hrPZD7%&8
+Q;H,f!la.8:Tb#B6J#&=hrckDRdj21d3m=\JIB9eGZ,G3b*m+afpDn`"mi+s!e906
+ObL6(<WrR#:=K)JWfT5:8J>dDi`!aUV3b#p_:8DP4mRAQojR8Kg[qC'`\cb?B:?j6
+kqr3s%aF',W(_Ugm$6]n,XN""77L^16LHGQYk]cE&Mc/4mD]`>]Et18*AIVMO&uD.
+]e=mZQkHn$d'i+rrNOR%rMj*Xl8F=ujA1F9adNitg(ImoCee6?;2uQ_n23dKAJ+D(
+C#UU1d+Dbk25K&((FChhk`$1uDBt[0iNXsG744lRKN:mdW'!^T>/i36>4Md!?O$;`
+%b.!7EcVW\<YD@KGbC8%:r4U(H['XQhO[\ZT$Sj2*O/5*B8k)bkdQXV@+Pp=rV5ED
+CZnpc6tXN2B.g"'-nu*o'V3q\GUtL;nANV=!L#VFGrX<K<I!5Jo%"88$O,bua%YV.
+N$9DVE5pd@F7f5;HMXud>:Wq\`m'/ZPsWEZKG^E\/V6t"b9oso2K/R.>)H$55AQg\
+n1b8)m`a/`jZF^21dq9MWhO*?+0\0(pH$AAWfS$05$BqEWH$"2C8B\H\R!G#O*;N.
+PtaQ;?Rg5WDRXAWbd",R]pfW)]"$C18bFDoW_`g@_gHs`0M:>ZH&I?p%paN-EZLTg
+4rpcJ`8Sp$k+o^b]ONPuUj:"NL)nL-5u9WNU@)%BA_\3/6;<McN]A*H'+&!/VPFqg
+oo,n>d`O'rW!o2+XcJ4WKgM`%PgeJbVj<Aq*Z!(pLUK-^(-a#'S3j)(fFF+/>%tX;
+S!ak_Nf\<;.Mluh6jg3T_WEZ?$sWCTH!:'0SQ]`@(T)]&f!q:`n(tE0UGm-W?,ds.
+<.Ar&#rG21,2P@r+!hdTncFll\M&n!+)kZe)tRr,^=)TXp[%DuZHIsII-CWgJtR`i
+oSfK`:#j0@.H=])G<);IFDGCe5a*mi5<RsO<sD%ITt]u5L;Ui$<>pqCicC[fIQFgk
+%S2>6:^.3Wf,#X6R`kZ"E="N2A?n$bfd(TH%V/%27IOe,9S#0GPcVd+h7Ye+pp(Ci
+XFhCFS<Q>6'!"h5Yn1u(R!a$!a`N(EK;Q@BNa7;b:YpgQ9j#WqrJ[L'5_'@eUDfXG
+$u6R]T1;C_"GL`#0WA0(;r&r.PKUSp'mB3qHHN710WpF<fYn#LE7ct+PP#p&;H3JI
+,m]=NI6`P$pTS3Mn7eQ3n.OgK:nEh=N7H:e'U*)j@/e9Nj^O@B+sc?<k&@[Wa.>ji
+VNk$e]IYu+!pcNc&5,29@bZsg[/V^f1a=5SQeseP&a`a"*Y-?6WqZ;1=5JC6,Zg9&
+p_6A;U[(2n>3EO?U_`?,c042?/"1jW8h;(pCVb(9=WmeWalq^^XGOoQHH3WAVs^K4
+?L3F^CSBq"l`e-(N*Zse9]Kgh-Y5mC%@OUYU'FJ&F&8YMID4H-%=h2dpMhCGRMI>H
+L=pWFMbu5aRX%,=R-0(Y,q9s;^+9-t)+hhS_3Um!`:6o@m9HZ9rFCTLFmUM0"ElaF
+WVt!_,JU/LYB9Z^)_Xp`4cM$\4?.%>jnS!(5&9fRBGdG``m6?`1l^nOBi;=3D[m,>
+TM0AJ`/h5Z/K2lA14nD'OgrlK[,b]2JjY5_]r8:E16H>/UB$VU-%Y&GZ(Ttn^XN("
+7k<`SIG=3]5jt2hU3hk@RK+'2B5eN-[slV^>juAF&:0qk"U-aAU%TXpKqBY]AX*0`
+BtBum`Jia9V5ma-L.05q)L%>^`dU/3JF=M1`NKCTTAq1^2#AjHUf_k01-7WG)Kpga
+e0_6[PSY$(Fj;g7e"+AK>.;*b&do^"&0KjgSLe<MX5"W`a7[u4#67/khW"~>
+endstream
+endobj
+42 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+/T11 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+44 0 obj
+<<
+/Length 2879
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<hiHg-%=ZW10lP;NPH6)17a["WD7d=;J/5J:C$5>cEKnDNNZH2aEjL7D,uKmq
+a0Q0?%^9mtOWl7Fj2\q%<ZcMH"+/Z@<md6'LIhG^lkdj'D3@$B;7V\]_sY0p*fd93
+T0BT:A$<XkeS77;`:1;6IDqsp>O$]AG5$!a(;lg1f5Zma0.r-!'L`H(?IlT33'D.g
+/J>2)j8X<&>k+OFdKQ6+lh8t%4O\KMbC&[<efIUIGPD$b2!,".`o[J1*DR5J6`k.7
+5K_j:RUkCAILp8@(Ks`N*f>'^l<u-h0%ILM"c=R:@74!-C!GXlQRmc#`]/?Jcam/h
+`Co5cGL0]Nq(hZTcbS/hDg*V(jJ<HRI)6ntjD8Um>H]q_/B^Wol5OV,+T1'l!M']>
+$#cF+8"@KR8F<0L^9QB0Za"`R=]]'E?'.)8A`3eWluL1W9pVT:*+a$J\!N)-[#%?;
+efXk1ma!ENm^]t+?dJ_<<u9,gq&GHj1<`^ma?FX4^l&-[[T[&*e#!sD)m<du/*fm4
+Ps`LMR?P-k@i/_"B<F$+Z+214HX!DlHWc:+990u%PB,(I04/p:PW6:%2lt4s87PKh
+b5mZS7u?tRYV%6j\?s:&fh[V=-uacaAt3?o5Tg_<hF:Wd,[Wl3J&5KnpLK.t_`?qp
+>k%0i#H([oV^+Tm>P54.ne6\.lSQFS)#nHtEh18pKK3_&iu+k-0j[>,e`'\#???7h
+,QnZ!,e[="mm^u-0?T2!9Z,W:]ma+b4=6d:GtSq<pgDY[(*87S$$qJ@KWG$EMl7Ai
+&IU^OYj[hhXWX27>JS4PbbcZ@9u&\_O/jbXqt7!!CmOqc+]VlnXiIV*MH]AH](9(3
+H[eT.C=H]oQSXTJFDM@Bk&=//@1L72_>H;5+L%7ZEMD:Tj2Rt`n%+0u[)AgAjBS4n
+PNN^l!@PM1g^j7]Y&.GJ_PY.upN?&9:1`]IOK78-=Je;FSG$uRpU]\F"G)^m+hcWd
+@I%h$rW%(K_.&V_oBkI5)iF<_^F0'SO5RN.l$c=!ajSrLs&gD=66g/k^i:-@m4#s9
+gNNbiMIj;mdfdh9\&hK(e;XaiYST3?5N&9]4a>\6'sg)+gD!1MFSs=,"48Q-i'>K_
+N>S05hRn$8.q!>LD52CEN(IuV^1RLc^C"\D"?'%F0^ako/kg7Q$KY(?Vb:;)URM%6
+YMH5X/Rh:/JbmB?Le"W34RDp;(nf"XE;mbV9dLmgd6GSFd`A>S%nU)hY4&,Wf\A$R
+"<,1^g/G/#d`CINmQ^9GYaN?T0Chs>.sQY6n.-G\=Y#8_@e`cqA2QW+QP)GBY&9<S
+P,$+;65BLbR^XM<dRcf`:2buiRlH<d"c8/;>NfH`('aOD-=WT77Kd0B!Xg[+[.%PI
+'l^FKEM8P@p/Mu&^@+O[M_WB\&4&pT'/EH2l@%Xb4eb\OMZ>SB$4/S;+'Z"#?-G5Y
+9bCTP.U_qQ^W<lcLk20*aJ0"[]Y#LM$b[G4j]/aAb=%m0mc=a>fe*?EqQmg9D95V>
+&jTt7Pl*j0o32a6B&:*ZcZsX6lu\KmcN.@'edg('3FN\t)GHcHjdh1Gp@G5Ij'4U1
+bL"o4A5NUmlR0m?]h5)27%6Y&(t'b.FG;N2<<(`*SZ1FBM=Xm(d&6_^8:kYS2EJ%P
+8$)^>WF8_bn1[F=cJ1nlcI,]XfK.WZ-%3m5F:.TCTBgRS#R0aS9/<X-<QX&sGYA(t
+L`%(M43&(a$GM]+(p'3d4%?5Kp,L5e5]=`5;hCe]-2S`m)TN8j`!Mfg1BO(4XUo*F
+A"DZo5rs4"n&lX(9@qcBCt"UVA1^S+SP9Dg9OpHaH$"Uq6m3A'OFEkdm8Q$9PNo\H
+HH'uH'2Mep?>3l'&-QC=EArj*RuX,(1C,mEmX_ut)]&]^?%Fm;mT<aLJcAF),'oU\
+6CA6U1&K4I$s^X^b^`0q3C)H^7Bph%QN\\#BIhb$,*33D[$A4DgDt,DV!:BJE^?+V
+HR3ReE9#P=Tr&M#"UfG2?VYYE!dFJEA\GUbJZDmR<F?iB04-.r(VZE\UGG@fpjXH@
+8\b5XFm"IZCYIDYcec:m4,W1FQK@X"=`MPGgbJ]?JMKns6AGi$\2(E@PaEd$4Wh)A
+*qXH)CIVmO1LeEb%8&>5c%d<G'Uf\M+L)7J,OteZ+oYJcU#])"=VAK[7c3I#TMDiK
+kJiam`ud&*dt3-@eVtA[@J4!e5,$>X765QFC\L&&eAh`fp6nS_Pe@tNpT:s!kXR;+
+D9HF-S,*`OSel3Ao%[N#bdM.;MRK?(BD_N<E(H?c8j[C_3:s),1H<0YP[omIca'ah
+f'O'kWh:f5`$otfJ*hFZGpa8C[HekRg#7jl;Q!Q`CF7mX'I/Fe7[nJI>&W%*&"6&b
+o3L+`rIsOAT++noQc7c["p+=,hMjlndl#F]Hd8>i@)ug2D?ml&UFZ#qh(V#97MIK#
+\ejQI(W!0B/[nFu63-tnj+\oIL6nf8pn5BZp,IpS[&JkchHsH^_Ek4EUcQ#g2SHPj
+(u,,,,O"m6P<4A+/Lq-[CubU0al>JeV1KtEUUNM'$1lN2$U\2fH=@&!,)`_j&#sDk
+C(Y*'otD@La/;9DB,2Z&YH8ifV>I=co)WLRP:#O3N$Z2s@'\aeN2H+l9VM,t&PF#K
+r0f!q>La>RTnd8hqQ0QdeJFnO]F6l^`\=0e"ecq/fIDYoT?`<Vnb@)(<bkm+4m/g3
+@;LMnqbGl5Vl"48S*$3l*PU-`\\YQ"]bj!gSt\*@Yo6*n@ZY+\WSF-<.-7W0Q8r$F
+fZ_6e:pkObjE+Eu<OVXg&K^1l:)ScrVJ3n.EFn;RMl3k/D*5kAoR&%\Z\BMK8YSSm
+Vd_NO2s\K_J[]NUEC_-,&BW/ehfl.$%fj@CkK<~>
+endstream
+endobj
+45 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+/T11 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+47 0 obj
+<<
+/Length 4115
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,bAupg&`)b'[%pSD0BRhPG>:.i-'a?(k"a#",).AG8Uph,l7u_=RH`tU1^L's
+]3GIqkip.Pe#35YIJUCsT#L;Es-.>QHqs%CC]>oos!?bROjDeR;t><\qY%DU`:IEA
+^ULhQQ/'H?GhIOq;VHQ,rT.bd9/Tc<NQe`uk-qV1m`'$\#5A,O<[;Y73YTK=YW''Z
+FZ5?KcQZ;W,Y8,dC]F/![(=/!-%&bY@/&)nrX2kF9)DD/HY[B+88:9N%4cPi_`b8/
+<o-S#@Pd2IBu(,tg7>6P!7NFFm.7pb_a`[YhcAS1b<!$9<o;/>*+!"OZi.q.8sQ_)
+cE%M(FZBY9KenJO<Gh-*Pt?B$esMM,"*%^N5G(]40cbbi%&;)(^e$*!0Qt/"pW*CH
+6+fOKmbSXV=1t47Ud#Ai;gBSGL_/MM(@]&+DPqel8Y#**+5g<K/j5JZ?nG%Gdg(]t
+XXi?fh!af(%MT)$$<P*2nVsNdQo<`BR>BdZ'Z0f>&P-DUn0gkQ:fB@I%k='@VAiO,
+`IQT`O@pm08<"B_J4rDr4bgi3RG.#.lNmPAo%9hSG%AC;>MUroZ5)Fk'TX(=TIFB0
+r#Js8,ZoB]Q:M_L`B=u^MudidP3H=Xn$iKK'XL9Mildc&X=HF+mmLi1Wj,-*"3nUg
+2L4@N@4@O3'&W8"Cj,fH!e^'af;_AI9bjjiH70(cL/e4jh;"d&oUN(8@X*Iu?16$R
+7P<Qj=6R%)$eKQqE4#^mOK"%#65D!=KrGTEEBuuINd^MJ*R2AsXpId[8>X(%VZHS!
+aQB^48C-oCOH)rq&4XG.f64WXgugR:!A+QT1c?A_!8VXr!7aY9oLZ"LWtCGq'KV(7
+ZA'SOZFCrQk0#SF5$S+=P-p2Q9M+K>5u@snl?4l[fQOZ2g!ta>?B\98<K]IUn/(0K
+FU06E$KdUrL2[4I^g=/>_t@hL(s/!_pR%k;f>He\/BG+6;gkf/+msYd9Cg_pBpqKP
+G@_!8.5g/bXhA.[gWJ(_C]qWL+BU-#^De'oBFLNlq>nZ4(W:r-2jf6VnaR+h5lH;S
+DI=eg"?^AaE./oD=ua-XCSgV?Sf?!eFhho(0pngOHpl*hY^+H$#&l,'"I4o\E8md@
+FE#ea^;HJQ3oq8-+GK>;oh?K[]/:ZQ6.1O&iZl\pZsiDnT>.KTG:Xu1D0iiV>4J*Z
+mX"Br'K@QaH?k7D!D"NEK1#u2R!afBK`qcbZ;k;d@Hu1X7O4/ME2?/9)QD6UL257)
+bsqDn!`a4TfqK7<oCRgXI\&bP5\Rocja8"&>;@\72qTe/BB+bK.bOF+5VP4\%6>%'
+^0Ce8P[PO6^1-ULk^iesT1)^ANmOG5fu-<?`&edB]to7Gk24+3/lb+oeL=b.P^CD[
+PIo1W'1#FSN&Ar.S1gd%QtP+H#gn6<IK(dV:RSq8@+<8V9Qk&n6fcQ378L_aUOYqu
+i0q[))Vcq);;k)d-DXY-B+$f:K)2s)a>2qhh=kLrYWL=T@Gd0/^qbmA#"b^H%5<X(
+N7"EX12sZ%^8qrWHMuRl0Jom?_p:eV06GaAobMWTPlugk6RXd^HK_hkA7'Isg&mdd
+E<&q(/H(O%_(XNjr&"%8=n`*X1Z)/:76;ZD?'9Hl2h=m8<O**__hm_-TrE2H]I6o7
+Nu5rWI:#A'V?N"MDH`tD@5c#[a;IBRgtU82nNj%:/t".`i?`"'/7im:l]hW)QI@.f
+,@8kC*JRNP_e;\cD$CrUbU6g"k<cBs/u-[.(00eI,8//d56;fO0b2f-!B7k#9G@43
+7IAOSF%Jc^m/-4p;^A09TtM^.<5I8S'hs)l@13@!2U>KqPg8aL@>r+b;@Mu5Tl%<c
+CT20#9+a^PkkF6*40<J2`dA3RPmZ"u3umWKN$*p7,bp.QI?]<@A68udG13gZ@2Lu%
+9:7EV/QA"d6&85C[\Nc,q&O]>BC3s"p$:-;jU"nf84Y:ehbZ(Q^bV`T^0%9,i-.+$
+-X.oM&Abf/%^^^XF6*5XoA,HSO=G6(9b`TmcW+2c6>INj/\[hDn-P9B`u^ED?U:OX
+fd8J?diXjG[`367$KEL^`FV]OLR"oBPf7H<:Eu(3^sSZ\jA<`OHu1F&A%/0-+(#j:
+lJjCBXEhWN)jlkAWFU6FF9cMQfSYHZe-`EJij;amJn4K8;"Qc.e(L,-gnZY6s*24I
+)8ictXsdoHV@7K\79"Gd)=>=&-+I'f1dB25$sbpi/!S_MG\du\<V(R*6!?4<`@QG9
+E[mEV/1BMAfoL:MdBXs33JBQ@qeQ=TkI>UXmnc3`F::qe7fsc=Uhi;j1"$n>#scrN
+GV6ZI"r$WO^AMu@-5Rrrqf<SGKr!:J^Q)gFA>K4Y_<G&?.kh,aQ_r:)P[BjDfuC>5
+oiV_&clQmPG-$UEkQe(8fnc^hf*hqKo&,@Y9aIFbNhd>s]7=%C52K64GE>ebh."c[
+#JC?,AD.)ZF[P1/I0FD6&Tl7a]+;#H;0+_uLQRV11W%uDJg"\HX56HUdlT.go,19/
+#NC.#J%cIXOSQAf8=jg`!*5NmH/4G\>`<jo/BKoQKZ+$e<\@0d(2>\p?ujGLD&Z/+
+^TC')7C-;lZH$Rj^f`n7EZq2D^>fq\SGOWUG11X5)7Ia\YnlRjbpI2If`^9rhOD5#
+baje/Oeg[J9Z\uL@4/<CT[b;MX[+Jac=b</?ALU^C$DN#\p_`VP:LGD6^/pkdX3K>
+18R+d#QM4NnF[#7P[$"-At2Pd+2(YPfMqKukiP!m9]T!Y&*PC^="lHf<Z9W0:AR;$
+?pZ&L@K.NoBDUK6<VWp_UMADlS<=[=Edt=Z0j10E@"!P/1=r=D:006qGg;>q#Wni)
+-b5=YjmL*[^T#'lVuj:RniTs+Gu?=8W.4ah^S=%.+:#TJh6l^hFNN3ZC;9JaoH.28
+BPsMXpu4`B'S52gn#&9:f>;F8$&MEaUBcYQ)l`243r@//j=5nMBsgp]Q177K9MS)V
+'L4'F_*Nkn\[`Ke]ns1NBcf+\%dmA.reQ%CY4$.2UqF+4j^aJh9[kX/]O\E&UVY8-
+.8?c"K<\t0MW;t8Zg?k.^o+f=VK"LqLsnZkZ'nMd\:(@jgF#?kF\X/9.d;3E%6^5n
+JMM%'[dX'tK%u2NF'1ocB%<BC*gb$n/sQJB;HK@!g!(:)pX\MTq^2c9qI$2fo&6W?
+dHNlgRh:)lc>feSX38Ijf.SLr"SF5*Y3c:Me\F1C0kG4l%usg]E4I.B(FDs!eT9^^
+9S$&9-6*f\EVg<hK:GC=LK!pWK21PS-?12kC+d\r_@D4K8d%qu@;lGh=dpL.qEdEZ
+"7QXl1Os/u-!?AL(RRbmPG[3\`jS2m#m4NniA_u>"</R++)HJK'@,qp@@AAgV?hj0
+Fg6ncTT=psK'QV&N+Dr'PoDfZXmp&.!12:OL$]ag>,tS9U^^sEAFJ<]D>nl>3$A?W
+AWq'j#L`dH,U)A)Puj,8;b`9ZeYF=+_6#\'*'>*?G@OEKp-gFI'T@pR$2PkC`$o9t
+^N6QG(Ndog!QuM_*8P_<VTe!09Cb&`5@nJsFsN#]*.*Dm/&dZrpO`oPP^M.,RYb1_
+E=LCLD_OakZJg*UEU^)Zk>Uob^-U@+C2pffN2EibcL8b*FU!XP@fj;X&-5oGo>EcO
+.mI9r7@$<EI4d[uds1!E\bFt+oJ3XW&KdhbQ?l`KU00$Wd?(@R2X#0"kh/jp<WCP_
+ck>$-NUm+Y?,\c/__?&m'cg^K9q!p.!'on0/-pjM!YXl%YK)Le`3)q'ZtUQ4nt#4V
+Y.=R'DrpXOJS+#5/9UO\@&H9$TV0R@OqaTAn[5;([]s\/1)@:)M?O1oJ.SH^W'<Z:
+@6>*p]FD/kaqWM<@c.u&PSZX(bTQJ4-0d\p3:CKKeh5%4S3r^31D^02nK#>/Ae@Q0
+&2,s_VqO!WdLsgPnf@02`9]>sjYFNl8uN=7)gsBEJ[Mb?Ul0"f`$V"PaC?.R!0N3K
+^%dQ<C#ku;dr0l@C)cL(ls&1$>T&-RMg8^Xep5P^Y<61^-`WuY]>atXMi$:'\j$ji
+7h*d!f]6QIku`"sQfjV\Z`U.O=?dfL*]UXLQ\VSTS!gQU#:$Sj]7%'I$F9Q\aG+Pe
+&$7)SVnJ2cG,N:i_iS2_~>
+endstream
+endobj
+48 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T6 39 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+50 0 obj
+<<
+/Length 4266
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]T9on<o%_^JtW*?*K9#g_sf6+=5@eVX5c)k^kmR0Wl2mEJ>W?D4i.8c<ugQh1E
+@*ssOa-K,NI!g>>IJ`Zk2LcLggVZsq&b7r55AU"X_r%9F,k?5-IS-2m:VZl,?fLn6
+_t/'GZoS\d?"^1R*4tM,q7?ON;_BiX]`$U6l=4u$g7^Y>+0YCUg3sW#DT]7Yh#b4!
+^"gNV9I=36\BV`&6>_l2$/>0N+1cXNR:eSI*::R8fLU?aD7*_-FWB9)/#c-V6hpCM
+FZ0$/8?L(3Im;^AoKN#Qn='&apE@d]I*ek(\(BSXWfGph#oCD]O`u6HAc=pNfopVs
+g[2\"Tp9/Sbn(;9lZ9stJ)s`,6OLZB2dOs(mUsLjq^bkE<_ITbpZ[Ua-^;bc@DZD)
+Jo-)qgp1jRiP%=]9g,l>Tfs@+U.C^*O4Cr_._6IF'+3,FJbO*;''gf;;r%E@Qh7Is
+-"-&=CA..afZ28Gf<0ZXZ>a/a8RlZ-Y-a77ZN'Fs_AG2?%6Y/mk4RWdIuZrI$D#.M
+pH`@#W_D0:aEWPG+giZCmh[gc11\P<ZZ4PQ)uq<6QiB&'n_SstbYFciYZ>HrAtn_H
+p4C3XH9/=E!feAk#QNSN<c@>TP`UbO??.1;-!dmd3QURkY:d\ZO1OQ\;sj+dR?hh`
+-eBpsTa"3X%C_YA&W'4KKi*GWQ7#Ral?_^=j](Wk$TlkhW^#s3NWV*pr"PR]%tPjb
+F)f=T'b3\$g:P=>Q0101U4hn6J+*WaOLV-enP,E>\U.[`OLqo`0i3FLi`I,.Y:+))
+d+,:(gn$mf\NNR6,qA(d0r'I.kd:YO4H#VB@opQ\>5\[cfA5^5psE<K0T9_7`&PLn
+?cAc*hK/!P6H0r99<`G`?hM7G?2]lkmHRjtl?N"Z7_X,7_CT"kFbZ&[:su/cd=7]C
+;Fg8,\$tkb3HXY6!^XpPrLfZ+2;&EhN@]h%MKSP'`sZ^?%QUt^.;)<@fhuE,>Ga,Z
+\fX-jm7O?+2uj??#Hf0fPFSK3?8kA8UM=IbHeOsLCni#_)3P1=5Xk4J@TQWFI._3h
+KFY$CQ%uGOjY9ak@ui&FA=Y`i=F5/NQYW6CX$dcSP[^QNJ>k9Sph5Rd\h^4>T&+qH
+k14Gt]ga89$pLP`U')t^@n?/S**Y@4Mu,B:PX/6($s>1"Ce2AU4Y*eoB.TTmg&((.
+Bl*U/6U8NiF4Hk0ZL"t52HM[K2qhpSSdaH@"7kEdR&V?*D0<E.Q?c><ESl/KRY4VR
+,dNQT9'ga%:]$$h4)<Y9>l9N6rsujX,XR(=9Gf*L66cZ]rc4tkh\f^Ml:g;[N/mD.
+q`%2#Nh3^#^IK$]M&U[J)Ana,m0=Ek%,3BnNb)@W%dqCha8sY.)gk)$Z'C)JZL-9^
+#XE0NMF@Fk[)k_%A9*Ms2tOPE>]-2s$J;g;`SVkrnM1hfX=]Bp#1&B=6?"-ep^r,F
+//5/*:Mbb^L>`R_AeQR[,JlSrd>)MD)epa2*AG*@drT3"+`Y8omRP2fc+*3I5mm*k
+W5E+8!P4mWc$2"5]1+[dC$`MMiN,]3^ti<BN4'r''%kR[M&/a^!EC`g[a>SZ(Yn!r
+P0>0r5cA2(onFqF8\'eL+sr.!m`**MNL/P<,[!Nk%_fTp_hqO-:$^WiLKE,[gnWOE
+_q;5hQ/GKpG^Y)]]!)H\JK-1O>bEVqcih5djk<HAI$tL(A'sH'a:/Mj&..ee`cfSZ
+D.Ch`F>D.7^dqQd"KIdN"99-NJ2</loJ`Tp-?XTBBM'!enq(2;%]7GR+qJ8P-P6R`
+V9<EgIa#TWn\1/dd]FQSfuB/"^?=#tAI[5MbrT+6)5o>DLQ8sO4I_-1*,*7r*#Z-2
+FD-LS'ZXp2Yq.5Kbbg2@'Vh+_F'M?bjK5$;aZ0XmA=1lQRH\KB8>p>:**G:?,RY0W
+3>6^e;\(b:.2E!9VNqaKmt>Iai.slTX^fgfGA3MOnb/l>AN!l-/E?(lJmUQ(V").M
+WlSJ_d>0T`[EWMu%NJsnb=+Nm_7]8k=j382@sW#5KZHn,Gc&1-**![qiB%.$VXtEs
+4RpXuD&T`"*7)S57?fQ(<(0<_o6g[^_E-#6osAWM!+>AH!&=+aFQ0^C6FGTs3^c:l
+8>h"GqM*C&*\n)bUe="&<#Gru."cTQ2j7\]rI7M4eTYLg3DdRM?i#,URqglOeJdmi
+p_X;Up\X*ucW"kYWlNtHTFDe%1"'2Bo@,<fff,T8::3Ae3K_4MNRM/_Z&ijhh$BKm
+")b;VOFe@'Z>cu5`LY^_.e(6=i48Sm+QMdb$&tu_T*V]*B_i413$Jr2!eXGOlHHu[
+#*X_;J")jljaq4'a/qPpjlRE;4kffoQHEY`6hX#=*i..^=p9Q9iY?8D<Z&nk?n)4i
+Z+O_:<E(4seJtrRg?q&fF#q7]P(H%:Ij83EPX$G7<(q%2H[*[n]H)jlHo[V2E$Jos
+[1%0Gc_:%jX!U"CkVu:cO?0ktE8'_VT;E2pMNK@5:.2-"51b6kM?Od`SlS([iMsE"
+-LT%eYi'.I!/*StpH/*3:p&kV>u-(prMZNW<ft^A<Q1XK#:k[UebAaAiDNkdG(I^.
+08KXA&lGq_I^_OQ%3&H\?t*O0LHI#+2F]V'cs:i_cXQsFOcI?"aW)uEP*PYb(n08g
+e@%7MmS,=D#"=;8&SH"bPKb)0bj#C$@D8s`flGQ8Z,tCjF7GABmKJ%V.Pi,r$ar[,
+o/L'3Y&uF_OFV#TA#t:DUbg'&+2HkWPoa/u#=&O+!!Uj?](uJRjQ]J&l*&/e(eaEj
+k*#OhU!M-]M:FcC%:\H2DrR<^.%PkFeY7"9%'WVA(l2G]e8e"c^;/a$EF:LVnn_O)
+C7,KeIPbnYre$lW>Yaspo$ln1D`f9Dm$abEo#sungAD6rV/.3O\uoe.#$WT4L/eb-
+WE+oZ=:u_&=(`&u35-mFBiH2iZ#:?\$Z4!>':g(p2S,]<BMR5pN7fF+UeFEZ$-/RN
+qK1@CftspqCKNS%E[q&,R:R(k/J\ZCFi2lb;"Fd`o./\%`s"QM3?8VA5&i\tCR+'C
+RhU/)=QI4i?A4?#:h*q0Q'P'1+ur).38QYkU2"r",5Bqk]Bg@0_o0U^'<I-Di%bmt
+EZN)"25Pn09r`A'#O/E2jcm5Tg*nKD9*$.C?MdFMXc@HJ3/-ja!+P-7^E3.U+B?E^
+<acDQ)oGc6RK1;OWpSuH5!]RK$qt#%08[%ME>Xmn)c-_Y_qjV79VX%YngoL8J/>K&
+c@@=Pb1FmQ)'/8K+5`/t#ZNLQ%.2[9n`hU#9QJF3E#;hrkh8+hQA7(7T,&e`4=s:t
+]hg.Y!qU3/n0DGe"ddmrC8?(3I-I(/_-ehuU=R(ti'dV/:1$YLl5u;W(\kmj"3!?/
+-qKWoG]9XRk4)NV*Ak<R&$7PZ!Sa>D=;E9:8"mHCc,/80UeQ[ao3:f9-s5i*.rc"u
+C+3U%H"22"`HZ(\m[7['+nMrJj&BLLUoF'4h+TW(2SF#(Zg24[?o,i:o&6*-iI0t7
+j](UUT<ts4kIo8_DWG9)8=nlk">]N1qM^Jf6ToT!&HosIebH"P9nl'B@L=:*4;S84
+p&_\.WsuN2,Y2_9B%6fWb_fb\ZPtamJebbI[bVO[qB&+"%U;%&)T;GRZ9bKuD8kD,
+QsYBg2GNK`A&`%f*us+eQAYd-emXh:Y4d/0(#iYjb;d`]c4i1A77aLUiW&2GP2lgU
++F)4*I)s,::_jS_%s#ibYt7WW`J(NHjk"-Q(26mR5RFjJe&r3d;6J+F!0K:cAR[sS
+e%-Q;Nh#4cdTS:/]27ReUP115p_hrV;/TJ%c*KE![>MD%b+-ZjPa7lueRLnfSDn#;
+",`.8HjU5!D"MAEa7kQ>mX7@HLr*e83ljIu%^2HV]Pk^!"XG,O0riiC#Hg(ePd$CQ
+;?\T+]OhOU@9QODk!Q3jI\AO-6pD\n<"kgFC=V[T(=L@_6N+X#j=hK:r)NoN1KMc:
+)I,%RgYgX\>iJ4"HQKCRAHh.B:3/5JoIneJ9t2Q:RcGn!LetM\L)*1?&Os4G^,Q34
+-L4I`>rqPC6DQ[$WYCnA8Ng]5dcE1eq/@Qa&iQtuWej)c[7V&m-LD!0e6;R6Nk6B;
+m"#p0E]T2HF(c,lQ(CEU:oSM\S5GT:b[+.X<Bil+hVY-oR+5Oa`dm77<:UiL;En]'
+ZAM#6>iO.]>Ot+8H7Djhi.^89#umaq)0-6$0>6AF`YEi.5e`4T)%':@?-L1s68(Rg
+Qp3et;c5Sd!kQ6D"8a;<\%.E5ERVO\caSCJS;oW~>
+endstream
+endobj
+51 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+53 0 obj
+<<
+/Length 3337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<9lK)N'#"0Dpbk#ap5#Li8r"Cl+'<')//FUZA-(!teD9J/NRa179(mLZrK8]I
+`DW`WB9OHOMe'*fWp8-85Ab;PCud1[h&L<q8&fH\oC%>/--^p2q3^[+c1r]s4l1S^
+gK/QFeE6L;GB7sJ+13#fE?+C*het9A4XNb;bj!AZDXP6,jj3W^(WBlurpemXmItPn
+pA9Kddp'i%?-M)eZ$6,`p=aDf@Y5l6Vnc^$h3UhB:DA'eR=2ZIoWu8]i48Z,GN]8/
+=l'*joCj+>;9J[^BD(uI9@^[jGYkudIh:15f4nk*BC:eR46%XI8`@ueX!.>picanr
+l^h?tn$_s$DZ.3$NM"&tqq??XNJ`&.=dI=('<bPFg4pDlH0eqh+(U3qPP`nlP?F?k
+MYZ/qc.sU)S#:>Gaf,Lg1J&g@[Mu"bpe?(Qf5<a3!Q5<egtiu$r9F8Fg<l<Q!ha:X
+<-X!;pIK:59FC7\EA_mks-GduZ,\,mcH;j$V*sXa*:PNkGNXBF.CH4k,qN&CZ][?p
+!Xo*^;\e)gg@1#rLcLtO-5L&CRU+H#`bZVeSe]kKJ/RiupY"=uK"JDp?OSJa],U(=
+`O/!ke'Mk-e&5*;GGa(P$4ji$j!bgdDOP?/>^rs.M-Suhp?CB#G*"P-rHStVOi;$^
+nV@bLWhg5=168KrCAokahZQRd\""acL@;`oI!aWXWZ'D\X^97Ha._cop)IS=TN#Rq
+_3(9"Js>G&&)VY`8_"@-fQh4*Go=BG/\R+7*B?n!NAUF+lZ7!K[t+#pG]9T#UfI;[
+)$Ii]emB"c.E^G80mR.BK(kQ/X$EbaZ#8jS]g!K],<J6_=<MVcd<M\H;4c]XS$nbt
+D*k01]Y8JHj$aC1B1cWlS@3>_LJpe4E/2?!Mejk2HrJKo/*Ng]!Re$*,mq`7N(.iJ
+iCm9G`dk2-_o[Yj$#1&:oSM(22&rO#Bj%n,Z8CVl]oGPGD3N/@G8_^saY%smPla1Y
+;q!:<hL:(;%/t64!jRDQR+k^-Z(LZ&4)(%)P3'Nr+>q:Y+q'G)78[Z'S_--7W2RGr
+d:f*f.n22Zc-<LeU_>K!e'1Hu(L!D'dXJD_1pW`H!XsaH7'X7:a[mdN>gm2jF*3jY
+0g.Vr(scY)5J)G$;2"jaO&1H[%UoUr=;FM/%H,!'n,i%)h-$/C!S1/1GBaEn5GQ//
+)l!9L.W'V8Nt4H:^fdsl3'e\[W=!Lm@E3BTXuh.;8IlaH,Fs&_p!QPu6:L+p62K+C
+Nk*2hb,G^`$3ed1D/e_^icFC^iRh,`m7S+O8%n4l&.KM8j7Jh+O%r?D(D^L'Y(>^p
+3#$\c?98fHmG9$t'&-:HhU=H1n-4mc;C%6DeY+kILh?`K]Ot%oO<#SIeH"+:$HtG*
+[AM3gbZ_n:6`GpPUspceUCPi(N$q9uD'CJC6R`EkQ[YmfYo@fXU-?XFn<F$ZL@H\!
+GV<6>H]SBCaC7ukB)_>Xn]'G>=Rlep16-4aJ/<*n:]h27$8q]#i"7`!4l)+V82lMV
+h^V##)Me@18n(oSTS[62i4HLq)&cL2LWt@Y(FmhT]1+BHOJ*-eltBHcL&GO#@#JX*
+UtFjb86VNN^h6n/!K[ZR#28(0_4Uh`bc"btH$n>rDB:L9HJcJb`]u1^$miT!4K^W@
+'Pp89W7_aa&H:9GIebr%IW=LKa[q<=TNrlE>)!*p#F6J<,\(];K46/7NCrO]M2k^2
+cnlTqUMA=Uq0=512'NIDmS$.H-T%DW%%B=/qXsW+2q7f9Q5uB(7':@gp](()&,]J;
+qp'')=Wm-6NQWuHK8OeVY.h`Ro)d$e8'71^X^B>'#p-]fcghoOY8k5`%!o5,5\*;L
+cj[:\@9VY^+?njh@]-DRAdX0;=\9O^';\rNQsnkJF&Vg86sV\:(DW>R0ko$ejJ3=E
+J?X>?iI8/P;mI;<F1L"1O;MT"B8Q6F]B!4$.8f8pAF^l6S7,!7f>Hha\nb<lip)IN
+bG_2f)WX9.Ganp0p^-e!(;:dCDGY[0DFHhF[Xn\:-(P'%9Hf5u=']$!8PH@ebjP=F
+(l&I\[$_,V1k*\3/VVTl,d?-*$NU-=;lh4KjAOdA<I1IPq64gnV.>G`]BMaVa*aP4
+i7le;2c)B41(feCn4qPr268(JH)ts[jc[R/k9ipdn;?e%nE<\oWJ_X/'JU%SQ_B'c
+>Fj!(@?-7p4k=io`4C3;IP=6n(<-05B']bdmnI7&%JF\o`4[ApOX4(8KlJC9TiIk2
+O<%K84s?#lpTr3g][A/Z=kE[R+K9W)CW2nTeO))+8^N@1ahr*Z6V`H%>pq!PNt.r"
+Dm!85#leIud2['g6W,$pVDqlQHe[EK@SO`c,*$=uJ`@=e"SZMVom3W^J4>Zb(S#Hb
+Y0q'Y!]\`m$Pe2B;AC;^&e3_ah)kJ,ZX\['&*/VccAYd+b+V0=Ier2sE1G.PAl>(`
+Mm6[R518Xb27A5ap%GL+8!elt7Mmo/l>_`qHWG(DF0tnBC-ZAq0HiQ#3#%hI#$(%c
+e[A?CdQ_]Ah2d:(K,516CgQm$6^u#f1R!scn81!7"D-QI#d^K&%NN9;6cKI)d!!-6
+p3ur"3MEtQ<'^[7U]PbULJ6&,Y,XX7jt#OS;aR-qKD\LLB%h\ZdFf:nH97*/BS$Z\
+X*T;"`]4,**rCX')8CbiNO,<m3X1LUBJQ#RrD7i?P?[5kKo?\ZTR&Xc&-1ducS$1t
+bBSj&14c0EPNDo9efa4737bCJnl/'\T#g3ucO)/*0]7W7X2-<f/Fjjri5np-4dFOV
+cqVOoO=8MJ>mj,56@+Cn$nI1QIPU2$#c,iri!1EW863tt\/oU]g)j=&l%>ZPb,0H@
+L!hTMeO%e<Lkj[_iKcLLKUrkBf'q@kO$hI0pWAT^0c<BR(I!QNZH;N!Ob22_mM./q
+P8SD'R(;G9]r2Iu$ek^b)2'5-B/LZ/Y`n7hV&dcP\''15,$f2QV[S4!-pWU_]B8uc
+0-*"MHN@6%+TX+q;I6qHC4!s^p]j'5aM3PN92f.*jZRmg9u.?CWYRj'AKJS)0=..W
+IR1n`Al!7''Du?BA0SQXV%<B=2\?1E&cHIA"1)2"*GJ*2Y?6WgAN-sj<Uh(lA5lFS
+%d^KMg5^f+hA4bqf"CCYha>\%.o0LD?8_nq@Vh>=jV>n!(<Ns>"c)-M=D20YY>GSc
+7i1;m"H>`'nS%-q%mB(R9PeH,/i)s1O03&'<1lXecW-E@8]*YQ9(hAH)/Jt0$aM`e
+c]SkGkJtg9Q!&9)GHE:+=I3*Ks"'"a\h'50Ga]D<1bJ%]DAjsml\W.t3jmaa`Y^7O
+Y3Y'?d(-I1G9l4ogmUjIkHCAErs\stl*8>~>
+endstream
+endobj
+54 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+58 0 obj
+<<
+/Length 5435
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR49lo>Q'#"0Dpbl$8jWOVQ*g3Ns-G-[4a<dk/_;58__%LB,P!r:"H@PkpBV:1d
+.63ln;DLg#qW%87fAF"I?an]5Hec=u7*gfV7dAljq3@rZU>e2mO5'7noQYWUqY*5,
+j'bd!\(/C]0Ks^B0Zs(^a$VEMZ0h:@eZ4#qU`XT=gIGO2fI)B$1*#'7lWQO-'Tots
+n`QVp'(\kd]eoUe^D&\XNhV?S9kX>""`#QJPVo.1Ts\;[qm"rF\MK^2hkE95+0(Om
+ODOXiOc6-C,@@n`Uhuma1)6s@^HK`UUkGY"n,1q:WQ)Md"qt*)!]ZN@h-EdPc"6=g
+N(<JiV;+6ooOW4Lj0<NM)#Hr`?@)DUNnJ`uZ*5>"boln'_"6c:)Wf\:S:5+R-k^r^
+]itC'qQMGDqOBL^AVUIY;,B?oEN$h"HZY@I[da!COn_tQ:e,b%6edDZ9<_g;4Lad"
+0g'Zjrl"S2`:h<b8[^MVZBE+O,FH&=7Ca"mro!p+?N4g<cfsk^&QkW9Ius9&P:5rW
+@_NaO$mN9JT#.=Zjth(]O"E*),*I<Whmk>$a8TWsS#M%\De3L#'?;^E8!ek2XS_[F
+kPBE"k+4I_r*&Jf9KG0Q+X4#.bN`8laoXNde0s0mDA$-EnTX$l<oM_mGLgXnSN!e^
+m]Wq:;^S>fc\?Ur'eK$Xo:g;;^JK(7`qW@hLQaV0`Y'%J:$0^J[!NZ)3q>''Jj!Yh
+j/n<R\feX90s8pd0iIt(H0ecsL0BcGF\fs"a.]51iYP7/O(>IA0kB4W1,,"<Sa(F;
+:r*rp&E0s7Z[Gb1H]$<(,0V'6`E@qc#Rk/onO1]nQds,o%E/b2=$BNj;?Nr0S50)k
++M]30'kTW>DGgdlJ`[W;3<UV)lt]VC>@<A77W9^K#O98t`*?!_QsaOmQ&ViH3G<>Q
+m3L6,!3ckZp!or?jf_&[d':Rj*"jIiOTm0n6!(Z<,l6-92qcBO1(>1TDoSD9png8H
+@5=!i?'d;h8A_$@Zn_%5NZO1TALron]2hLYi(AIuas]Be]ArI?jYLSmYuem)pbXV1
++Q6?,P\)cC-mm_M[='\5,RNRj4r^DRhdgV,YfOE>H>9j+`uBHm^rI>+&?f!Q$h2=I
+::b+nhh8t@23>FuJDO'Ual[Lb4RZt634A<q/N`pFhG[0A:db`s^6kLtKA2Lf:j%U;
+)&n^##2F"5_!POZ\_mc;A7m;>4@>dDin1Grf,I1P]=<&-#8^SH7A;]_.)[m8:Z`37
+P#%_5@;F)_!pRXieaMJpk?1E\@sKnl3[(WSg[mH:$khjL;<A^e\W(+Xa"[fT&NiF]
+.FkqZXtJeefA9-p5h-`Q>o3H"aC[nLY;G:l98`X(-M0=7?hc$Od\G2Xa8&t"AC-5!
+=5aa@5,6kAU0FK)h;MS)R<J=W-IX^6MlA@9;I0-mIL"HG@fd6fqG?(GAi?VKCqX]L
+BZM>\`GX7"%19.gdWFc^[aEYK*ECiNZI6_!h5;!Z#^$koD_Fm!4uT$HWTg5o*d55E
+YM77Y]]bC;@-9=Is4F.F9rB8Q7-MRA"7e\<\N@n\B=UL&Ho3h1323Bl#:l>_b+bX*
+*)6g.0l7"Hbp*84'P>T[$b_7*4pZT\jth[`Olbg15uU'O/VprjZ'i.S0\kf'fIn5@
+IP[Vk6@JRLY>=Ys0/HYds2$c/9T2PmEWOZZ$e[bI[D?H1+_;7b,i"pI:YZ$3P.2;`
+]t96P]jm_Z3KYT%hD4&c?<(<d:tuGqKssb*_pkqYC\oe[UBse(moa&*!>Ke<([!k3
+7cr<cnn8XJghX_alorR3m"pR(AG9^U>ABc66\Y;NRbm@5X6'k!iWV(ncX)0ae,,aU
+]TlO$Bc>J_+,BQDXjr@P91M2+)-X:R%BjRA$#h:*,]LFf&H-*1M(_sV8X'*WIf/hE
+da^o_Mh4]8XT0lB]rnI65RaNPRj<d']l^-?_+KtQHbJc@AL3*\'XW7fLXAg&X0E@K
+X,3li^Nu9kGg<=OPRP)@F9Q^s)p@&/;Z-l7E#E?5`Dfcu2<A#&8'o:eT/EYN$D0V`
+H+8VW(i9p=J35,`Ys$Y\Q5Esg@RlU!BK_G*J/DRY+(fjN7ikPA8p`U9<[2IVe59@i
+3DgnQPkg'+PCeaf*YM3FTLikY(&ElL`.]%V)c\Oa/)M$c0ogS(9"6sG-LnEh"-%;L
+@i=@['!aT+:1I"Z-04',$.8YCjMg/f;Xo2%f"_SXlS8-BUq^,&!AjW8gRctE,,qIj
+J.lrV7N=^$e]kh28rpTf8#^g:7i@%gb#<_kRrXsOBAeu@1U=XXKIG[:m"*N-?&[?r
+jok;-VmjB'PEpurVEtZ2(RcYj6N(U[ctd([8[/W.aprIaI&6B>LCqc\bcdO;p8MAN
+Q++0KOs'R"?+j3+n1!q^XWR_>OlSpoI9S8m_@1O)JiTHdif3?AQ@BOe:60bPR#/L=
+ZSL!n5Y?DNN/5fjid7DLs)LWOq%&)p>V6GAV#K"uoU8Sd]!QW>Qpgp?/?-^I439Wo
+q>5)[RM[B.mKq]33##/D."1*E5lN$^\rij*PY5&=]iXY6F:@XB42LF2rS+J`/#efc
+F=P$c$saFUM+kRXO<[:F7]9Bi69e2dY2F-&"BSATRM<@cN!;B"@H^C>94NRKd0`nu
+-4#cn">Za-;jY/%2t?j0"MumS$:qiH3(6+<;,2./<>V)j-"9CW0B3&HAbSZ.eTNh"
+EZ4')8HmGI<mRuN>oo+ToUhPtJ[Qf1[?S`L=2-^C*F[;pFfIN5J]8[>_mI#t6-LeB
+=1rK:Q^5FT<+GUl:%kllCmGCkdDMC!aRW,KL%(/5//.&iNWjQ!(^7Po;_\/ACDe^e
+qjW<oF++o*O([FY=LF+sDG'%hCU-3(U#]*oS5aCbqDunG[qOj0<AD4Og,)($P",Ci
+Z&P4DjfWbEDq-%Hesdc(d$%&4LuKQ78U*@$4:W[4TXEg?Tb=;@lNlVV%sW6=_Gp"a
+RgM`&bcm/S1Yp9G^JtRSP!sSqR<k-MC(?T5CO:pZOkqW9b3uc'#;jA?_AjnY/;A!I
+*rY-Dc=Af2*#g"t-Zc$UmNo8HoN@tX76UI!el7RT-3lfdD<!gmenUsFbu(#aH^rG*
++:T'i-mO`ra%'601OL4p]UM("AO&R[&6$j<_d0J#b$Zu7Un&K0;N5d_Fmi)JB&?`H
+C"4KV7M:jAVh9mo9a?A:P7((G&U"u(])%gr2.BLDjp\rA?W?XHc)^o$W[[V05Uj7X
+_WF7Ufs6nACG4R;V4u4C2iSuGV@^Zc<6d=&6MT/G$gZcsAT)n%OOGcC,cBFS;];Nr
+-pHSnZ'*h,]cCHJ@p/0c?e<V#MF<Fr=,O-5D%RbL.VGoag2j0FM]&(*2IWs65Tm@?
+g&8KVCkEm;F`.:)805Zl@gOa]>RSs$NM3)N:h2Nep]Rmi,CKg:??W6pcIpmt:W8mJ
+S_m-LoTJ>n`Gc?e`aj:uIY!jd\3%ac/sp9s'][mJk/\qt\;n6j/b?F?-Q_dN(T#?i
+"QC62$!H$=pI4>RO5Nu4#^b:&:r\d<(egKZM!D>5D3(Z6r&g\'V,uZu%W_<?+W+)d
+'QF?#;6mPFE%6q<o1:""%Q"Cthh%fY+EEgg9=&PhELSu0R<JWlM`JTVNE[tbMWo!<
+^8U!RN/iaAV2Tt)ilU7@%A,r[0UZ>;D0rcb"8jG3S&2g`F,*9s\@;KJ]Lm>da+<H&
+IO#5](a?A;^^STA7Y!ZJ(WE*nF_`^".2gI`%n0M6=gHhRS)T5J=nV&3[*I+X!A^N\
+!D!r^$l`?11CT0MbBdSS.&*qd^MJ*,`iMe'2==ZXpuDeEc=O<s4<r%L#?)E9d<-(&
+^)I-&a$8EG_*h0J<sLHiB-9VXT1<.oFp&kub3s2e&M0KVe49h5WjU99pp+46B:2*0
+@QTE"X5^b!)@DFE=0d\M`i9Lk$M@)%ecQE$N*(A.VR`^BH%j?k78=*fl*oiigaLnE
+#?%E_0@i^(Z)KY^`'kWbL3f6PY.&h:@i:s;I2\G.@^:31_/<pUVjlF^VslbXmGq-g
+-/d0[SLiF%0A920]e[sh0V6S&\Oi!I^dL"T(Z9f*<O%Yc=H00KNo"IJ>8_ihO1`_/
+am)!fIf*#gH(-1X2QbsI=*:'G*A`WtF-;MI2P+)AI6*@O_S`P>E"nLu8q4?BJkCY1
+,WA=rF>1&Bkf!4Mh)lFr[,4=il?RN@eb$uT:,USUemHEb+[6l6^</76kr##C/Y4/b
++;SOVb;DaENY]\9(5t\u^kdEm(+g8p.YEZ"Brnm9([NOi<^&R+h(=H9LE"3#=AcZN
+$5RL#qZjPO(MsWliFP*ZGcN2NAW$2_>_EhH7?_^N.bBFY&c1:]/Nul<-l'tt[#mjE
+4ag[`-h;7D[@X@W%kGYM;f(]K;AuBgW)(TUKL#j;d'SJI4:i,UL%a,*E4(:moCDP4
+e1G-M<HS]:H*5jm#6_NRK4Vua<0;.nCj_(`jX6!]]./e*:1I)"R^hh=^.'<OHUOD%
+!be[AET!$a?l/6R1Oa5Q()%iO>FbZCMkX?uU)%Ui_(>o7igdOG-pY0`>Li,Gne*W8
+JD)R1Rtq((:(H,Wh2Qu0$'$3?D[Bc++=u*9a\B\/%s=pI&clSU=74.\+=.7\rIG&8
+`L0jo<H,6Qk)GB^H$mg@fEMTPqoVLr>Z+79CrEfH=',)p1XS[/hlF=G2=3"%5GC8K
+f^kR'pb)7bVePLATH2N1Vk^io7(;!\)/59tV1>r;]_]Ie?<:FP"el#ipT+,Yl[q'A
+l]5IGf6+!7BQXt>U]:rYbfI#iCCKQjWr'r-3;8m.htK1pm@'/(bp/6CIK^Ym14q>l
+JSH6s4"8i\r,u`Qb]`JGZJj(TEg!?lKX>f">!)`sUOOu5?OUFpc,Xc7;eS"mJ6gX"
+dJ_j"KQFEcK_I&bKP4J_;#B5@SM@mZ>npK4UI^gN[Mldi7^fV>Zfu#E=Z6QtKn-iZ
+cdl\poFA4es$tm#BaVSJg].1LX%@@'OkXb=O;i-Y+EKj"m2K3h0R-Lj,O1^s4h2`[
+nsC$TkK\c4":o2,91a3pmDO<T,5TNr\=WD(]lggZ:<Qop)U/(?I2S&h>^QlJ3KIub
+b,0c6^<TQ#`,*o1Z'J6(;/ZtaR^7kT*c5d;7aO*SUAP\Sdl\!c,qGLpa,VooJ4pXh
+q0sU,Qhrsc%2Kdp\R0-','8<9;75Gsr'CjHgo[7aB[hO7!m*?qcJE/$iim8Z/Yd*i
+;"`*mbe_q;N?&KH!J8+5dQ@m%lVqWZ?Ce&k\SN+3RkKPG*85\.:2S$[?&3<`mF%/a
+Mee-P5Y3E?]sD`K6;o;7>,/DHs3,0C`UXkY8l!`XUG^4d$_Ys`+MuGOS)G-F(PCnj
+3beI/s"k5:'#^=&FSjW42FU"ZHN2YXGOHn1cG..+iW_b(kQT&(V/`#[4CMHV(=3,N
+#2L!EOoG=WfDbpQkgsd0~>
+endstream
+endobj
+59 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+61 0 obj
+<<
+/Length 3208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Xu\95ik3&\e-Dp_FaO4R?rLNsQFE'-PA)KtZ,!:fLZYJg)4uZ?GrnVn9"1=[c40
+:QR,>0LLuYore/*qU=m#b:^CCpUf%hkXikmaSa`&Vp,'uMPj#%n'6.)rUK=!?[i^_
+a2'n,Wk6MqHogo]p"5ULVha(]GH%rNGCR?]]U3Vup6AV>H5$\crk6n7iT7n)g#e.k
+,_UOpMB[$fN6GTaWL6;,5\cE,-rnrU+Ec&+4'2HZk>L,_-WoKY^[8]s&J_jA2&B2V
+%EM-$<B4aICKZX&&16CI79HD@;>9cP0#Y>$e6P$T6l%73N,ju*XLb9M,*P]K?Y!B4
+oceo9Fl-:V^?c3*PW8GT^=t;-(B29qE5,C>22in!/n'o\EfESA>abH(5B#i\@B637
+\ga-2iEs43gN7KcTjC/;(59QJ[$>+Mj`&$5F1p<j0bIQ/qf2sJm625/e2a&0)T6q>
+b<6Pm<+o##l9())@KC.^(<Ag?!FJ>V/a2H!Cu*ji2jSK4\"<gik!W$Zc)!WSa.0[Y
+85MtXUn'qYQ'i<"Nh0PO[jn\OY]9D/!O5iTi-dWFL[e=SGTQG@&"Q<kF8h9#8cQ6;
+=2STfq>allTEX$Fr8dDj4I,%1p8;6#b9We?Ibq_*,4:3u%BCCQp;:FH7Vt'3<`c.P
+kO2GhXD!X:5soK*d8Z40&"Q[n"fIY/ebO##@k4mY=QUc+1I%'SVHkqr?,TgdjI:2m
+MBs1r4g3LmG@:RLT'$FS*<eO>\$DB!mOra&0bNC.=PEcQPaAAF]t&EjgNkh:jgXY5
+1,l[7a_WG"1O0pK9c]g405WSt>oUM#U"0^g>c&EiX@H3&i7V*O3P`d(jKW0XAh?8S
+frH.UUro7Pk/%%9_28okp,=?J5tTXQIs5Y*W]RsQHIVNdLA<YrV%C6qP#RjM&1H/K
+K5QJqnJ^K`-345W%8?X4+8o#G`X.d6ft>,3ai6`QQA',a/$l/*9f^end&<,9k49o:
+o*-!ih,)R8Ql@Y\jU9r<OrFPWQ(b-qGgsF=]iD<\9A'.hKA`D]=TGVtiTS1_P[OIG
+\S35H0N:Zr!CdOan).@9M_^JqbfEU(c02X%YUdPf;u)1=h2&EF<6Pf=T\7?36$$5f
+a)cYg1n)X.q`X**LFaR-kZB,CMs+l2(l)n'1?8puj@lpK,ZJffa%P=dP"uPK_^)eg
+S7C!"*#V:@I=Rh9(4`FNHTd$E["l4U6;n[4981^U_XE1JJo-Ga=[pCn':^]EW.`"#
+\0bcV6gBM%c;;d)K$T:Y2kE#M.[257Pa#K<"4E$B1"10/#n%K.'f%o^/KCE=C6^;u
+2.S)4QdJkP1F>"b.KEh_qZQ00j'kX\^_rA%p&!mW)Koq++AT#G^p^4h4ZNq$f[k:i
+PPOH(/&sFEgJ:%dDb);oZksF!d@N"'b`]/i>o)sc?K^+BHl5f:K!'!B$X*f(':XW@
+5p+I74jJr:Y(ojckNN>-pZRI&*=mDUKqG]']%,BqB5O=2Rr;tO1FhRYXsD$NG2',U
+H>n;2O0*SD<JobOL/(m<U\L46LCH+L:3G]4J#rs"4r.tWeZQ$3N1lZu31Z+L<K>do
+A#q.r=_n4hKdI/mb2Er$X]P[T&ZVT!03%jH^Wf<C4dqJt"P#L?<(O0+4#+/!b&j*1
+V`c0^@kIl($`HrFAh7G-,tJHCX.Sq(D?`I1%FPr-HSHTc4(4h)biKEj3OFs]qXWR%
+bVYOip)D\OQ:oOjnqm!d9faLd9SH@nHmF$>QF8kgQoF;o3j9aN72.B6A8+8#ro)L+
+ag9'Y]6F3&MsV[4'o(XN2k\[AjO(lJUqtE4$iF)BYSTM4#"nmR?r4rt(b1s=OI+(r
+ZNX*3$_DoGLrR*I-Do#NaL#RAF=P*XLba;)A!EcWH_^HN#1=4#iNah7]jYp!OF5#"
+]:\nUdZQU.4DbuR1MeE7krJR3Z:ch.Hs";mOU_o>>l&(@J0;E#W\I]\n4F'')6YO^
+FF^'NdqG"0$oO(:e\uLB(5=mqp*6LPEVaZ]>0bf3Uo*aW,73EGbbdh:-lO\oeth#%
+l@NHN>%*p0q$c;>TiNN3<QrP:>d`\"6i[o*@9i*(Gn/VQGL?cpe)"h2$%VLHoHT$T
+(8:Ans"JEiOMFc3>X"Ek1H2U)P=J"%p1@<E6Qj_+pjQU"]$]&a[6b@LE_%GHH>+n=
+W&hd-h2#.NT\RaDB<&Yg':u&0[tHFql)5p4(\h4<_hp8"f!\`2i`+c,qc79*!;pIK
+(_>GecWG+r^]]#)+9CZ_0`t26:`>OZ5&^F6`XAOKN^VOY4J6_Y]<ZH,ZT,dJVhrZY
+*F9t$K9Qhf5Be4qA(_)rjQ.k$G%IHgaq%sm#FWL0n9`/_A4eWnfuk=l8gHXleh"m?
+2?jpuP:4$t!E93Q?B'*C]ps3lMc*t!_5<J(+B]Bo>%alLYJk?0,PWaB=OctAYH+fj
+^mJaT\cV_.ftNdoRr_c#Ls8MW/GRbklE)d6kbs"(gMO2^!Z3tG='[0D&(L!Y?enZp
+.ioFt<=pal0)Zm0^Fok"dhqk_$L/_`P=gP3aJCZJ2"fVmIo-E([Er%+IF[Q=V(<,4
+AT*=5<Tn'Wl2pq3MRtgjABipm'd'EYbB!o:r]cFFIouD1fc-Z_S*nqT*%oQ&hc;dj
+1SjJ.]SJZp\t.g-O>?c=I6%<kh.RqEClaRZiFFO>CPj>$p7uOl5so5ln#At\D@Cq2
+!k-`&7I6ERa4fW0-bMfm0H^S5o`.<jgQ2\Pn+FMJR2b+3pK88h)Yjj/'+l(KUSilb
+KYa!)IM,L*^We-(*ZMg+i1BPQWJ;4-^"*B?7f66kj1Ep.\/>&"EeGk,0p`O)k=mtp
+>qUQl4K)BgAYh?%+g!3>MA^E7J\<"'8Peb:f.811CGKFDMt7gPO$q,n_7D-7'5n^h
+;cZ.87Danr)`K<0H+ZW!1Rb;IF0V"V7+WH=ArBdD"6ndDnuPgp.th\$\eS$G*e1+q
+,,$ir84AKc*TIkcD)#Bb#HPds=!``=n_l?A,ZYSV,iRS%bgf4-Bb'p5C^*8^J9.!2
+n='&Jl<\SkI]K[I86^$5W[:.S)XV<u#KN%1CTlVlUIX[s'3&0K,2gTm[$Q6>99%ne
+r?H(g0RW+pX7ZL,\2f_mCn%7`]Bjl#dAHH]oq$)2lR,giofaa>C%-2,B:7DWXTqS%
+**+GQ&!mj,VsH24ojj<o@<MN[GP@^1!;Q6PSH~>
+endstream
+endobj
+62 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+64 0 obj
+<<
+/Length 3108
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPl969,O'#+6E\8mF3ASMM?]j&$`D0@FVfgBkfF+?ePjpX[n8]m(alPDg]5r;$a
+SkSiTj-l]5T^h",Y?ue4hL+$h\*S:M^BliXhhLE'@%K.H(D`L%henK6iU,Ude),Xe
+[td74Dp+W^_mh_9-W,=1%_XhbMfJ+P\"@Sr,h[iZaHW+[?Z5A(e@Gn`Sk$>>"m_fK
+p"P#%,(fKHnP)jpM-8kt[p:<-FIj1^VY/6O^=QT9H<B7NYW6-(=B:3\26=:2$r`X/
+026N6'Q!TP/V)qJIq=KHrI+Po#AK2j$&&8f/]YG<#Q65(1*9!=[JDJ5,&`85n+Gi2
+7=U,'!kKJul8\P*CS^Xk4A'Z[bS,KL^@.'d'+b&nj0Ph6G]-@>kYGci4hr?f]`BeD
+b>YUIB@'+1oCn2Q\m:^#RqfGQj3stmT+reJ\Sha&GP#pIqW<P(/f;R10h1.Vo_3NU
+3%C^o"]:T)PB4-6iGt@,i8\+P]+5PIipO-(a5Q"VQgI"TU6p1?m*#JM=U4[h#e`5#
+rB/4B!b&a\_\AXnJ<.pgLeR1&jIu_*Qh)=M@tC>uSN/Ou8\"h2lJdQ(*8`\q%q8BU
+H9>I=_:6uS`-cBNrS/DZc,kji,3".3>f(JK2MUUN///3:J7E]Y[Gt*`-7M:U=nFsY
+MM=<eLXGrX@Eunl6kMp8;[?N(<G;1olJdJm4GX6CmH?,bJCZMeDj1L[%iYcj'!D76
+dY,uj&7R.A-B<:3G&Z2-:1\W32=agY0L\Ei]kE0*im4-[3-P:5Ic@&,%qtL6r)IEO
+&!2qc[*DX%V)4\je`NjW$?Dno*6YMLqO-@L^U<$^Km;]NgE\AGo2%ZGC$<\,bOp]S
+%nTr@/%RSc\Oii=!HlEE)$q!qfT#L>2mJ&VA(eX\:EbYn_1qrRNd<.Vm$>d\N5VZ"
+FLhu,SVq##Qp_WVWN)cX$o-HinFOUVDl+5CFp=f%`g3K44n74<a"UP#T52%hc=b)u
++A?%3q[jHV5"i!+AVA>Jk(&Ef/?ZL1H8.X%T!#mXX^bHC@fN7GOMB9ZKaj0%MHH)l
+klmrq+2p@j>n57?o0$!OHWZ-&WQuXHE"YDPEdCLG:=G'BeZDE@.=N*1dA@SK&EbG?
+rN;'M6QOT105OaRb$;Cp?uB-Il&,ICO\u*`&Fed(TYZBiT--6,B>s3@&h@,R1[^->
+#O*dP`De#)?<m"Og&lM8F.G]ebMqU$/6(IXV%I%(F-=>C&##s.'[=:U1DLj54=:d4
+>T;+I!IPblOSl0^)[ERY\5$hd0rBthJHkfL<>F"?a7/d?KZ%"]K]O=U(9ZpZ0sB(b
+=l>P&a]>r%M;^&_CQSQW922lZ2b0rDrP]b/396]DD$B')e'V71Gh'.=F[s21Fo9o4
+(r\[[qTD@W[rJf#9CZ=Q(dNr(s7\V*(k*!]Epb0@%n'#mq4pjufeTMJP^g(diuc%)
+=#`c<1_+\:rMaBXBHnGU(plk0BnLfk<&9ehf.]KT`CS$Fa!7s7e^9dBZ-/M(81A87
+h<ODj;Mj#m^?]XbPNGV_O*=+C<o"!1pf*4GZBY$?M:.&i(rGPN!B2IDoT'#cqH;b"
+k$J'A=X$EDS=!mi"j1^Copnf4V&[u1'(B$':o1ZYL=4:aVB8fjD%Ec!=bB)g%,DP:
+7,]@,:dCoj@N%0TE17LJ9DmrO&Z8&[e8(AcU5d.9H#?uup$gamMfjYR:t8B&EF0jq
+.RTVZ&B:[lK"E(bZDpnlU$@.l.F05G]C+TBJ)E<aWDMhIM9Tkr]'lQ/8rVb\#1i9c
+:B;6)1)a;<)NZ<;"l,nm$jlSg2/'rFE*)HiV6?Us<3$Q$i:o*T#$5-RH@LJV`jjB-
+1\69TQsWX5P\7uldT-eBZej`5\fVi-/,+i1UY)QsDrmJl)@:McArk*1i7Fk88tQJ-
+N5;t9.=lBU13-YDQ*Jj&"9:\m2Y\<!KfQ87X[\5P)])F"VEpfm<7ucTj%;R7/0@%f
+^doiL$.s@3c]mk%+FMeY(!'EQK#fG7lq$?iO+(98=5#733lhO5-BCaqj_K5F_q\O?
+QS^Z\:Y/V&:#DLf*E@:J#lST'PS_[,DK:]8kk80OL\"A_YDk6%Ucq`;0WWW!j;02Y
+lM91@i%6HM)hbSfDfKrsa]S`sjF37_ETp8Gg3q"[H^.8=og&6uV!+@hG]e#BLa65K
+f=BX9!-D%j=trY[9t(dqoo,@!VKpO6RqJ+tSU4&.L+N1<Qeu@XJ*F@\8EN$\3u4\8
+oM])?rH.FbX,\DLNU)Y"KW:(#0[TF`C3"sXKYQD%N1u&eKtHRZ#,TZufYP)`DTj?/
+AJ8"gj6i$`4sN!_dqppq%?*E:Pg6nV*290XKQ(*;ZNo1+?;T<C&Uo-NkRtWZ>t_sD
+/rce\8Ie`WpqG4FjUJWOTHVSLgdf_Nd&Z0rg*`a?L9:[\LY*&4/pU(C5C!QATNcL%
+9;m:XpRFY-]2\M#/:4ph`kcVc&M;'3NeL1&ML.e*G)2(dkVl[bPh:bi1!@;]AJs?5
+El@_&e?l`6d"//+U7bS=YP#-(V<n%b\uq]A.k$grT7LXW<aZEA&^G%;h,ne_I]!Ao
+gMSD&s6kDfQs#f91-[4t>g/N*D87o=L#k,&#id1bE<\d6*0<eG6Ge#W-9)uZ!l3L=
+!FA'r4G:u]1oGjJk4r2+\mf.M5`ql2""6TBc8fR:.k%3&Kc#t:ht<-N]Q2Fj/V<;"
+e^)$f<ret8j'/@LJ(RIUMr&*GQ*5_U%<<fk!u)Kis)BtTSYuNS&bunZ0_dSR,n(HG
+STQKsD!',\_)]UK=Q,%g=VXRH^56M70Co-sSN!g@@rq"#`.2#taEkTOSnq*%@I$\8
+B[*fqeC'(O"<I"6T!-]8H;p6el13^uZ0nMqh,cBI&+Un\Ef6!:1a(\GrRNE4C_,cA
+Ac94Hf._W"7fJL\'sQYH#n.m+d/DO<a!G<IXUDM$>kF:E7\2B`A#tI@)C/B]Vf^iQ
+o\o@@K_bLK?fqS2kQh9`l!Bk&<9[InE2gXUc!3m,7Ip==VeB6VJDcC'&+I%X/fmN$
+;R`ja`PS[2Sj,>K^+H0[?dFqQ87IXG]=$SoTX<Js(9lFd73"Bm]omBKlGr;:^BX`R)bUb~>
+endstream
+endobj
+65 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+67 0 obj
+<<
+/Length 2122
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPlbAu>q']&(*1u;?+0bjb;0AEAKUruf&NLU.u68E&-;#-4<^Ft+q$N_RgB=`mV
+nRMV2\2_"%F7ed5p0j61aaCLcq+F';^A-lj;'Q#;D!BFEl8\Cuqq6a#J!9]B&`_Db
+[b/(4I+st"C6j3IYrY+NmooF'qlooT,:!Y_^@)_DD"VeV31&uPpJlYKJmb!X=fO\K
+#r@W_SH]u"Ka!Xui?E43V['cpOXuCOnSCr+Q%MWpR"Fm)=)',q)?L$eR(,6ZX$[$\
+%<Ma5_^YbDGpFO^]Mhpt",1C$=?X!F4a8dp98gHK_b^itB/;*k0(0:PQr5s#+8@0I
+Qm;Gb%prCfc:AcabF-NLl\+f6;VT)CJW8[(Mg11K*(Kc:r'aB0b_j5__$W$(JICK<
+5FHkI'`!jlMC]1`7VAr+"V+nh-7XQ<*Yq"I%?RkFb%ffrWdS1b;Ao$*[V\'F\MU'i
+_=1FqI@VI@XN$NB?ATh&=!&@;0-:\Tq'1oXZ=_kbn-V?M;qpPp,m6EJ^miYL<6?<g
+.pfIQh6q*A_YI-pSiZOq)<]bn_)L6U[:,Cg&k?%2_)-c$hAsFuT3aAX@WKhHn7LAH
+&5jI8N?]ac>Fr>:*;c1K-NrG;a<*c:`b;6"`-V#T+J3NT8APe;ATrc%Xak!^"A);K
+XOGJOaP"d5hh]\#RmU/],<t'"U;,Oqd5:4mXG-c;pJm]lD2lCW]TVBO"M`LhVq$;F
+=>2L5DFD8Wh5N$-G0l6iI/cj*I*ZfG:nb`R6DMKg1:[c<MED_'[UZ,+OLIX1-7-X2
+L!0aR,![>"4q`+:8QL3CJu8X<77AF37%nHiaVh"1(_!ZU&CO%lPL+b<#b01teI,o\
+]hO;%Bo:nk2X4CR+&fYHFR\/>T7!X`=KM7Cbt3uL[X@X;\.qqW9;9?pB6<E*6mQ?+
+.L<]V`K=up*%sj>8MI/eO:b&*9pBB2$7#+)@H:Y0M"JQ?AsP+p,@NuSE^^Y@06Gu)
+=L!?g3<TWE;\!L`r+m6+P,?qHmk0@qa3U)>Zu:I>1cM(a!6?a+,!bdlR`I=u0ru>P
+qe9Fs5kQ@f+-ETkqhFdb<L1\-nqkL70j](Fh2-SVmS<O_&84S_HslCGRZAFQ]Jtb'
+$m46EJEBf-R&5.UQ[(HZI'CN]o%=[%00(b]BM``_15HMHW^e(>W#kF)0%JhnbJt+9
+LK5Xr9=bOra$P1)Q]bWReC3&FL-Oa&m+WE/<KK:[%`bOc,o"WS0Dm":`tIN;Rb$LW
+h]*J.[N&gY*8,P=`MQP#f:-e#aO['`a`k8I2:?h*0"#@cD:pG@Z$MaTc)!M?^P(F]
+]c5*)n#dO7.:XLKet\@t?-;jYa*GAe:bWOI@iDb8e;F2Jk;r#U)0I_/&J89>91W/'
+?q?l3`^N)b=otP!,*Kq*p0bkGBgkAOFTJt0T)n6R+:[ZC+5!aH"_njJ6(9o/$R&LZ
+_s'Re]P4%cBneCSjdM:$h_2"f*!`IIWcgGRD2aBqACVE>/]Lj,60MgPIb)aaOiZ=A
+$\@&<<9?c!e7h<F[un@V*K%iCCLFAO9$qHYa%\BZZ]B`Dkh3esJhXPBL_qKo.\P#R
+7`H-6>aP%oB[Cq0E_.6YP'u1q$EL&b'U2d5BBYW!WIO,upbkuV=<cjZ-rMc+S[(EL
+:)-a()dt6:Y@lXTmYeY)K3u6fEnTbJpMMT^<hFuW6(5?trme[>1r(3#1`erLFd<M"
+J1W89gG"Sk>p\G$;9kQ-:uVbCdkK'ROSDH6pVf3(/>g9u'\&(&*Qt\2QIduMFN5+$
+R0[m.V<WS&C&+e.C-ogR$#1l#N7Y&(&a%#CB%=\\*f`R1bZj:R@;$%$p#6i1U@oBC
+g0nUApep'0*H+OjpU`^uZqIn&#psdu1N/sc@%@^P?\5g6fGf.4Rtp14@#]FOi%YD=
+(cGEd_S3snRg604Qhq[\&'/(g%&AG_YX_sW'f-qW4Wu[4?6=6`+b5Z^c4GQ>AqfkX
+eEWp4Mu1M(>&_EeY<L_c9eY=Mo$g./L%i,`G,9RPZbDbg;t*G&s)fHsT:DMhEh-Gq
+IcP/8A&nIM)qsLNBYicR^k,[4g9>GQ=;HTe#5p>I5=?kEIj0P*c2?EB;0)$tea1$O
+!&I)5_#~>
+endstream
+endobj
+68 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T6 39 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+70 0 obj
+<<
+/Length 1585
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<9p;>1&A@sBpbk+>GS!1INnN,\._1;'B+M;1D.PH3O?ChdqriYJP0NE'CSk^J
+OC!.GfA11kDH<qM?))O`>\.-(Y;?-@g*`nMZ[/,&lfPLqeu.'aTDtSW8a>L$YY*d&
+p*Pg/rZHD<(X]Z3^C9T/jkH[.GD/kQ[oo"?%G#o0-#ZAu'RST%GNo#<TmU(r26hM"
+nSZqb/ZYp@+L@)i"ae6+`TaJXiSK2["^1OgYA95toAB?K3)C:Z_eAt[-&dtq,J-;W
+=hYl0?=,a@kQ]/d"i('oJCgZAl:mE!b&#`WT*KMqUj8qf9@TBI@m>ngf',uKHt%L3
+O)C#,gl&FcOX^=_Hu&^f+^AR'mOn$6N*Gd&\WQrB(j^Obcn]!FQRF3W^`2P:0sN2_
+oQ"`n<Oak'!HL-Q.3%<3Tr?*C/F_<^U\ZPd+YO3Wl&iBQ_O.oP;Jc@(nYf$`k#.0'
+g6:EO[gZ\/o%md:FV0B/35[)]@UR)o@ACaOHn&oi<`ssNs4g\th&%UrQl(@=OOF*P
+>7N>W/sTLXoZNuj:&pO;.V)G6"7*BR/kc<VGKK;Z#PcK>3]<IJTp2>YZ)8uoeDWu,
++D+c2grlpkCfAOM!mqdljmk*_4hPXJDe<7Vjp3Mqhf]W\0D^l6nd%>,=a1AdNkh*<
+qBop!<IERkl%nq&]#5>0P_p<'?,^%jXQuso:0ME>=*;UHLI4@qK5k4N)/l!1:);,K
+Q72jPpG;PT-PS\&r4p:`X4*dMiOQ<I$!0/Ah4,Jk"%GeP?;2GEVi09"af2f[ZtOjI
+W-#hRTK^crA`67]Wkr5FD0h/YAJW*4Fr,Qg\6LOU</,U(,9KhRMea8<OWp\H0><-0
+r"OfR\SC6"cgk33*'C/cB_<lJ!9L*UEpC99"D1dI:Ya@\PK,HqGs!JM-F9O\\[9aZ
+"[rbT(Y$gX"m&ZhbUl9nf<h"uQc+g#]310f`0KAo5W2n`f_*j9DX;EV6.s.gXl`T8
+T'Upq)9Mml;LNlL)WbT-q"<DYF(<\o.T5s8@_>8rqW1TDJ/f[ni&<<hb24.m?K2iU
+?D0s!(Od55ASmjc&qt2A,c>a4\^&)/N?Qb%,Db5UW`Ln]77_aM>IU(i+PM#u3CH<0
+PMGu'`NIJ;C^C*Qc)PdYGUak',&%ft")Gbo;,R+egd'uk&,OGSY%&0R,&eQGC8]kp
+L7n"a<##Y#@S."]NKHmnHqQ05&N>3,23NYM##PLd*^&uqj[1ioD-j-%^ZA^4\Z:t^
+4!(j[6:bck:OO&9hdd.cQ+l#Y^s_h>(?BZ.pG@MXbLER@p=%a?4#;!c=,B7M4#W?Z
+$7WHLKHp0Lql\.mmVk-fkR2IC9P?GQME6fg].!k<6JhF8V9!O-E"SnFm_tmugumdU
+pNe%IiX6QX1M?8-3_HEN?A=b9B2Mo]p+2%)-o3?nUF9s@\i2g)L%J4\AR%Y!@`Dj?
+rUqa44Ps%]B9URS5TNSCbZ_*CgHpdUka:dU303ZnGd?4ifEF#<XdtQ74N"/C1bP#(
+0YNlLO).FoBmRscn*X3amM66mD4;'?n>cO5"a-9l;Nk^&1e(>NN.,VErso)C?(DN~>
+endstream
+endobj
+71 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+73 0 obj
+<<
+/Length 2356
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR495iiK&AJ$C"R*[B&M#'uU:SES]3QsaTY8i?%o*U<RC6,:Os/5pVFCN3aVbRW
+-;MtV/f#5AH%+X5o]'P'[h1RcB!Yhi1#k3Lrk!nlV>cf\EPcWPVaYWI=PS?#NSPR$
+rHm!EU//i+XQ6nFr3==g*[aOr[-6YM7?kgSO;1o'ks+n2dq)FpWVs0j&*E98-:=P>
+.=Bh)TTj`J=c+U'^ZS&XJhe(`XB?\`9(B1g\W8o+bR9Zh7d]HQ>,V3l1lSI&=-&iC
+(MT"91LQtgFLe",Z>:4[j[.V#_]E[$"H>4']^h=&glF;a<>9n,m:9O(6-/=nA&q5V
+e<&KeiDod-e/2V^)HgrR7p5<7%P4JKM2*Oqo2W[#PdrX9_o@9NGNNI;(;<'lJ-;Y1
+A)6T7d)%4iSZ24kCR\M86bi>Xeik?1CER]aP[tb;NLs'g)!gd5!^`]qo[:++5-EJL
+1?+M;8fLt*dQCt;1WI'ID5.n[9A^B_lRIbbUk/XMa66>IRrf,gXY59LQAEm(*U?"S
+S3"6RQUs!g)JkO(RX-6Ul+aD@GBn]&)e7cnSM"SN&2_$T0Gnj])`kXHgQ\".U@QZ"
+bW<:9QZKsAPiVpXlVt*G;SL\oFI=.E;B8KRfn5gr.[?dI=@A_b9E^lc.S.f;_^Jga
+#(tDab".WeBte]RG-@(KEh<&lSq);)`R$akoj%1$SCY:m\e!M@q+NI&Y#X>J_=;$B
+h>e@;O_/ZD1ni%58LbFpa33-DnV"Hp*6so-;Voe13LU^)IsTeY'Kiki89Y;5-dA?L
+R>:BIR2@f%R\VPEE)V*cb\h<YXr'Vg.2V!8IVD>cNlf:e-HH0BS9j!LH>7YE^98tO
+QOgCRl0@K_iM%uKD%Ds@@.Z/$bJrl*aB@++Kqm\`&_!f*YUj'%0i5OU8:IU8CYM='
+_-@r,XMZA?&$$X%$9N,Bp-4I)oYlPr-I[?%#8`=3TdLjVTRl9TqK$VX);DKdkcsO>
+QY@$tjd+\o?n^EXVJO0.o=:_l\*Tp>$O$pQqE[t^AjU8I:AQf"HE`*]NFHdd,ZVGd
+"9:VR?V/LQ=TE3JTsf)tEQTY>%Eig2,]"\uO!8CYLl[t$)B[uEA.C:Ni/:t^f[["1
+'A]:DP8Z*6\nH[[XC>EYBWc(M7]D$+\'QG,17X/LjO&(&D?E7`TJf@E&m!Tg@aJA,
+C$MoD!NF:;FrH(qC]aeJVBntGA%/7BX@Y/*;+?EocnV,t3C(qujo-gO0fUWKk]pl'
+_TYY/H,lUJ:KYt;O-#Z8#JiQU-"2/@W&W=>UULJ^%L[:oTG!K/dr3.ca&t+o7Wl]#
+;Qg-<Z&ii8-aGsfYu68G[\,*.qf&C!1;Yc_R8s+9ClT>sB2t%$Dus@U7Bge(ab0!(
+'M.-m:FL63n8%^A""/!RA1gNncn?+sUSXYRmj>(og&*]/BAbn\>]V:*llZb+JK/g3
+cP&g3Xkap([oZ8=h7DoYW$bB@*YkY1K@8M;nF0DdDD^'B_UCX;ZQWb('uIjUmn[*f
+LN^$[U"OSer'T+?FY/u7;TjYU+!$pc-kF_R_e&YJq>fb=(Mr*AA!=&?2&q,PGtDPZ
+#9"1+[NKE'A>=b$`g=-S0"i::$FCM->iuoF;`H_`9C"o\<KXnF-"PBoq)_CkHqi;2
+A?JP'n!i_f\6jRTBU_`U/'rVXIK]00"/W'c2][*:TZ%G&N!CF4<+9Q<@f$qU(tKU+
+91g,]NtC=5HOkb,s+^X?=n_M[6LN;Zo3K+\S#5;NT7:3WC,7JKkts+ss/`-M,Im0u
+;fr6dh"lUbb$L(0r&9F"oaXCO>BIa.8deM]d.&h,Do'OU%2\OU3&<X+ZR=`tbfQU9
+$aq2\QfkNc68U(j*!VEKcb&9`7cA8)<'7usgSpjqpg!.j4%iiW5N0GZLs>AXYd+SA
+B7F=sWnd:]!qH)"dpp([NL?%'nsdLB(OkA'-P%^aZ.;;Q.K@5E!)CR:c[WiXii[S"
+&78TSneA_+3i<r^!a.#0k@p$\e1DhM*\>ogO:8gYPg5b9BQ/0EQ%t!t/X;>f!'@1I
+&(_aD2SI"1T9%G:+.cZj_H7EVlLuHg[Hk)/Rd^&n]/s7`>cPh@4?f_;MYQVe7`.C%
+gAR:-?K5Asd"a0b^UM42N[0o3Jh]cV\[foG31uEi[(<?(f3h1<Zo`G5AAeD(h/53^
+3N-"^a%[N/bX<q-(ukX<Cd[p(^.0mdnl>+>?<-QrKd-]R*Z+[CB49l^[!ND-iS&&A
+UUM#sP[2jm!Ms5:FPZ=!c7_m6>i+0ultr0!mD59D<PCAp7,;U?o=9K]L4F2^ChnpA
+S+$OjS]LKZ]0*S,P@^SE+tp:5GI-)[qRfu/1B8R3;;M~>
+endstream
+endobj
+74 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 75 0 R
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+77 0 obj
+<<
+/Length 2961
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]T95iV,&\dR4kVa[$1[YL?=leL0m)4h$,!]`N$crX2CsC>hO:'*lXShp:=*6C4
+7LpWX>.TeYm-8nEp!qYYmk3JcUpuYU]=SHUQ0M9"rs_(*`O8a4\L=pR?1*^hic9P=
+rpTlMQi"lgn*5gR1X,I@md#SN[,&.eRp1?S=?j@(pU_'?((u,/?CrQ#?#?q]6EK@&
+\b`W/`I=-5B0+Stdf/4GlX)l*gAUQf&%d<F>=k^in"t:n'SV$bBZHf2ihF`@aHDkI
+lMLXB\mU1f_;!\T<K1j<gR7!Q!0/?<r$f__)^1EZYoa;HOaHDgB`&p/FkmL,ZZRWF
+*A$Oem6pj18\1f,G3VE@BD'U\4W0j8I5P'3C#CMRBMX^f3R:ScW1C-q.:qqeY'kpK
+X^&*kP/0igFQZesm:V9A,piEM$K<J?f[fHj#=qn$e+=,5Ts#po8*R:0YUIrP%].Qi
+F)Y?B_8f.4hhDdKFEX6An0Lq+f6>+<X%=4pDdB!4GrW84WTJ@(YL3EAkqJX=#&7/8
+OX1IH\]$A3N$,HEHQTs\dBo[Jk@&0]PU+?fFRHF!lbW"1AX'`c4a,A035WO_k&W(0
+0&D3A,#1o^k!g/d`/e1uXR5Y^-IQuI<-G$/JSB6-J]"+,_WfqLAurRfo\NPg7ED%^
+nPmi4d0*G#<DPj9qNq`j2OZ+;&*Bp>_JBoHo>d.Q.blC"QAkBW]s\[LVjQr'n\-gJ
+30e<E<99snBP`;]&2Mo:'bO0jZRkgWI;$mcF=kIuX_Y^lg>69N!h-`bq2+3Q,B]aI
+0abUoVQ&DG2A[hfK%m4Ddc(\`95Cl,;Z*8X_eRhJXR6BJB)-PQ:PF.!h-*$DiK/U!
+4CBd7+lYbDg1%:bOsRWtfI13>@Qc[]r_D<Q.(&rE4N-iT7+6@Fp!XP*GOL%bW=t$a
+8$K1+GKdtA&u"5qFG<CY&(j`'S7<M-%Z)lpl"Pn/GiDD[AAS"f(l-T>5]F@tosNh6
+BaZ$G\U4lNq$-W,)-75Wm:5gK>IoPQn9j[HHLi!M"p'</%KJDl+^u5iFW=;ELI,9h
+h&5_L'[Z%qTmo:FpL_DI>VJ0Xf$2p#SP?&lgZ#+a_!\%,K4AIurO0;J3q&#Z7RLjM
+[\)]<!f"<P"p;Z^kO9#g"8g3bF?m948W<#('B&F;"o`OD?a%bdgA)7P-*=8_+QF9a
+)2#G$lLT8L4Jh(d]MmS:+dV.B)E.FT-3!dPR4o?)&jd_tYCLD\M5J*a"$BQ]@'d55
+YkK.]"iKRe4u$G;8hWP*+u;,(+\=4C/TXOpUCodH1?#i'o[F+,@m=#g#BI6oHEW:e
+l#+28g4"pmnrIu^f-+.i8^;KA@L=5T:,\KBnbjB"5j!?B*Vp"(i&n%%)*/n^o,$A7
+bppB^DETIY'RYJ;Di1p?<CopI%VXRBrppXsb5kEUXcp5qa2Yt.,48Q_6nYh(^1m9f
+Udke&q:Hl4P/QLK36jjPP1^B!q*F]t3NC/FErJkp=]UWG_Yj-qo0Y=pm/P-83W";<
+L)/omW=#0)"3gp")T6&$@s@QUgO0FPeB5-/KM\a`<$"NB=X\-%O)7sXYn!K/!htR4
+7"1d:DNQ\P[j-K3H:[.mn-QajZ)bgkM\/I"^!_XS*2.`5*_1_1b7ja?.<p/MWK1A_
+dk./27W2ErXWP]re3R`8>faDa2q,p1#=X!U%sDC"HPpNQRl'l?+IkE3L>*"V0E"-k
+d"JaZE,DF3P:EFF+=s*g/bgWW=uf!JElmt:&fMdb;K`(G!\E?:]cADh]>Y7g')5s:
+j)m+X_<V2\e/+;,Zd!#uNE8lSRF9%dkY>(po=noEE`\[\EcY9((soo-E2jr`lnAR:
+<K0X!"rRH]8YaS;%3+"s02Wd\;Xp_.?C9PG((e#WQ,Td#\)m>nm9*u'F'peXX&%P4
+AuL>qlL0Jt=?2WfUrA7Y9cmloR-(sWM59d<5A)O8k$=!KP<_8sg>@*SD5P'UHn%ts
+ae2(@fK2[^3.^cSab+^MDG+>24g3je#<<#H$s*eBh4Kg[e<u1r@-dN(Vn&7i9Cn+C
+"&^)=hgS_!&[tXfK$OD[nZcgr*J2?&'os#j`uYIu;jB+NZT"D>=ii&^k6MXEQCokH
+d^us1",.14qFaRtMh`0168O(!+"c-I"$-iC9hC;0G!\6`aZUO.pqXHpB_$g:[*0hq
+B]HF]P`(nJ*Y2pd,q4mDB$%@s"Wq?8>L*1`4B3k#Q&e(5ojjaU0/^8.^1+2/VLaYZ
+$*<<#pAs=aD9",CF<O!JP\:kS-foW09I`OUb':ocg@3].)=YC&TX.Cmi6'GHSp_!k
+.dUit/ISGE*HO2u3Er$a_l6#-Pr`<#7W2GhVqKl+Ja@GA"9P75BOs=cTk9D!N+XA%
+Pd/Kr+Q`b1Dl*qneuRC&Qt>>[6i:fJ.4#.YH)#Fsdtgq=\+`Tb/4X4UR7MLT\mBl0
+qM-=(4kWB[gXBtPiD@'>VMWjn.;"(U:A81W1pdOA"]*Td1pluh]udQF++Va@EnDGi
+eP<4%XKPTT#GNC%he@\\6XR>tI#>"bl-K2iAZF`i4aOeJKt'Wo58qQqm`\(R04s-/
+bJWP-b;pHS8K*LdGF/W8H7"i-#>)aRmG^Qmk?Ep75W3+ZFbg*KI>W>7bgEFPRH`jk
+l3WXY/\7[arB?H]$KZ<1dmOH<ok89>4MXB#c)>3RDEV_\q>:OGa3o/Vfe_Ndj#mf.
+9P/Xl7p;@Y!VnR)l_,8BgZ=lbLTnH75cej?3``mp$ek65mBJcfkF%RXIIr4,;aHn6
+aQkV&jsM(o:5iX'e,gXemc&'V[tM#<.=Y]=;ISKO:hbpbc;Tu5q5QE[(_-='5saO;
+BKm#,Oi%EM$eoe8llWK#kBbe[DE">c*u5XUS+\pLaaPRT.22D]`<-6OcLe7=hOQW]
+r(P"BXM`fKP(kB?DAlXfUhk<aGn.3FlVaYV1APJC_YL^Rq!S1m"p89~>
+endstream
+endobj
+78 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+79 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im10
+/Width 180
+/Height 231
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 8773
+/Filter [/ASCII85Decode /DCTDecode]
+>>
+stream
+s4IA>!"M;*Ddm8XA:OX[!!*&R!(-_l"pP89"pbD;#RgtD#Rh1M#RCbI&.K'Y%1Nj\
+$k<^U%L`p[&ebrm&e>fr)B'G0,9e<U,:=id-RU8h-RU;A^]4`J!9X?h!<FAEs24oc
+!!!!(!<E3%!<<*"z!!EH-!X8Z*#7(VC$P3:>!<WE*"9Jc4!sAZ0!cnAD!tbY9"X+L5
+5u@h"@3T]B'JbfE#8OL1,Jd:*iA26Yn0E%+nKgOZ;j*l\@roLE6mn1nZSiV!A9>`;
+iWpl`#mqLeKTnnpUpO1O<@AdVj7C4=jRd#+KpALB`RX)CAp/opVRFLqk4U`(=(c`4
+Q`%=5fB;lf86BPMLmY-NaOo_O.60t&BmGQ'WO^.(l1lei8m5tUMOLQVb1c.Ws4mYX
+!"An]!!iT+!!#4`&?B]!#pkJ_-!4&!;BQ9#/"PI5ECaKF\<2G'#qM_`<(Isa/>IMD
+e\Ke#gK@2oQ'd(6V3"+N(rW_+-sMc<G-=[DM#DK1`%5qqIn,*:2W:'A$S""E:U!Cq
+E'%ZhqAEjH6un,01+WOT[m$^b-`%ta[@gI3>+9WO:T0?KkPUL$rb0RL&cV_.!0U3/
+bo+6i5Mr+(8h^"82q1@poDV<Mrr=lfqM>.OIXfHf^ZLL4;'58Qq'?jTd@9DGrV?Hn
+,bk;=RPXuj1&?_+!.KF>.)4o'hbjCRM[00;MuID7ob%3$rrA3ZJ'AkFU-IP-nk(S2
+UGp[mqt'eY7K3?EB)7>`!.KF>.)4o'hbbKachSk'r6^m7!_Dtg_S=nqj%naSj0uM.
+=QG4q-B4fi=%M:mY:r$i%1WPbOslXT_KlY@6jQo<ek&7:GkrP*Ds"jCO6cfG>kHX?
+k\mR$Q2?'fFJV%Wrgi/a94*9X9$YlM";#WIR0Wi3.7s[Mf5CEad5ei0ec,W7j8.M4
+=PBmtmRXgKK'YZYjhfep!;5m!QXl8#F!\6#b!8kL/>R,d%OMN^E]q%sLnm-r4'Q8N
+[l$@NUk[l*&q(84BK`WJb$d#lXmOWVL,c.`Rj/Y!#OX\D*H?#G(E`+U.HB^:pOBjO
+^IVW0!5@CcrTp#$rr@&.oS(WgmLNakao;??1ObFqrr@J`m!W"qrrA3"^IVW0!5@Cc
+rTp#$rr@&.oS(WgmL&`8Z@2`Qgh-L.EW5ifg\8!lrr=<#IZV,?!.D]Pqq3n-!0S6"
+dMMaHkPb,YHp(UrrrDICIZV,?!.D]Nqq3q(IcEBO$]k&;'_1j-rrB&9]puS+f25\e
+'u-k,"@[%#!iMkjToorUO.-(KjdOZtP+V`PB)_i:q60d#XT&:b.K9D5L100S2$1h`
+es.?YrfZ+qrr@FU:jF;0G05s%fiZ''\<DSi%&1DFSV-u\E5$86h`Amq')#ebAk@Y^
+WTF#f<cG_M+6Ho=.fBU!qJZ!B3.AR;+6n6!59EdpSU#O03IW&n:OJ!>j4[cXC!n</
+'b;1DPNYNl3aqH[jn\SZ'&NKP$us%\Tcmu)TjGI:^4613ks+aAXM<kpIi](!!*+)i
+b.4hX!1'7D^tX@\>i5+TCqo)0kO:D0!:j2Mr2ZkOq.\a,K7DEVht!pd^ZDBTn2B1p
+=#^&XRkOSNrr@^jqQ$+b<RmH6[/Bq(G2Mso2uK_G0DT>XHk!R_Q-K=/.d"qR>'BDn
+ht:&0r2Z;?q.][&%DVh+c2Rbnk0*a-IU<1orr=?crrD.cfmh1@dD<T_Y(-K$ks+aA
+Cqo)0kO:D0!:j2Mr2ZkOq.]\M2uQam(4J](_WiYpH]TP-K?%*HJ4I)LOrm1nrrAA+
+J*@sQ!7boBNiE$Y/Wfu4dQ.=-WnG'+;uTuErrAj9rr?'*H9.u%[R:&p8E]uQB(U4A
+q.ticOjEu,c=KR3j_&So4\r+WPr@ahFlQf"e]C&;kPN5Drj3d<@Q^(@ci;Paq6O\X
+Rl5*9ZY%P`f'iDTeo!?l>s^R0GnRqs%oDi)=GhEXbdEtAo.0HQXZe9LUu+s1XY%K(
+XmT%-d'H0]Rlme!VZY/-6@eVIE9B,qfucPMWIN=1?hs#N0?_H^qR,Bha/N/[Kh!aZ
+KO^9.d^_6[Rm6r)n+j;%c'pV-fs>;:s3U*j]"Xe#V1($'p$H9\Tgi4sK+r4F*,ATR
+@S77n;gMn32Xk'gb9_hhf'W`oom$K+"D=1G(M65D3Wd4:,akuK-'1J-b.t<U/4,@d
+K<5./r>EZT])McjhpO]UofktFA('JHCX7bh_RV)c%D,7QP8=9[*[anpnJ4%+*pm=@
+7d3[Th^<]UB$^M)n+[g\rmoW0:?>210ac.']DQ\)Je</f[0F[h!U@/FEnFW$_gQGC
+o#Ai\4hujX,@etJ_OeXP-CT4_,\Ugn:g><r0gR\8UsYj6ImPK)>"9sX6D#+4n'Xhc
+gfiLV:UU(sMOkpY8#9Re\URks5A*`YJ$/8Arr<?Uk4Nk,\?r^IY\T"!l(tp4N`@r^
+4t_$0rrD,"P(0C%-pI&YN:Yl[18W9mAICJ,M^0jMJdSa`Y!m"bih:KuSi8R5'Js>3
+]'ho>8bLu#61@)i^KX_XRnIc+j=S95oN'd:I[gd_Es7l%#,<_D,l3@T8_PHNbjL"5
+h*)NM:&4m_s3g:YP=05]f&B$%72j7FNFX`R=-=aC[H+*\o2?J(.rG:_\c2Z*>G(bg
+ONhNekqt!'X!F(48r4HFf4/E<@YQ:<do\S\'CoNkHrW<b8#9Jh8LKDUlS9o20Y)r+
+7OkZ5)<K-U`iOlm.Q>Mao+Xh[H?9a(M69NlV#LErPUp.BJg0b',69k'-+51;JU0of
+!%TkPU%J>b_Nd"=l;R(N^J57/VP0s@0j>T<FtQHc4</s+U^8EPnTEcieQ(G+m@=L4
+eW3@=Fn[]&,Q3FKI_;g%ZZ#MpB^>O:MnM@.HHBOh*8ac2PBh)h*l?VV7AmYff/<DF
+rr>R$IsZTb-i50Mr_0,5?_ZpL]tsO#>T_QMJ,e!b1\kfU\:/&@1uu:q$QOZ/:e;#U
+OcSlMe:[4EM&^NeJq^C7+:m"_c'pV-.Fn&dd]Hk`dKVUde=^bq%hlJfTl6hY(0c'V
+K?8Ib?.sPjkTd,H0<*4+.9,<6/QrY[GIgeoXUh=X2k[RY-+-+<M-H$q5kOq)S13ob
+7$Hkt-*.mNF__g%#7"U5'FFtm=jrHQR^M\U0&o+b;/ltJgS6:qDH+^FN#c]uZ`$^9
+*jn2LYQ*,@pmXPO9!blqdi]e[.LRXf6FTgL@TO*ebUj6g$Ji_?&8J;E`CQrQ<Cd&h
+Q(>s^a7X1gVsSf$Bnq.*e'`L/DcU!b\VNZg:4uFo6PDF-^oMM851bP=3AUHMjf[3T
+HL_"8^[9O7rluUB^Yh,"L.6%PRsW?5B7fR*</J,q94q)E*1%<70hPQC-u"3R+3X:e
+VbXXH.gp,OATkP>,3Fg":B_(2>.$D9imWT8a;^0QX:M6ZPc*o.[dhF$g*;<7=f?.j
+X%,&)eS#7)nQRNbL2TrL:IrPj*PWS]fj@6oT++/@=#F;HOmC"U'gE(G1sc3Pn+j:t
+Hct/J#ebSq"Ar3iNDF$(@8jB5T)^Cj!ree>.#7,&qo7Q`2WP$fo_UaU2_L=PXY>..
+`rp61Xi2*UldX8]#3:up$k):T?@5g,@"@mXN7#`H!/kA,O-3H(E)^ht$7o%&6r?BA
+'EEI\O3O.PJ,e*f9rmMOE,?Ni!HK2j0UYa%2`+Op>1JYK@'k$<(.d(=3"1bCTS'`s
+N-96&r2O,rDqFu7jHK0+rSkKi!*Tp/0cj$XW9?.3=o-oO9,,On,\Ag)/%p3c3;e8?
+WTnN#9du"spU8g]`%E5Ume^sKI+f64\+p2anA="2<E#\u:StLC7MgkV&1!]#YJWZ:
+jF._&oqp`9kLYB\P$L7A[r>?sZpi%[L9^=0:\K3#lsIr_5dgaV(3^G!Ka`X#=G3ss
+U*7!Q9Jm1N28ahAfC/O>[p$4pmaWoN1'`ra5U%@SRA4k8X+gV#Aa4!YVY%t.`fbGR
+bh$Us*7@1c1!U:5&Y!a&ZTtmQdm"KHaF!Tr\m5!@StktX)4DLYArObsD>*+m,VI/l
+cK_'^WQ^s78M4i4ZXQkggY/<`k%'/PiZ:Pp/(Ttp4>JL:VeNUnEH>uq>tFAo"LNt[
+J/NgC<E_@dAs[i8p8H=;d-I,iUN\djQ?LFq0G<r%fhsm2!4ken\0sW+32cV29K(q3
+^Ab7A+67`d2q-+&L]/NgbDUkmcJd"<qR&?1<kbKcV(#cH,l[k2TC3NXqTs`6M"52J
+2F[;`3mKllcM_-J4Gtu&a6aZ;33@\\kI)*q-EqB4aTNgBe21RRQ_jf@^Vii1N&]5Q
+T&/W&<XE>fqFk'=$j<qFi9h&!#lA*-k,AULfbmKR"_cTBQK$>kY,.4TaIGm4LVtZc
+mtDfc^!rm(QKIlq/-qt]RcSEf8RuSCW[!UY?87H_)@E$iq>\k2gm='ON\mpleFCW#
+R'd<k4\JPA`^H8HbdP`/"Dk3[?:ka^F]%Q-"87O$e90#6qbOf/Si_3B\W"J`S89'C
+[V_gc't3p_qde.!g3m!DW.Yr!'YpsR&0W,+&3:/09rM10Bf4+*`/k\Eng&Ad>*J;-
+5LMjt!8`',R?)@P(r,>`d2B[)W6,"_Ld4$"An=@/a3\%O`gOL\;>,@8UJodmK_"sX
+8Ju=Ca"-dm0>5<1cH#;gQ.8[U3/U6+!"4\#@:O'795@Y'EXJ.n2,ZqJ<C$&i3OAb6
+n+k*jnu7,b&,D]X:Wq)YMY$d[5NKb.1X2C#]![:`'*R<pG?,Y<Yis5V&VU/aTJ(Rh
+lfmYUrr@>jWDE3#?9Gpr;qhd6D.0c(5ldX:P"tAfHF"[RifZcp,=O):7MKDs`ZU^u
+RP,<cP,>(Q-<<:DgngM1`8=)6=?!-qO@[18BG<r\PP[u9!=(jhe":@n;X#*Q[dg`.
+'[!^I/Fkp#PiC)FOIC08[h5k+?DQP&Uc2?<`q&Ta-a+_P(g9n2ZeH#']qaK('XM-1
+nD$<K`bT^_B4g0KZ\$RuXJgB+Yc#5.Ul$&<e8;&,CEC<[&glkiE41$3r<nM^QIEnK
+ZMe.JlNlu]jm/pSLi+g4:qa681'>J%C`!9*Q!3tB\[,ZZehj562N;tf\.5d2MiM&4
+nPuL!D=cKd7j:Q`/8Q=H#"BP`%cE:hJ,e#_J)sT.!1k3\kH7B@00e;Dch3t2!0\#U
+cSfUmZY%IO"('X6l4BG3[-!Y7-q^eLrM='JKC[@ge`lpcQ2[t0B6/!8.(4uYXm5Ce
+<apXr.]T#(>B<a7g:8B6eKCG^Bd)GYKVYOKE970H,a@<GA<8<FFW250b/!W5p,=NJ
+T%YV=!fJ9G/dG7mWDQH-:\7qumh<qXlr&+Crr<,E<;e%#eSjLIk5;o=rFR=)p`DlM
+qJ0>*l1N5HGod-u\r[GVBd>P*C0#d_ra,C>O%6^lH^V#HU(r_+k#$';Mb3T>:lQ/F
+'f0c7!;7*IA<>[#>B1([-lCKfO^,2qqRk=XW;ciFC_[EXNQE\fFVN%\Lu_Suo_Tos
+1&h6rV>gNbrrDXL5QB=!T9l2=($GG?J'!N;B:Ceqfs>;8RhM5)\;!O#'ol9Bj4T+r
+J,e-dp9mUE-/:9l^T_nqg2^#E;p?R=.Em+.g!c(Vj]ZfGYG&MVh-S0QW>(HL_(;l[
+6SlV&7p+<]i\I@C)PX",ROsi%B5JPn8qcZu`];+1+5KHOb03$j#c-!$>4f^K0>>u2
+Z$22#Q<.'V<KDpSbd,WA\dGVB9kfZmeEuo1iWX95<Ppcr1:,(>AYD9HDR_V`CeB%i
+CQK=o'U_C',Z)C-^M"VK?CZN9Zb7Cfl2=hIVa8@aWCg*c.?]2(chE=grFeFV`-MC0
+n+j;%c'pV-fs>*%^7P15V%i@_D<1s5i),H8:,5SbX#NA?pM+n4s3^9/(5Y*Z<LOfT
+;.ko?JGrKg'kR)HIf)nmg'1Y4pnP(q3Kt*hf:_!5)uPkCm9[[aT(9`=>3:))U9&`Z
+mNlgXNls*gY99iE3'<![BhEM$jYhmAQ;Iq1RoET^ASu]5JRr%_7gQ8u6ciB$&NiR/
+7VpbaP5<RUb0BVX7J)&2cdeuSa404oQV(2j8cJcD5Mdp:oq;<bP7cm%5QB1#q6O\X
+Rl5*9YrUd'i[9IX<,k9"M"_.Z*O-PdUa4[LTCeM$-+XBom'<h?RuYPCQ2f>%Y)+>X
+8>20")-BiLH@cVB?:Ur.n2';Wf0)IR\Pa5R6B<@b$9sc=i&HYtU0(\p/i@";cYF;l
+@\+NKkqnNqM%CoD#up=%3;064#>#?tQZgtZgbm'V<\KG/3ls0%,??LKYA^c(\8.4d
+:X.([l;H9I:_eeo?1)r%'S\X)Z2.2b+'+31^+(/C*,0_Ue5BcGX>3,`Nu3=VF,Dul
+084(0WChMHpTd2QZMLDsa,M<#IS>!Z:\'ElT7#^L;uZigp[ik=r,_fD<7A#X=0>5H
+00e;Dch3t2!0\#UcSg:QeF34>B$Hf'CtZ'4MfC]Z0hG3m.7[B&`#dqXCN*ld8QUVa
+6nH`GJC:-X`ET9*`#Sg-n(:WYAsYQ,[\#[F6T'q#,S<%+/K4.[g[-4aOR;cSQ)Gr>
+BsHnL=('2k%4`+:@KfWjOk-$u+55K/_*=[]J)?SWoTaLt!*+!Pj3%(^'0eKg2Y0%O
+>X\/.m*-=f+?>m\IK<8EpSBQgdVQlp[D4/17FfE@htOV^qob;o4F2rA>eSC]NT,cL
+8lbgM"Jm',Sm88!A&bl4W3/Da62pp844L$(lJ/AWnu&HoZV&j(,l[k2TC3NXqTs`6
+M"52J2LkbXn+j;%c'pV-fs!Wa\#[MNLlUU^m\Qgre>%8hG99UW%Q`J)9Gpu]3MY;1
+No`k2C3ps#fC'LkG.0n7`%*&cfj[,g?G'L@blsrGZEcb'7^)O\Jan5kHi5pbV)=S4
+TZ_.4g?].Wpn[\7OFDd19J2dUY-+5i`oc%*P#S"UGgAQn7.<0GcFgk@'?7$U#f54q
+S,+ieM-4"2*?$W4`.5*_&&``77/D&/fO:;Frr=O8r:&tN!'P?oq0Du0?@T'^r0WNl
+H*_,/s3U61ZY%IO2Jh'O$]B'L=^l;Ei]?RXTT86r\t#gJV4!9?0;WWWaU8YN+3^O/
+V*0ms6W'KUdI6n8Re'%<9B1A9,-*P_bl!<s0_(r+@KO"KUN'5^)I\oEb0S1%R-'E\
+=IZ>BU%_J[LtL__b!5HrJ'SZ$S!$RjchE=grFeFV`-F/`Rl5*_ddR"<B$Hf'CtZ'4
+MfkNk#t[tE.9EOAiX^%d'8Ge8$Yub4EVh,&P(EL-PPD=YntA;Je*m+;$]A,i33uU2
+:[[@4`R__9HoBb#O)]^<F\gDI1"91-?.)847#OkJTg&o:C-b!A#H/WOlZ7Q:5/4p^
+J'n81$N(n0c]9RJYJ*]F00e;Dch3t2!0\#UcSfUmZY0<fn+j;%c'pV-fs*PGMKm?D
++H[17@8VT$:Lga&\@(]HX32@L@J67Ab2'^G\^1<+l5(LI\@fD><7C7eAG$d%&sY#e
+Q@E.1>tOh>Ss&k%r!l=ND9]G:Q`AJ'Zk4el*#&_`"[K9?J@5899C4aAmi[X8k'3OC
+71I4JPp'aG5g]%LNcU7N5P\Hs=5l@rWpo!%O/Ya"fdQd2rr@;I5LtJd9Lk:/fs>;8
+Rm6r(n+j;%c'pV-fs>'hD!N<ACE^0X^=rW**eK$p6eCH+Dg_T:mU':IIC0>S+Eb1]
+c6&Hm[%@3F!TT*L6$[?KU.Aj$R1E0E1:$Wp5oIi?\,<>q*8?h1WTn?C^8K]L`kOqt
+:\f;8nQp^I#Q0sM-@)q0c'pV-s3U61ZY%IO2Jh'QB$^M)mVf!g?)<+Dg/]K*^t_4'
+X#+FnZ1hfib]pVpXR7(S0<9*cG3*(0m<%AqU7!D,]`.tVY<UTjr_,hG4P@&Qc'pV-
+s3gB3ZY%IO2Jh'QB$^M+P^hdmrrAgDq4!OCbKop?oDN>ejMZ="c'pV-fs>;8TE!F0
+q6O\XRl5*9ZY(]d!6V/<!(QoOkH9=7e`i]mTC3NXqTs`6M"52J2Jh'QB$Hf'J,e*g
+q6O\XRl5*9Z]ot$;Z?`g+7hE:T9l2=($GG?J'!N<s4?`8ZY%IO2Jh'QB$^M(n+j;%
+c'pV-fucPMWIN=1?hs#N:Wq)YMY$d[5NKb.1XH*Kn+j;%c'pV-fs>;:s3gB3ZY%IO
+2JhIsq,G,mhu76KO7MO8/8j!'!&PAlr\-j+9\KHpn+j;%c'pV-fs>;:s4$N5ZY%IO
+2KG7Iq-"b_YP/d8&^%hk?<"'2o"U`+dqtsT/JhC"&*]K#4[/7bQ&-%_Jg8bPiVNO`
+C*p@ZeuU8L/#M3AC'=b`pT@TqXF3b@V2\j]iO?Sp7lU@II7sR9NF2\D\%hT+5QB9*
+rrC3^eA(9Nec,X;)ghSb<-*Q3a4.lh=OmEOmMgNQ!*"#hb/`#@rrAU"=8r91D=@F#
+c2Rbo+&`+=WFK$0!4Zn7rDCi>!%T-hrrB$.=8r91D=@F#c2Rbo+&`+=WFK$0!4Zn7
+rDCi>!%T-hrrB$.=8r91D=@F#c2Rbo+&`+=WFK$0!4Zn7rDCi>!%T-hrrB$.=8r91
+D=@F#c2Rbo+&`+=WFK$0!4Zn7rDCi>!%T-hrrB$.=8r91D=@F#c2Rbo+&`+=WFK$0
+!4Zn7rDCo@et2mAb/`#Hl<)U:!:CeQrr?#>J',g]^ZnqOrrDI+HiF(FF+;?QeA(9N
+ec,X;)ghSb<-*Q3a4.lh=OmEOmMgNQ!*"!jo,CP=<BaU:PS+",VVb2\*M=c1r`24Z
+rr>s:YQ"TAgY_k&OH8p6rr='gPPl;rqVPAPeGc:clZ2YKrSOHoT(LA/f`~>
+endstream
+endobj
+80 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im11
+/Width 180
+/Height 231
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 10059
+/Filter [/ASCII85Decode /DCTDecode]
+>>
+stream
+s4IA>!"M;*Ddm8XA:OX[!!*&R!(-_l"pP89"pbD;#RgtD#Rh1M#RCbI&.K'Y%1Nj\
+$k<^U%L`p[&ebrm&e>fr)B'G0,9e<U,:=id-RU8h-RU;A^]4`J!9X?h!<FAEs24oc
+!!!!(!<E3%!<<*"z!!EH-!X8Z*#7(VC$P3:>!<WE*"9Jc4!sAZ0!cnAD!tbY9"X+L5
+5u@h"@3T]B'JbfE#8OL1,Jd:*iA26Yn0E%+nKgOZ;j*l\@roLE6mn1nZSiV!A9>`;
+iWpl`#mqLeKTnnpUpO1O<@AdVj7C4=jRd#+KpALB`RX)CAp/opVRFLqk4U`(=(c`4
+Q`%=5fB;lf86BPMLmY-NaOo_O.60t&BmGQ'WO^.(l1lei8m5tUMOLQVb1c.Ws4mYX
+!"An]!!iT+!!#4`&?B]!#pkJ_-!4&!;BQ9#/"PI5ECaKF\<2G'#qM_`<(Isa/>IMD
+e\Ke#gK@2oQ'd(6V3"+N(rW_+-sMc<G-=[DM#DK1`%5qqIn,*:2W:'A$S""E:U!Cq
+E'%ZhqAEjH6un,01+WOT[m$^b-`%ta[@gI3>+9WO:T0?KkPUL$rb0RL&cV_.!0U3/
+bo+6i5Mr+(8h^"82q1@poDV<Mrr=lfqM>.OIXfHf^ZLL4;'58Qq'?jTd@9DGrV?Hn
+,bk;=RPXuj1&?_+!.KF>.)4o'hbjCRM[00;MuID7ob%3$rrA3ZJ'AkFU-IP-nk(S2
+UGp[mqt'eY7K3?EB)7>`!.KF>.)4o'hbbKachSk'r6^m7!_Dtg_S=nqj%naSj0uM.
+=QG4q-B4fi=%M:mY:r$i%1WPbOslXT_KlY@6jQo<ek&7:GkrP*Ds"jCO6cfG>kHX?
+k\mR$Q2?'fFJV%Wrgi/a94*9X9$YlM";#WIR0Wi3.7s[Mf5CEad?N@1#@4TYHTa;`
+[k]TC4W0,tUBY%0D8g5(hj47/o)t8HR4N0G;?E/"V]p`"fYL:m+299i+`$T:o^",q
+dr&iJZK-c"A$&EFPgFbej75F%i@u29XH^SV368X[Kiiq+IcIt9J[Jc.?I<VUlM_/j
+M;1LqDB4c^)2?!="ZT<S6Ke=A#J]_<gZSHmhkVlShf*oQ<_rRcS+METqsFu)lH-g=
+ONmVgkPb,[^[G^fkPL4qUb7/SE*'s-POJM22sC^2pY6hI]p!sA+e/+Xchm,@J)8;V
+r/f8)dMMaHkPb,YHp(UrrrDICIZV,?!.D]Nqq3q(IcEBO$]k&;'_1j-rrB&:^IVW0
+!5@Cc*iti\aUI(&/q;btH[bZ_ra31[qEj6@pB<[-=aoi6T.n$i"coPb8-"]O9ndAt
+mP=FbRHM&`YdUrmaYK7D8KAMME8@Y3*04$Q1O`[+ekiT;ZPKSs9Hs.*0AXdWL$.\"
+!&F=X=6Ma'dsn%$_tEKFrr?!XanY^so]s]Ll-&SnZ?tY'miKp@gJ3k_@&S=oKV(Rp
+iR9*eNiE$Y/Wfu4dQ.=-WnIF$mTtpQrr=X4rrCJ-rrB(P]cC&N>9X"HUiZP9<O7!4
+Vu3tjrr>UQri9IVXe=Hb<lo-*G(q8^-j^2Ya9GtbYCdfArrA=*AcD`^5;.SrrrA4m
+^ZA_RJ'1@[,Ce6Kht!qO^ZDBVqmQM)Wk#n+>hOVM:Wq[5^Z;P9q,]I]o$b('#6+\'
+\\I62fmh1@cer[?!9C;$q,]I]o$d1))fPO&Qi@%8k0*a-IZ=m;!*++?eEK3gY&(l7
+Vs!P-rrDUk2uK_W0DT>YGW5S$bPqR-F(P@O/O(n>^Zqt'r2Z;?q.][&%DVh+c2Rbn
+k0*a-GOaVKoiEgG<R$m.[/@WBg\sh)[[ojqZFP_X$]lZgejQTU7jU#-*j/'4*E2rA
++o_P<F8l5?Z^F]eq,uKu%o_cCj\<:3STrba[;o(=H2d>?J#rtRR#`S>ZiASEq6O\X
+Rl2$t^SLk*ro1UeXAmg!oXWH"IMDY!_,"!hIB]m+<5,lPN!YD4D(GQu#IYnpmklAT
+X&(?\,Pr0:mug[^FUj?J(faZVJe(0X4#VTgf'iDVo*h)3;Ssf5b*K*KlOOq=.Y[!]
+hF?^iMhh%KgR$XK'@=-+l,47m:0IrKB]Nc@IOdH77]BLL9>;9mL9&&A,gDf:Ef^-u
+?hA9grd*Xho(2h>]`.t8&,@q$9_2lBs4?`8ZY%IO$+51NdL4e]54n>ri3PFi#it!H
+I5Y[\BII0#5]=gJl]YFWC$oDpA%K#OlGuSO3CsK3!27:$)fNd]gL>/8DV!2j])qEf
+,6\cM/8@K^&*(A1c'prtd-OK,fKQ]+XkBIQ`>_5[K;1M!]TINH3+%Gs3s3pCV1(#b
+FZTu#)'V!ba_Pl)aD,1I2OF0#Sh79:37m'.&"nj-L,aH7qIgP3R^6uJjN"eonP%WB
+P^hdmrrAgDq4!NX+jUn;STuKVL$&F9!lU9*?j0O5PO(&*2,-'0B"F!`Cs+=7fh[6r
+S68Y3A:@,&aSqIs%igRM))9sh,:n$l)-9hu:2$?"[J5&"H=<\AHI1C`Ar>S>]h+V+
+7<$dYOe!30E>2no?p5h-i4lI#T<kG#+*(`kl)`G51]Pkj5/*oKa(H<Nrj;T!dHS\"
+r,Zo/jS4-bCOZ8\3@FY_E.dW@NKi^)7ak.]BbY9n42C-SHa1*`)]Y49.^V6jS;P=D
+;ALCDEhFW;p>6SIX/El!gJ(K<B<*:XrrAX>Pgo^5K/ejpHeZZ>]nI3&*(L-?]g/k[
+@Rl\#WZ%+d01q6%ERqUbHKDN=Zk<X=(#uf!"G0>R'sDA)N3q,F&=DkgnjsOY_U:$K
+c5Y2oU(,7)b*#*@e%QNAT&Nu([>)Tb&]l9)C<[LS+Wc58PSi@g`%4TpJ',]O3UT8P
+FY%U08M.gU9"0s+J?p)E!sKtFR-rIud[5<,YM*,EB4u0n!.ht'D?I:n+>JmNi&fsN
+DW"/(fB%`WQKEdW)>3qm:olA?1h"Fri:jC(s3g;$E[B#"g58;G9l.+0Ch*X:Z3D&r
+\&.J*WP]EXkcQs#W;:J>;Uu;0b8S4^1*gakS0GF,<hPm=3/EW4nQe(Q>suF5RPY;5
+`8lLk3>t:U>'<)p8$Tr?jWF:t^ZaRQr:Rsg-0\GKQ%e,Hi(4qm"!"Cuc@eJ$"\Yn?
+lupLIQCDMq(lmH!?\l<Y'a1f,hZ-J:JP6lL2JiEBn+[stf\P;L<W+fd*/O7J"%;H)
+eTRmkn%KH&V8K,E98ge7J4jS76F.<($r"K6\RWVoh,JN7`se>B?6P9#["3d/13&Ih
+#@][j;6SHljajM?K;/[;ae%JQ27SN61ghiP5TH&INHRabr4:h$XPV5!\Er:-O8HA/
+Ln]qO0hCZOgM`Iq(@WWW.h$PDC.gJObf>o'Ha+idFKi_HAgubC@rJ`7""C,EK=3`>
+TIPg!!!%*C0*(O6`LH/^[Dfe;dX#S+8<2cC;q,>UV27?M4i^07EMt*dbAR%)c7(]N
+aBd<g71hA,"5K*hT^G&EeF#gue*9VGL`#R)DTr3#oo'%^I5js$q0qUUK-e-t]h"G;
+g>FN?)[7t<:PpN^CW(bB`lI&q%,m*+`:@+<?f>,1g5qI46,aP>]E]/nnRgF-pR*k=
+-<N,+,R.7VA!T$V:7D<d%cXKZc?I2*69buSrrB]ZI4ekCgSYO(le8bg09C'L)gdD%
+<XU/,W0X%UAqi0C-a@11-TSMF_R/nMM#3+[!%;m4<<6=je?Apn*t[sJ`nTG;CR?au
+>Dm[f)\rG#WN*3m">Bri^k*&Gs4-OS/GDhJZXFhG9"i=dM'HK7.G0d=Nkk$L]bS#a
+MVF=@>$%W&1S.A&IkuPH2B@N*Rl5'lGGnVGEVf(P<ntS-opo!SBul<&FJu?+hWihZ
+4\KLPAD?+'K+7e2(<r<L^8\"TE&TMYSYARa+o_OB'!-P5TE!L1?_hsc%Ah:Da4'\T
+n>3sWrB2pL>uG%tmGbTRdH5K;5&itMTD9B'0e9@irpnWb-GJI(`pnTg8r.`o^DN3Z
+eGfMKL3%fArrC3dkJ2DY<Ni=DDI06oj\Hri_f*`n,F\?$aNR%l=h'?r7UUnM(&ak[
+I2cffc'oX>OX!FB"[iN^NkbWE8][P!>fopk?;"XUZo8ZfBgcqt&Mkn&n.\@Hipc"h
+Dh6o_\\*Y;50;uKlS6M&&Q0\0XYVf.mt>.0q(i1\/]:YKG$LHRSt&?9$cPI&?a;(/
+61(<EfC/OAB$)AI,ana38\tpB1jrq91T7OP4D^<p-"[Y7ah!.ie20fj@==uiC%m?$
+AX_ao\1YYV[Bn(p8?BOfB^2N8Zn:uCpi8f/?;7rag]%8<=m,ebKqofo0C"n0D`.Ek
+m^DY]CJXci-@bf,YL,7(]uh:hrr=]'AcVV+a]2^A+CN-I,@3+'7IX+Rr%Zn)d-pe:
+P^hdmrrAgDq3usuV^')A1;o.sM.%AKTjjnNiu=-5=6Rq`qG%X0OPHU\0@f37ph5fA
+n]4/%TmUu2i&?FEZ`H?q^8f^mB^Vi55;5b.BF<.3m6e.Mg;rhR=X9#/"G5#!T>\/=
+o)t'L*r03/<c:^-<BGq\(Q-/c&ioNZHZd3HF_ti%LcMs*LoTErfpI=W`R[EZQhn=@
+i3+^`6#WnON]=EcX+m)5;,eS8#_!m1\s,g=II"Rck$*ajEEVBoJ/'B_0&A\JDpl(r
+rptt!62N5::@YgiZA%rErr?9XY(-K!mU'53IA>9Q<]q@6Ki@4j]WM26$_!NkSQan*
+Ijbgfrr@Wt&,;/de0LB-X1>),!$X>n'H_6\MuNdn1!:J1Qj@<3N^k%F,uGoe!5Ze!
+^Dn2^2Jh'QB$^M*n+k*jnu7,b&,D]X&'NTL0\tNL#%?_gF1D\B7S"R8mur,,qEEBY
+1DopB,k,DU(hT^Y&JMr7WMos2T+dIc?CN+>Q>j)J!b5E_k=d)N1eW0uU"*RsW>)!r
+L0$(L&WTE&(otZ-h0XMn]`iAgmI+6GAm<-\i.>gZ2)PD*,G/8eq1bMiIB(,'B*q98
+W8i+JRRi_B:U6L#%'RWq<'NYFIA;rRUJ#*!oNj-ZGsV+L=8ccVg:p)_r@;PG]G!`n
+A:eAio5^@N**+(H_WA^ZpJB#pUb$O:*PI]-s3pH4ZX@"N7`*'"]t'0Y3+c)>"fP%6
+48'YLhhkXo>@"-gBi\6fV%%/1`Ns1$Rl5*_e<GIE;Z?`g*Im7T8O"jmhCHqFT`5"U
+&`h7rCn_"5X==^u*e[r+UZJa4XRYPA;d)g<'T7l",])?KW'*Rmpa]17JD-EuX2qZ[
+97'=?1mc]GPu`)=Y'juZ#T/js41@mJ<``,]6Rr.:JZ'^`+Q_T]>MIr,NoD=L%cq4t
+_f',l"9+.]+5Or`NkuYZL_'/H9V?eOs4-OE;7KEi0;_Q0b]4!N:\I5@e3EGJ>W$ZZ
+:N%WV-5TJQDcQf;i]/".D7*YQnR9.di=kt4aT[kr:dRdqP'XTV`X<T?1,ui0C'?<;
+:6*du$tfA%:=@6HNq(7Z1oGe<C()GADP#ksQW;M&KP'<jPjBQXqJoR-rS3oIJ!LHF
+0Ek0:kXJlpfs><>rrC3<rr>Og!:r-6s46G,Q_3^]kPEPTab]M#Rl5*87sAH]/c:p`
+cIU6^%(=SRb-"P.emqNji"]qbE(@lRSIR)(:&6nF*<:i[dV*ISRm`8OBT0,:-3ZZ8
+/O'^64f4RH_l2?q1pP(7np'Hj:9>ba,6i6:)KCW/:`=HF'L*>0rHmO*2[aAW,HET4
+Oi?h=@k3AbRZY![<su-X_/"6GE?l2J8BS[Y8gnr&dCXC>Z`2]oL`-6En+j;">ntka
+W+B@(.2;u4K7mEuRQd3'EW&3%=c0/@bTn_\<qPBLlQe&b)rVgPRY*60Gd!ZJZamcY
+=-(m.js^MN$a2"4m8YolGGTUoLS:]frS?I(4=>lbICVc9Jc>]PQg8CE]@k'D3f'[[
+rdc=lYP^:[kp0!+/ZrN2bNQ=FGk/<9QftPkBWga*dJg+b*/pZP-pn[rV^8M':3*O8
+^ZB#&SE&`(:0d,^](<*TfBhS!o(2h>]`.t8&,@q$J,dmaq6O\XKY#`u4m?a?Am\PJ
+ii9oU*-qPaFPjCL,U0.r;qh`FD1?AtJL!"$_Rgm$HrZF0+Q=-GZ/+*9D1A%3Bp7_q
+Hu&@pnZE7W=QYQ8$]-*FeWeQ*UgQnf,c_BX!:nAW0`kR:R/[/3lF90^6BrYZW&Cbs
+P4qWg't\37#i.nRc#cQ5X@jB\lQD2'iu3Ba&j=%Jq[)>nK@H*CHq^Lh!YRpB,X>"=
+HZ"<!s3^<2ZXHV(AT+R(L^Z!p[cea0R1&Nt((-uTPN)@/WBUmBl`k6BI(sf4D$rh!
+Z7OBhFXf*o`;9Ia8=hY%U#\L>#N5`>,`k+0"EI+h.3/LQ7+A7L;RQ58>tXup\(&eW
+OkSBjH@]qi<V5!1-#i,G?u8ZVH=3j5p?ppCNR00VN]EaZ2F&$IOG%7bKpcH0b+0"Y
+H&GM'R`7dJc1O)-N_$;5[>WQa,9c'g/HQ8XEj&;0:C'Ii#Q1[,<ibnCWq,8\*Zh.n
+nto$/00e;Dch3t2!0\#UcThHXn+j;%c%(TG%DhFGE7G3lpG8D5lGu\JS,I2Yi(:$6
+c#IFZ$-qqV!g4Z#YmCF._%#jph,@2$-.LoH,'s^P10M^RaV:'3X,-PLG6-75G9=+O
+ic8d[bJ?"gHIJ\2dBms?6"o2UTnt"%GO`f"Q/#I7Z!G1Q:/Oh,@L+f%Dfm7Z$bXB\
+%0dN6`0)VTB([JBG#h!S%gV1q!5,79[Kh3[e*L7VR!ue4:mdqR,L$7P3W23SJ@.dp
+]2!.W#-QIZ9KXR-<;"mP*O_Fog9'M6Dg<Tdd\q^."_J8ZP'Y?3.!dBuV():'D+n.$
+$1/-;dp9W[eo#,kAQ7_(dulK/dB$f8c]J?P)do;d.jt57D`,W8F\mq]6d/@\pIaCf
+Tl9'$WOYLACcDTNlLH`ejf(GFV9At,m//1hk]YhlL6lSoQ,9#grbI*r(%G7AJUc=N
+_7@]Qnu7,d^L-g&P#'9IpPSS@BKtRrGr*^;s4$N5ZY%4g,`:!jU!\E"X==K=5mIJ0
+mqXE,bf/S*CM?o$X19rFmQ_j#mQ0bc7V"=!G*:VF:NSo!^!KACi@;%.;##DdUjY3g
+B4R;X<@!l:A-(u#Oc'iq?)gO5l'!\(8VCesqQ`d@@jI3]>Y]hg8K'r67$1F`j[6L^
+'mH?;E$AuXR3dG\;C7QRM&*`B1KF+0rKfYaB!h.&T4nq41u,+VcF4Ih=j:'!Z>JRk
+ci;P_=2&%I^4=t]/^gC*>E..nltcK9eG5*ECh:#57o)/cdRt[XBGk>h/&\`67eK>(
+glqg9f<-]H$JXgnC!\Y-/],YlWuA6W3>0>rU9?5CD2'OQ<%id"h3XThEf^-u?hA::
+!&JXeq0Du0?@T'^r0WNlH*_/`f'iF@B#[IXF2lU$J`C[UX=?>O4>K(3Xej2VY0]pn
+C_,3?r8<(@Fn#H"Yf/_A%.UF(50k0ub"%!f@t?5=D(<h.4ggeW8j:IVK939C-b%K\
+9kq[8EGE?0KD(9SZ2r?`*W:fLI($h71q].,b[S#PakBm,SU#rZNSl-AjIZJG3rK0i
+6Vl)W[@5Bd-&+mrN'JCn+LEX+`i=f\^cCsp2oFGNfC(X6[b!br`(MLW<TF01HrTf(
+/?=+J>>iJt'oeZ5S.CG)V-Bq<o4H7;U]1<DQi-@;rr>3&8bmZ2nQp^I#Q0sM-@)q0
+ci;A\q6O\Q9,)G:d7V'6\rXc@7m]9W%$SB*X;>KI`%3i:J2',88`9UKJbe\c1LLYn
+:HF/+"X$A>Sud&[!dM"g7='!X68mUt)e&#67idTBX&SpOJOn[^(>o2G37`u$*BVWg
+$+8H(TFE/E1f:Zg`(K#[j&'dPR=P;0Q[a^qs3^0K>*h>"F`BXBD'u9:3Fn+M2\)kq
+E@o@t+uAl[L\\8gc;FTAPtV+$J'?]2IU7N:=.eeErr=Ajae!>%ZY0<dn+j;%`k!^Y
+dCP'%"^+Bp+Gp_""QoQ0e$46afpL9r6c)dX8+W=E[GulSQ'=%c</Q8d"<>'bO[h6F
+'W<'2'P(WK8%:MiqV$0G<h@NXWFqM]QeH-irYU"U.^S^UL$#X\J4RZcPX_>b67X=d
+Zc95)j<)kJ6a.<Gh_[9\VOK`EL'te.[UD9NXO'NP9&kT=Rh<dXhf2u5s3pFU6FQC(
+!`Ysd&PF%2.,l^r9\Hb:J)sT.!2G&>S!$RjchE=grFeFV`-F/`Rl5*9s4$N5ZY%I4
+Rapemb?t;QP9m1j@qtZcf7S;%A)G3=lWSQ)&6N>'3+n+/&kK/:R:A!/:!>"1rUa!_
+@N/h:1Iom]C_=?`Q$LOuL>EXdP+r]T`heG5W&dhDC?Ug07o7:BL/o#l*lK$Ddp]T2
+FR+k^.gjC>1J',5Of3FM:Iu6Ki[B^Wo^:ONJo519SL.RlL$bdhAX3oNUSGfP/,oUT
+"6i`X+)c-.e3[go=V1S\0O\;qN;qGp3gRH:L8L9$LXBT3Io2*5=_%fe=/QetoC%;'
+h,*!69b@XG&ilX8eRjhCPX`s5ZW'A.Hf:/B74d7/&prt/=in?j^ZB)(r5YZ,?@;).
+nb"n_YD"`-q0Du0?@T'^r0WNlH*_,-Rl5crf'iF@B$H.e>=EQ;0LMP8Ej!]C`EThA
+mt(F1lWp>SGmNXcHra'.bE(U_q5;TL,2VbEkVo1XEk=ASFZp:iN2P<e5f[kXbgqo5
+Tlt,k%U<:BO!ZTI*)@bo7O*BX74rMpNoD.]g:,grQo(s-UBKYXVqI&"L+,$O@rVFK
+[dg`3VldlD"[!c%LYmehLR2?,DKaVE+Cl(=P!^`b5pt38lNo]ke9!4fDkI']mNU7Z
+KEZtt>sK)?&??n9Qj`s*p*Tk*3j,fe%o`+8gr,$;/&<X.Wf$Y3AeFP7T4N9fJ5TbM
+=e'ajX7]Y:ict%e3q9=d?Id.fjlcN[H2b/mnmX_Lk09ARCtZ/pd-pe:B$HeV\?iZT
++f.toC(aJsOsiI[aVe+ommDp0;YiWG08g=`E>lmuq8_^.hT%.<Y.kL@D'_+'lU[PZ
+pj,`U^)W3[2lWkX!6[7/r?Ou7!+bnST!!;6c*6p<]S<%Seco4*miQg4#upX1Ue8Bl
+W04Xf2LkbSmIKK7Zc)B=4S"=CX7MoL%7Mf3ne(m%_WNc9-iC(&*<-"aoic[K+)BC'
+>^h+,;>GM:nQp^I#Q0sM-@)q0c'pV-g&KLhq6O\XRl5*9ZY%P`e!,@D;Z?`lJ,,Rs
+:Wq)YMY$d[5NKb.1X2CICtZ.,c(G$cn+j;%c'pV-fs><>rrC3<rr>Oe5Nf2!s4-A+
+Q_3^]kPEPTab]M#Rl5*9ZY%IO2LkbXn+j;%c'pV-fs?omj\l*YSfdP_,bLEqmhP$^
+d!s/noDdG2q6O\XRl5*9ZY%P`d-pe:B$Hf'CtZrqnu7,d^L-g&P#'9IpPSS@BKtRr
+Gr*eHdI6n;B$Hf'CtZ.,ci;G^q6O\XRl5*E+8JmNkhlAOjH&lr<@i%<5QEVT"9'uE
+P>'[0e*m+=B$Hf'CtZ.,ci;M`q6O\XRl5;UO82s!Gd$iVY7\pkY?k22"nKF!ACGCm
+9.^rZ]as@q)Eg:OJsD0(%tZ%U$K:j\@qm?uo%'lj.P%CRDJB=Y+SW$?r2b<>rhYT]
+ro(?$og^t=XF3b@V2\j]iO?Sp7mI%(T)Sf5a4.lh=OmEOmMgNQ!*"#hb/`#Hl<)U:
+!:CeQrr?#>J',g]\,QH!@or[1\8C^5;9f+@.j%[h!3'I0rrBQGn,6,.rr=Pk;Z?`r
+@or[1\8C^5;9f+@.j%[h!3'I0rrBQGn,6,.rr=Pk;Z?`r@or[1\8C^5;9f+@.j%[h
+!3'I0rrBQGn,6,.rr=Pk;Z?`r@or[1\8C^5;9f+@.j%[h!3'I0rrBQGn,6,.rr=Pk
+;Z?`r@or[1\8C^5;9f+@.j%[h!3'I0rrBQGn,6,0s43eA!6W@3^ZnqOrrDI+HiF(F
+F+;?QeA(9Nec,X;)ghSb<-*Q3a4.lh=OmEOmMgNQ!*"#hb/`#Hl<)U:!:CeQrr?#=
+fCKqYAlV#ueW^[IA#A-[%iq;j/,iR5V>gNn`ioCBE80:HUQCQ,=T8@AIZs^HW;>CQ
+Vpt^BF6dl>/,eA%b+A7Os4I~>
+endstream
+endobj
+82 0 obj
+<<
+/Length 1622
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VFh9lJcG&A@C2k[o+l<_/,EC=*2_FM#WN(=b#)6'8.6>?Ptm\Ns&6J,>Bb,V:>Q
+)AG"g1Rra^pdQ@+i24X`)HL]?@`h$3rbZ)/X$9M%KS@r2+Q6gLo@Fcs5#,iu2*mJF
+/>hauh]Un3X83MuT4KZg!ILn%Hai0`37d]Jlg;&Qbk;iue/Pbcc,R:m7\ehPWCkBI
+90"XlWq&sjpX*9]hQi:U'$UYAWHA7-@D,D-@d#_[,#R_YCNmBN!_56(bN[O,l`\jr
+!TeuE)X>)8+F;UQn2+0X'_h&@Z*u[C/jsQOmc>jc),/uHENDrk(h/i%a(8Bh2U8G4
+RDej+kSmr?%';UZlWJ.)W,Jd78^;A??-,h.b'>\[$b0uqP*1Tb14<YipN8j:f85pd
+0?Ee_$X?S<F>4DK5)Aa:b9Zu*:0b(=-_'2T=lZMZT^/Bj9alj*/:dth'HSO_iB18H
+UM]1#\9><up]R:r1poO?\9C-'gE5\b%(W.o[jS\J;Vb$YWL[P4cOq&`Y-gPpnVCe?
+'o>75dB8!Hp(\Q'7uY.+=A2i#WpW3DW#oWm+9NOHAp6`na*gEn+FoJ(1LQWYJ!.LV
+#;XTkecu)`"nr!MO/D%0qLrFj!'LBcCc_=[/F`),)2G?s1,/=6F=Ja6&aU(\,Zt>R
+iS@V*k6[h8QB'k<AGIJpTm-\GV+X0[:1j!PRe&KGi"&I$U%HY^pXmu&(ka$;A/Y,s
+SE*$bT`(n.m,`Ti/0E35H^'AM35b:N@$&Hs^$<^:E(1kip_)F7Z%dm";a$"02!8$@
+5b8aZdhd4(?_>hRo7Zu1B,,eq1.bs#apcdf,pY+Rl5aFe<XPCNS?Ot_=kF^HS%Bmk
+iMRjok=rERM0aHdNM>1JlK'-r,`OepP<qFe64\]^(Y-,TZ7X=e^"c$eGd+"n,KP+5
+B%VY"pqB*@ZI4q@1J3VWgb*+W5gn[[]+sG5q26DjUbFa_ACOk4gWj!R0Vm8gV.X\)
+*/%VW,Boo[T'^h<Vbp-^2`%4"4l4FYT<F3G%J\^X3DR#Qj@`7VFkhgsIeKW\Vo4L#
+GLKr<d)dr=d*%8t^L'_M*"b2,[A]Lh^$,U,m5Q*AA?ZHD=8L<h<=h$W9ocXhPo#)V
+qHIZl5(M9fiG-\eUMiQ*E/GL?Z4hY7'M+m]H%Pi*8]>a,3fGUWB,)C\h17=h:TRL,
+7u](%?HDjPL?Ftu-K5TY(@4$P1ckJOVpjA;#>N(=(,MIK0*gBD(Thd2Wsr*3GU]%)
+nLXFAEAanBCTO+1@>OpXJ>q34-Xoe`\`AMHLbZ!)E2AER@.Z\XMd*1,#W%uq65J[U
+[5GTNj@WKq2=F5Q?6pOTkt>fs!OP\pe*&EIB,'r_m*069rVlfEgXU5c@Ytu@MuoV-
+TUNWXHb)a\j`4e"?AJU+okH>^?4Kupjb\S=:bf.M&/\BeONG36$L]/hY#7iXd)fU!
+@?"lmm^q"M<oe^rhp0t3++@>mIeV,9QBUIT^']P,l%VbHEYn@j53V-hCbDSiH)2!8
+-Ng.(Pj(39;*_OdH\/3Do'Juj=FVBB!s["alAG*Wb1XbYE:/;V--9JK?@MiWKIAEH
+L:5Z?mleorDpnD,[(+UPF)@a#q>UNsf-<4E~>
+endstream
+endobj
+83 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T6 39 0 R
+/T7 21 0 R
+/T9 13 0 R
+>>
+/XObject <<
+/Im10 79 0 R
+/Im11 80 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+85 0 obj
+<<
+/Length 2235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X-D8T3WI'YaHGpsbEf@gs5O$O1[>U'o[jI>`/C,hc:oLoEci',9hP0=OH6Z99U4
+"9E$cDuJPe*e2hE545F.?LJ@SP[^pfl>LIPatg*?\j08QaEmTf6L3[sj"J1-ol3me
+]4R=U)97'0qdY=QI;ekT?@H0+DgLg2Y-:f^bjHd43h9e5q.-t*dZ!9:63u=5GKD,L
+W/b[cY#^atn'rf7TCTp/eVVtB@^/e&V0K#:(gue\2I!1GAs)X@MY$?@5@72lYO?,d
+e5tLsAN(Ul_m@d(&CklLKJVJ&mWZFJ[O%^"!K9TR<>@=8b-<"b:3L*6dO6(DYrNj-
+s!jdWciOBuE;%q?dCaS%g*h$!fh4:`MCZ/a+d=)hma%cp;]3DT,D#XY'C\qBKCP$G
+Y?:V%e"%.S&EYo(h!YImZ-_4_:(2l?"j1oiX>)FR-k6FI2lT^g?N%DR-i$&H&=/$j
+46(Z&*S0Hn=qa=kZ8d_G=t#&5Cm)kU%![+uBr=?h5m>)X_dUA6*ln+[+c'U>?;&pa
+`2M&K,H-mED#n8N3HHZJ)f!SF,i[DX.%&;>gWa0u";9u/8d76lg<IBUPFOhT9$O=9
+C81AoZNGbu-XJlj':Mu`6rpcV`">:dC*W,^(Q*Is;g;D;o<>>hkA/M9a"[c6+(>Lc
+Q/n#Q+s0?eHl-$`e`gNrN=Xk8e>n(o\O88BMF+X<<eWlEHl4KjI&u3jm%@fNl^^;G
+b<K<$,iBlYGH-'BI"_:Q,+P>L_OdKlUj`sGI@b$S+LkF>mY42S01M<AK;)cL&2g0u
+UI?(I"`/ZC*,?#iAcLuMNI5k08"X?]S<Bd&V67J?3+IYP_m3IO*%a`QDP'XsAg'#P
+cIr^t9GBeg-:bW(R-LN0]Y@/-<fGbu/p'Z<R^tF*("3;;qtbm<L+XkX!oR@"$&$/E
+%:ZqKL/#dSkpN5;.gNbnmU2->7I7W^rn1LuYnP\m(5`:l]5o(MrI/8Tgh'"6Ru03f
+Ed8]2lMqCe+_qo>=WE9NYU*:XDjYRtqHJUS3fE_`B[aO69oi"k6mc\J'pYFb!2_UI
+.LcVf.^5N-2oXZ']C)d;hR@'PBrH>r1o7UEA*P:E@ZRS9Ys\MH_ZW6g]/_)]!'i%"
+cK;9c)B"@-<ueIWb4?I@KGB486mjsKE#][r)M4'iZc'c&lUQ^p`DmHlhlr9Yh&c:D
+bf]ANRi'],=JP&*E(34RGT]"cg0p]QAnH[J<LC&c0%@^Cll8>#J[_Ht'=fr!V,+=)
+Oo(nhq`^$[,-4n#L3Y1'$!s2[$,b;1GP:XD3Z"_$V@n**a3&od;VaRR*aF;TOfp_%
+*S!\*c@_n,XLLgGig__,'pn'fCZQ@;a[>[W7orrm#R2B!^%W1q#5Wi:!]]+q!k(Z+
+#:7Y_U<"-aSfn\'P:O.>\\kZc[o8r_fK:Vi2e.=Kc$?V>M@k$VR[EFpXU2Ur0A2HP
+,KdtjoaJ(lDLSlD!9=FgNR&i!M;K+p<.n%bIZH$;2mTY@hjNYkSI-HR2iM?frpeMG
+naf45[aR?7_C-)A7uQ%:VN6T6H0.K#*%KH3S1Pr<o7K.ia014;p?U:SJ1V[3Dj?LP
+bn>Z$@j]<i@9GJ4XW>J2ApIX^`ljlAPEk^gc^_m8%sloq55*tq%tS=r6U8H'UoB*9
+?GAh%37'cpK]2Lt8:eJ67qWl"pSY02HbP:W@r)I.#S$,5#aZ]&+[0".Kp:R_'"2!R
+Ph8eY]-;%HaZP0/'JD4)GBu0;D!%iJ#*F/=m.--%.i^'2ACj"ZCK^O8(g?YMFPJ?X
+Ug#Y;;1;\l:rcLXpIZZj4&.<%HqV`=Ek8SA?97KULSB]A5Ft?/'CIRg7JO9+Nr_\%
+f3I1Qf@-M]Y$?amN0&R-DN#81*kskL0*`reAmS:!^:uKPEFk`s-gtg7#59gpHt]9m
+A66`-ITKPEDC4>"r`;8m#Etg(U+&F"REU*Z][_[C?FQTab969]"#Efm`;Us<Qn3KL
+=Xs-ia#leu>SO#34W<_KO1e,fb/8d43T$cDe#F[)+97h#9/fg7j*%Bo[:n(QeLc+a
+e4t%?g*#*W<1%/'j-sP@OGjgtT-l]T(R.1E@Mlm!@k;[BWrpM"]B&LhEV*hq2ju@]
+4nB"cp7t0$'B#BL[-r9DG#*i(d=V,1%(Y1m4jCo`2`^VLiMBIi67'bPX9[Wa%%Nj?
+:3mcn6LIA"1h(9$_s$!Z]aP#%V\\=8j`Om?F#V"5hY:foqKDp8JQSc~>
+endstream
+endobj
+86 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T7 21 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+88 0 obj
+<<
+/Length 2932
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<_/A9m'#!HYEf78;X$oo#V&@Kc(VMoo]s`JT,^W@(`R_CIGpPLHYaBn^P/X.t
+ZI0U!V?]q2Z<2MIl;cA!2E.6elB^7DSo<&1n_;Rk[ru-$r(GL,'XsRl9mXFdq>BP;
+G.Sj@pL\cYHENF9f%[q+L\o>72c9s'Eq@9LHF[2W@b43Y9<75s\(+41fu6X\Ie@]g
+f:VCB(IaLa.J)k2^T/IFh%,51C]CknY$!+H/Rpml94Q_Z2p_1&QFWhI(q(cSD1Ct1
+(s4jsDZFRmAQWKeIE6AS;JA9>UOHuo]2Rh04M39?J)*7HD-QJsIWdUW=hn(Xf];.)
+1Z7pnRg.V7ZTkhZIm=j0ZW*gOg#(Vj/@JNe@h#)sf2":)ifbSupGt<Y]:lf<594">
+U3MDXiK?4ldaXW2/S?Po[mU)+bG#RA[t=H>eAqR->pY/s=5>mhn%<'d-\d6cXVZqM
+#l[hs]7)_?m/kED^mi)aN)%ps]=l)<@"/I0IMXA`71(^kJ2-%]nTQN!bD7f^N5$Yh
+;@:S85=:GR<a=Y=D$$>b+^jtg;h>^^/EYI"b%r'df=WpE<r,YQ-QHC__Z%qI0C:IU
+lgFbeRt'<4>RP"?j2p`GSA&><qeb?UFpD"[XI+V4gi(L`kXb2CVE%h]G/'S<k@l[H
+iBI!'FZQ0oQ_rO1mZpa3JoNK[PuY8JeRcDVb!!j`=pr;j6kdL7+"@^pGV<3FPlelq
+:'AX_H91j,f@;RlB=]iff7F1X@<(W';o6/Wde/]`gXhBec5,LC:6Nef._f4=`eWhQ
+aUH%V08PN71)-#U3GY!lBknbu]QQ<QdQ,c$@S<<;ED0.+(s":SNqsZXqsu0/2=-XP
+h#/?.SoFI!GU?u-@(Uc+.3V+WMH=7Y&iY;\Y2f=b/Xr2GeN0$7_;\*DT%_=Y>=pmF
+"sl!1lCiOo+sQ"29;UHaY-<;&e&-I3cU0jILFgEKQND560sD6SO(.oW#[-ZLl,HjY
+Z.`4i.0%n5k]Q@Xc8.aApaqRE10e7f]%qq@(KXN<5'h(`mECik.duZ#o6q3$&YXDn
+3]AWqcI(J^80ICQ!k/^qNnaQs:lr3MWTfjh%k'u@Q3CU$la;2:.6I@_kQ<ufn1hO&
+$7cM[o*P7'"Q\M5J;&^ID:J7KcJ^BrFE,f1\#Y7S,J0%X&oe%%JLo(DJZg)j"Cl2d
+E@r'fT,"W'ZCLf[`fW9B&/@\!]<+-H>fNhpG$C"P`Co_\10:.1,*!t&QfQ((+XCXN
+gW;sNbA7Oad/`F$a<WKH\OE9[Z2+!9Y1a#3%3tao(V_LblgE$@pa"iFbBW&L*ISI<
+aQDVeHV%60]I>Qb_cT,'hC/C.A7$%NG3m-@ptaOn%)#8iRTVt(b$D!nU]P6Y`munh
+'c7(t)AcNl;OnMGnDV?'ihT.%V6)n9g1>U4YZfFA)3YY?k0VIS:Mjbap*d04)q7&H
+:j8VUWJ,gZH_Z[IMc"u:Gs">0QR8)`%9MYrm"VWJFY_^Z0Di1c@/b^V7u;t+a2a#P
+8&]aKHbGE::l3>gq\')bMbc[gilDc\Th,@M=dj^;L2+^9e&k(%TRZcYjP]L^O"\6n
+:dp;0qpTTlg/#F\R#?qV4*#<^T8W),-^WZp+5O"ojCr-7T)!,IN[#9]W^K'te9g.?
+0f1m@$I\B*X:A5Q'p+6:)+fjf@d\3q=MOWAUW'V^9Rl$c*(hH5!XbIt]BL*ZP="\]
+:;&;2"DM-1iPF,arK/E^G,AdJSfa)<R!^;j`/M3k8XKPWW9W\R_5;eL"mT;C-KFcP
+i=T#P]9eR5JT;Y_r7],r^aq-Z']CJ[`*sph"cc1fX32kOF#YO5`F7F3"-ufpPpB<3
+0Hu),8@T057YUBQC,k!g)B)-WSsMhkon&fB`q,UM#L#c.nWJ-6HI?l8M*HTcT8uip
+F/e0BgX$1;U(<1"UT4HWpFm..1@dW=]_"C6TZ[XTHt#X)D;/ltR6mV5h]:0$!ftSu
+mgtR?oP;683@/=Zo?#mOE554(><],plZ%5\'jeWA+];I*dR[A:;PRpt5,pr8`3c+l
+p>U._dIJ3Rd:;OLiP(__I)4isCH03WiS+DLQVj?.T&E!inCqn_TtdEscR9MU+k77+
+(UtulP3CD\/XbTe7WrP$'-[t`A=!((Nl6Y]Fm"B&.tWu&\Jqe\5Z&+Rl&27ELCm@s
+5N/9fKU+Hd^/QdeT;nU52(2Z?``#DPgMJ=p%:lMT?<J21@-&A+Je5u`DKBRY=,3)3
+Q5K=p-V4^%[QTi^dZe%q)'[/L<.>Ah,8M3^+*>2$3g&cPZ^;%[P5M9h7YQ54d[4Od
+o(=mPq:qBE;qmg=:a:t?CI@`UhK`@Z!Gn'fPeI(t\WO3snZ/<1a@3moC'R5`?cA%/
+)#W'!AmEW]3E+"sMm'-I:>#9H#/MV=d-Mo2fb?:ABd%IZ@'#miVB6AUZ$'sagsH7I
+e%H9eT*,N>BCs%d8@q?9IlV9rZ;_EYH]'174K]`X89A@?'hu0Af?J*_%?cf`#k\W>
+-Z+j$3[rj"Oi,gbiTKe:,NeKsh(FP=e:)l.P+6OO:giI,1auVq@Ajl/4GSX41s][<
+?3IKtS\f'@)^c(ZnK:I(?oTcWkR"3;1s*N@AS>de6W_*rg:>Kd6S,lkgUD%5e]o2O
+b9)$#0TUV@.IK^ZeQ7b+_5I2b)EZM<fDXkINVkbOM$\dEYIiKqo]SkF&;Gh)'-=]m
+`c6h?/AN\MeO$/\IcQ(8_Z%.Rhp,,=\t:FKfn)T97icI_-e-;d8VUcb.2.#Wh^_UC
+TDRT'HU>UeKU_#>g\P(M,'u0b"BS9),R`i=:c^XPKCKP:9h7CIU#cgPkqol;K)V5*
+qZ!,PJR4G9Tnja`(u)PP$Z/S9&rNSTje5X1<_lRG>d9Z3/"A5F,YCMj/]c::+^_9$
+p[*ecF8$YTg.2'^F7[EPV+)c1~>
+endstream
+endobj
+89 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T3 90 0 R
+/T5 38 0 R
+/T6 39 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+92 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im12
+/Width 765
+/Height 694
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 14690
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]"%D&Si$q2&T)biiRd@G"Eh-,:n8V/&r_I!2dBrchb[`e0tIfKHKk/.3R,>7h3
+(g\k50*#a4o?hu)iIB=[(V:J:]X5BgDj,P*>POQ2EP=St3rr.d+5POdI]eI(`rnX@
+f]^%3o=se3CRWk<Ia@r*a+G17X^:J8p:g>C!-@Y9]l3n"DZEJHAp`G5J)>I_n/C]e
+-B_#=O.-(hj7O5G%Y,0u6pcathk\<:+$#ML)#tsZIf=0pWr;D;=0D@ck3p",n3_-p
+!,\D,]P_rMVWDm-q7Z:$s2#9P5A6'bIW*CgSWB.frI8AW\,u_E`uXc$^H?'+4oF%n
+A081VVtlCt,Q",sO."mZgbV13%si3i3NPC3Rbp@#pFX)@8(duji;)(%!krUPT\Ft:
+VO8M6?I05/r':C&S,Z[d0]q9QIcMR7#EA8umh[(Tc$tcRebj4_q`<@+Y]gUC6TdR<
+Q1nSUZTSD`OHZ<_gRYfF14NcZ!,-rS1X$B2"7q.j&^2=L@UX^n#f6FIr801mYQSnD
+b>uLXYLr.o\eQm2[(K^5EiJGWq1%/S^S>9MRfUk;'iAH;fClDmr4h83!-@Y=g_F&H
+oCoA(4oigB')95V4oF2[5jpE.d"H>^ItW<Nrt0]6#N)!MrSG_h2p;f0@C88B&*<uV
+#L`bGK5#o4_6h#U?s6re0J+tCQkl&29FK&TV?Q)edfT,nBn?)r[(uTI>$ue5/MKDV
+(761;$d9-Y"m-'=!qV%YJbd-h_#.SD@"'d]0L(p?Qlf!0bR^QSjp0?:o7Lb.q8'GR
+r*W]9IP<?-rt%/Ih?+]8QsUO$1QEEK!1:MO<FUl5+VC*V")W[IgOK@fDasa<iXQ6F
+q('oYngCf(V^!mF(">Z9K(@kX!9Sd"Yqe2fBHIH@IteP7:GV4F97cns0bPKO5N<5-
+IjRO`T#B:-&V0]G@kR<QL4@npQp2=TWfLTg(TtRO#ttqVT1OJ_bg/(NmXNINRpgc7
+3HMqj_bZ'`.;"rq(Akigk4eD'*;`Yf@fH(Vq*!O4hu(-b@Jhmrr!1tMcWob-0mt?U
+rga(qn!.J/:>,>_9nE+aetU4LST*cjDg,*]=/-b&J&d9Co\iR6D9o9TU6GZLn$q1o
+3p50b4uGC-AgJ,koC'2,C/*_XptZD-cL"M)3uTgQNmjPI5Q$QFRco\mCje3R;Y&"H
+!V<K7$XIu5d=8T/-Aaj9F5Fh)G-;&oWWp]IAXi,?`+MhLd;2=jhQl:)hI\).S^R#^
+0RnqOq&+#]r\UtU.*L$[B_usnBM-0\_u0<BQ"3oCr)mT)Zn,tt>7_)Z;&Xm.k0Iij
+#OeY]B>m$b7paXLE/pmmh>0':ph)L78s5Q/\CPF49&m(/X[J-:gMVPh_EYO*$P$Si
+D'JHSqbQ0cId4a7\*M6@jqmudfeX^gQ*XbH@hp&%QiCaX2fAWSLf0!6DHAjQ7C^%<
+^[1c4--p8`2fAV0iLe?l?hadXCBKig_n,ZerJ^77:d=`%;_V2`];$`-5M]'q,]>r]
+i%Kc5E.qTeI`;c1D=a+hq:F%cp]WH\O$<]\Dn4Cam.AFSDuS6u`(cD/96IT.:@F;i
+6AQ\AL#9E9':Zt<QARuQ!EI!*4tYZZZjRo9%R:U[J+S.ngK>tP_XQGW]\cR=&,qs:
+JGI+6/gu7eUc^fpc#WGa&9Gmn2#KheT,ERFm8Wl\51Z4j]$HUK-rekuHLg-4Xu-&G
+b[2(3_tW"5?(MDt#5#t[\!msg?`!8(mqY#:XpV_1&o<t#1]6*g>plU2U=UeWeaqWZ
+&c"tmdLa"=Q_-"@&"i6Y0PDc"1&kn"o%YtOBiu+eM6Sn30)Y!gUSMNWmIB]\B@)@)
+f1WUQF6@%BmF5Ocr#_m`Lm5!]Y2DHZ`H3NrMtQGT,]^M7AcC3II^=)KiCEp'N#7!W
+k*P,8mQRO5r,?H*pbZ8W$t6ufhPj(0pEBGtlU0mKJSh:j'BXM!^?X,AMXA#]R?rU,
+(islHI;kM`qr\R/5J6f9MoN*h#O-8._OOGX#ReijZ?k(6reNp2%0+lU8J@FSQ^*&N
+;".`,+)r'GJu#!;AsE,If]J5pO!BDZCAuG.2Z%o/2D-N2kcn*\h^eV?]4&VGK&<k^
+GJUaj4)IC1T@qc$,88A/?#&WbYok>LM]I2'o3LUa/tV=<$^##Ln+s3=RC[7#L4;&O
+n'MHEni_n#QYjV8DK7eWK/W':riG]A%KBhu5O+fO/(`_KGjWYDn1MH>T=&+jnE6?K
+C%qohs8%O7TC;KqBd#tW]M7"LlbTYkpiasniu&%XJ(33H:X6.(96s?MVYW>P-dSXP
+TIE>d^NUP'_]N$n;.lsegB6RdGK<t*5Ebhp9#!4\M2SihZTVWTE[uUHAPYtjQVFps
+.M_\cc\4S6Z^G.A&1?UV+^@^;iGWH0P+GsHqGUH$Is'C4dW/hO,?#N[VWQ4k3K.Z'
+[<Xn[r$gh+?1+Y4Ne=j4r2tL-@/cT,Q.olqB\Aaf<=is0Sc=[/C:s%;0L&]:BY1BE
+<cDl?9=HMkF)fM:Z3fE#pn'MFjT0WVfCO@73^g3N,lbEmIk8'&Q9D_$TCOt%-/J*X
+0!XT06P>"3fV@XV?EN^`p\Z#ofGb4u%J(rAME>b/g7Ge/m[9iKBD0nU3p&oAe%?S,
+rseRdKR\h\q]I1fe8a`F4T)+?Q+kOk!N@pRl/q/]jAO(a\O"od9Pp,=8qglR-PHhg
+p+iZXIk1-&0'5q=5Q0B/3rI$_?"WhK7g`s0o<7OBKKl0`iA?5fHE,?e`km5Cr'FK'
+]2oF+%+9=N`h,pca8Gf[e/F$W.j=pD`km5Cr'FKDLN.of%"*^_T7^5t<mcqk<d$E&
+HX3UYI`=q4JolI=2\(<DjcrBf%kndukKR@U8=,qBHQ^a2^"G%'ffOo&[`Z2jZ*=nq
+F8O-%8O]YH^Z:J?4n#(ZWMneqFre!&mOX%*$=*Vd[8Rum,NaL"cg@UoM5Sn#`dD7j
+Gp-e5Teu[Ac2Um6/(3d#c\12*"t\Y(a.F5Yrj5;8hphQKKYL[SP?B3M_Z+siY>ip=
+Kccpe&';H\@&<"8Q8\92K>cX9kB1Z]jO,g80i#I4m$MkJou'JIs"l<&=W%/2_th*"
+7qG"Sl@A!9)/m>!o>f0[s.jaud_^LUq>S)+$qdEt)Le'G3c"-3QC:%5B>2oDiE'K;
+N<NhRphL7eOnm$KHW6BIGe,D&2?"gm`n5lEL&&-2^M<[:]["&h6YZ<QQp5kQf7Ri.
+8,,.Z21HqZB-VUK%f\;q.c"-@<_kKj_LFFm`Nt[g</:JuQF(pc<bhp2-P8.a`NqF=
+p,#S&!(2LU?<PVr-0DDZX9MJG@_Eb@J"<&/oA<!9`<%Sqk6?lQIW]@'q]+KYplcQ4
+r#03:o,WAN-S^5Ks#&7D1Sm#1_Ona`k0Iu"!/6I6QV$Xc2l<kU$RTGU)PrXnCKLjl
+&oGm#`clIS4.u19#h/t_APWqUc!SU7/]H27_4_-a&gNh%$buO`l?`aYr(.</r]U6J
+bYtu[RQ2HKPT_[EK+)AkcY!3nk,Il&5b<fS`aBUjR*j-mr-*e=PABh>5kpN[chtt5
+mhKCgm_m#VZY-u-bUR+jhb/IN@6Dm3B"31p,dp#6IE"&B?MJd82a:frI6j\MiD3o:
+oD?uq:&==BGtDV[P,"H&B62^AF!cP/-S_.e"+Kd4D9cZ'rZjrkrthIq#/["Nf]N48
+nonfK6?/]4"b]*sdEV^e`BQ<#7].1T87HQ0s/%>shMb2g_OlJ^o7%,0c0090C*YOD
+q0+OK5.DM&=>9akB&:$H2*0P!IhLngcdtQSV].*V_S#[Vra<d*=+eH&q;%:aNUS:r
+o32>I8A_t6&cQaiN)tYM]_STbdgj6eKR*/jBr2nUN?hn\Mr8=q!V9Lu=!J$=h]fQK
+8XM5^-G@H*#D>;J1Zh4&4V7T<baAFedG*VLV].*V_Mn<Z*q-D'!DCXNrh[Rmrs8YK
+9ON<qfCkl0nW=>/0L$ZGAJZhh8MP.4+oKMVkQ2U?](qm2rm.hcl(<q!c2UeY'D_\e
+Z#9Q*n8J"jpa<tlq8Ht3En<=)Il>N??YjnMr!<=5_#/OXL\OXLbeFrXb<Npp,%1Dr
+;Xj.SGKBe@Qna(;n\3TKQ9PAVa,Kg9%0%AuUu+(Bbl;W<kLeV+!bT[VGdHM:i1>Cp
+!(F^$gg9_pFa=61R)&W)%&JdB.idO"O*U?g,m[lOOS+OdO82Vm+T2'jDuT+mdtd91
+Y,d.f2[I0IXIER!HtJ(^gZIQaJ7`3gS=WNf8,1-C](p,rJ*T)J$,WkfoB%]D7YQ=@
+po0,mi?&*ljtCUAL-PJ&e:9eO@/cZ`&:P;.r&KQ-AIm/l_QP&Ks8F20\("\"]EnPA
+_#4.W#+[JYr_*rNc5]Ye1XH[`k-#$,D\akcY=H9=$KqoB07iV^"m2.:fjbeb?fIO6
+T@Ps9':)/`o`OeY>Z1JQlV$Gk4+I'%BElreo1N?+Ir%78!P'(E#L"h59ejM'!LR4<
+>0sm0(Wr=hJb^UZea1WY=R_=XbV)7dh(a[-quZrj93bE^Lj,O1cj%]IECo[ujg`5.
+nX(R!qLSGg,2rQeq<OcA83+Pj+.-CZ1W9X7IUIU2K\n=7^BDDl(78IGA^Yq\5Qp59
+5krS*o1PbC0al2Y6)L%$42S0CQsYG;nMg8;q@S2T_#+gUpplq$rs6F<&dZ6T@"&E8
+h^gIr"N#'mQsTpR2[dh_Jaf-4k*I4.ms]aFRfP[fr"<OtSR\sdn.,NC09MZ3KO6qt
+^BDDl(78G1iAV.g0B"\N4`2ADo1L5(AqBb(;"g7[k*M`>bk`@=f+6(Y_1k1P):/H/
+00uJ&O#OqZ+.-De%R7S(7JQNXo1Le"8(f[V0Y[akG:[u/#3M7[;iL4,%*UAUn='UD
+QXFQW0&[)NIUIU23rIcZ(Z?G9QsV$n`<a5-@"&E8h^gIr"N(1'qdj7#-k$2TeX"?U
+aO]t;@KQa;Q]8s)R$ZV3D#%U(khd.8ru;UMD1V<)!V,%_3<'u*OL+*ZAqBQ+`rbE/
+Ns3f>*XeJ[4;Kn@GV!f_n6"WHi3C)n_.-?f:B3M8m/.t(Q[-8Z[/aHnG?qRo@a>#*
+V`ps'X'1Dl51fZ?Na8`7^P27i,sH`A`C^+_8R8\VjnuN8[[n?:4&Zm]b;fM0++,.!
+):WSps6NnIK?sOhpYbXRS=]ek4/:,+kPtG[E,-em\'G$*s5J[WmsNsqc'HL&cN!T_
+rV>OTSBe1.bsH]ZnZqaJnYQ3c31Z3gO6%S?mn7#'SU]uRh7WP8!(Tq-k&38bU>^F3
+o0`H6.a0k:/*UWVhYA=DE"sSBhqr85r%omQpd_<r^R`Y<WWHQEc>rn]h-YFTodA#!
+725eaYd*e`V!S$4kOU:%=$ZWVLAJ`8A7m6O@k;\M*^AKrSDP!p."qB3hCrRh0!qJ#
+009-?JFeEZ_OOs=D5$RU]E^G]\1$/.H/>mSq6g-[o2?Q]Ur]*s-WL2O$d>#-d_F$%
+X8PP>nA29[S6V9l.r'/)`r91mpqa\/S/KT_m`q)g++Sd-EIR`Hl`n_G^okm@^Qea;
+c4B>2h>'cZebNS/kKba!#G:TPYC^@Zjc8qn24rpe;CDb-HqNBLPkRBAP0Q9]'**7>
+D`AKeq>WX+eGi<0*<8$.OS[#c7F(qbs"sfHK:C?Qr4Vm9o+-<S5lBR.oJuqUk58]q
+`"2:]fB8WoT,dtGGJ"cC?QeS1>hK;N6iGq5#Wb2g&+2g/q,?kU@2/`\2,uU`j;X$[
+!Nnr:q74(`6'%`ep7Fd14/a6+N^_6cDHJ?!I='rYi,UAmIO0FiEekh8">T)kC3Q4U
+Vu6EF!e;T8S6r5.Pk2NH`t8<<,O#&hPWt,P5?t0hJ0*\h"2M;M3^3W=+mSt*g]f`&
+GV!f_n6"WHi3=9`r/L)X5aSSm]/!P<qV0#X@WdY'jUg;s1)G#V6W!A1\M">]5J1p:
+m3r[\C'p]6@0iR<jr%'sD&A2dW82V!ia:jGCW0YA4'qh:Xbkq'#*#,eM#T_,c9K#3
+o:%t0FS_^F1&edH#NqQ?M^91g:E![L0k346a3IhKk09e>CfOD?%MQ17FZk)o3S#gp
+!I>s8cX,Mg6.#7;`C7g#Hqf]N4JoXr+TAl^F)iA3RBrH=SW=dm";f@;Z^c%Gmgc$Q
+S9j"+2sQ#ZNem;]pV'W%b_6nbI.N6Ha";'c&:_TfmBpf&bF-a1(&sT3!SIiI3IcLD
+%H=#NN.p7=3uIE_5&O<<3m?iTZhhOdpujUqYagUB]6Td&Fm$)C2^!Q8.-D[VUot!?
+msI^63klVM+1JBCg4l05'HC4M7Ju!R.b($8qV;-Y<oj2,kKQF6@JJPIr4^d>.WYAa
+9iTG^4r*V.cLM2!-T.N-]2>!oEsXikHVmS<`4(C\I?B/;?`D*\gi_o(P1s781L9)(
+]Lo4X([3Kg$m@^&$#WlUdrBY=#'ODLP1T%ib*gDOecQ6?r0;0D`Hb]r$5Z#g57kbS
+I_QhCE=+VII59H7)/eU7GcPni)g+&ZIK4hXNLV)@hd\b2+!YH0mqGR-DElL8-r6n:
+<+_G](7KkSN2a,-ooO7D,(22\MC?aYGMeBYoB"5e?gPa?.j=St=be$>DtU'W%@K+P
+,Yi9C6/*d<(`XD[/B&WOO52corED9Hn];l^N[p%&I=;EW^Tl18io^bUT0,R?>NPd+
+NN;3,hST!Rai<8Lecqn<7I2FOCPAbMZPKrl.h]0?c72q>_)I8Lk-`g[Nk8`LJ"Uq%
+SF^rqQT?aefQSS-L0O1$gG&*B'BaAar8SR`OcQ!Am*teVf-At*)L>_Far,:$Faip/
+nSc/]cD`]8fnhk^J!7c#\'Be<"7[0tAQN`0gRC!G90'\dUUOG)mOJ,^_R<6VYOh<I
+A2fGL*2`ZtSA3fhrb3n,S,,(^YH"*q2E3o_+:H+padUY\8s:n"Zg2KC2W4qEmJOCC
+P##hPpq=&TdF_dbB@ZDgeY!NE43p61Ph2DRdfI(#U@pNiIV2k#:/(Vda6e\4PMJ%4
+NM!V>]=ojsnM`JCH\@q;;Voq^nSc/]7f5K<o-Y4EElUT^/,)1(OrS8D/TWJk?^FI,
+L(qKue`L\U+m&[P9!5OAiH3I$+"+<SE]:)i+/f&HSc9RhRk-^f*HpJaS_Yp]#N3XQ
+o7P'bk6I%Oc4:sheG7c@+TJVYs-UmUfUk\oG[M>>cHgW8&:[WPM5^bCG#A<R-0Y7S
+LnEW'?lrk'T9>fWU\KVFWPUY=/9n[d+]A]D.Me40fQ>(4I#0jJQYs"SY@-%5(=hYW
+<b]:eTpU1$!3cWbS3Pg8od5YZipS"=E&j4G^TV9q-%g8Z1DR3;Vpcs'#66Y/k58EM
+Y4K9R-!>+*hZ%Yj;@('A@a6XV?HW(,nPbA@$/u1[&p/SgYDcZ`-7Lj"B1%'!]:@oK
+Mr@R!Yi_$3fR]^e")o?Vc4@^-JFeE6;K7.p+,D#oO.,Z]ogAZ8G!qmn*<Hjt]Qgp-
+No))Y%gQuId.t6%$KA810dK^;9Ot11iWi*_3rbW--hZ1JAH7C>3If1/qQs`Ds#0rj
+eOkm$P*3/:<78&LV%h-(oi:8S!RO*Uq74(`Bn!J6rj+"m8%NsnRWl2sUZtfHEaSm5
+YfQXHHLi^]5WnS_27H:pib-LZI^#'ucEGc6EftO6&srmnZeWWiXLol=2ZfY7R.G+$
+]?]lFd8,*_]ZlR4-gDW(#>9n6^CY$,kL[`"RWMI!f&BWSDF3g*BHVc.Pb@VDb3QBn
+6,qfpUZU2[2jlFieB4R=;pRJVp*5_@L`\/okklA1^.5($1_Os1D$Ssn;ZI_eo7P)(
+Wq-=3-Drmh!+uperpc>$f_mEYj.0+Z,V!'RgIfB:?kj=.#\pjdml&m,BE-VJ,l)O(
+6dYY.nEkB>RYOrg'[b\V'lW72#R(_^9!_8+[hg9tiZ[#Mr8Lh@;t^3Cc4BHgLjAMl
+#<GZY`:(esHNGqbpN0sdAUKEuf4c`!fF,,%lqao#buq)BQK7l&61n2u$&^59bC7qj
+R%j.&7#0Gh`GV'Fb@?BcZ,r6.@B.to3P/HYDbb%hF(3G`]II4!j:<FB`HaR,fUq4!
+4iMF&OY!cpPZkXu/>+.Gf+\&-AtOPF;,[@kh;k'f/uOoX`AC7'O4Qf@Oe1l<6mhX$
+/9ZK_62V!YCha<+Z0o^,djBMk0A!>)(9AisNrob7*F1[F^A*U@C/EYP8c/qi\[fuR
+cU-f-Dc=&P`3Y'nj,9Pk7[5EgqT8b25H2RrZm:*M<DL7_FlH*O\8$mso>u]tQ.N?I
+O"5ZXA_,e7`BTQ4hN=2sCT$J*4)A3M'u-XL^G!&<-"@nLEAM6-7IcjThSca*2>=EO
+m;:h#O;sd\.^HnV`S]&%G/Toc-t%2@T+Nk9\*[G?\Q8WS@/>=Wn_7G8BTr5A8j)VW
+R3Gs;nqXOGVlITU/0*gi5$7_+kF_IZS?B)_k7j(7#P27B$A\rA$-EVg*Vq(Q(Ln36
+R72A:`)\%BN9DdIb=RoO"P&R$ZWN6)j\1;.WP*Bd),hhj*[grKo<0'II2?8qiV^(h
+d)DQ*bu!`<!+l'E0rP*8^C<*A!HeloIK6OiJ^+eA[>6k.3s=VW1,pW=7gM.?=*?n-
+:d=^eK$FnsKDQ4$rfm>.(r\^E9bkq[q$,kEJEmegI]i*Fd%dOrrF]!e%dF:cA!-A\
+)cfR6hk'TD\/`\_?\tD3*9%2f6-T/4g0Nmn.KBC*!+6*fk8.kdjnu:VE<O)=#Whu2
+jU\-X%p/$2TSN<^!,sNAc4@^=LcRa#[fObb*XeJ[4;Kn@GUu?FIq*gDct+`JY)F-R
+rjLca%!3%`(\+*=>g,&96(q<6MM9=thQGH''FA)'"]<c'KFf(_AbCL#eM[h.DU`RY
+nm(]<ErNK+YK%Y:rg)-RDerRokfrFFp^\P/r6l$<^\Lf"V_:(Cj1hm@E3>VC=E9O?
+FrFfs0k346a3IhKk09e>bd;<\=BlXUZ^/!XQ>W&_E9h@d1_Jn`Df)cZ1d+]UdI@TO
+$=ocdBs%Mn5@rN<go"uNCo:_)A&f>#H!pZ&39r'WnEsDi_l;7i[\Z1O;i!CtgFFNJ
+L'o`;q;rEo:Kc7d+T@*Uf>f@9Ri1TknSbri:RD#N.-Jp;YX/1cT!;,iA-_-8b,9'U
+=GJp8E`QP7%j0U3cc13&/j$h;ONCUK@V`CUipR38r*tZWeR80CYCos>GD#9][T-Yg
+Yk+35fla@ef>R-;jUSWm[QL)q3PY33F-/p/^,?V=DfMM/SGlJ$e[(fB7Jq2O7uEqg
+`0P75H%sWijS\BC4J`\J''f*X%N^(q,#`I4W<Z%5F4nl]Odkql/\52_P7'1"lu4<(
+be:G;VW74K%ICn"[BJ8LPV\S'Xlg8<q((9gMt=Ho'X!72IaAbSq>G3T`@7Ta5N#pR
+HuA*EGaZ0O>?j(,IK4hXNLV)@hda(cNtjJqat?$VKth)cTr+11%ZjiZr'FTJPatVG
+81pM^`.&"m3^<-^92=.DW4\0,:DDg'"06KldT:PCe#";E)QlV:OIXZs@j]4\l5.t?
+P*m'-M%.:;FI\&cYYi^'ji?0tpNS'Vdkh_`Tu?*=.SmP/cR<DQZUjfV\IoQ#hG;iQ
+E'>4%^JWhT#XO>L:.>(YX5^5[B>7]Q>R-B6g4=&s0=$RTdpgA'JGt*b_F>;`cP[\l
+Bc+H].MqCF\&4&T26@$hA"<.Gppg(X`Fh^K:7IPZO"WO3HW$CXicg`A)_p(B:#@<I
+m+3;*]Z6?%D\9`#H]$"_N>UaSo#mRNrklr5:Ia1jVoLWS*c9nEaS^8DU@TbY'B]%+
+nN4eDhK]Y><d"_k73eil<Gjse3X2s@)_O3:kQ;pfICPgC!Vf[Qr*W[cr*W[cr*WZR
+SY+^@jSsPDD$#0>:?Uf_/r1V7#<tPQo0`H63V5=]$9s$Q`P8h?J9-LM3<7im53M+o
+IL5j&C1;[/<kKX2#J^d.jo"@pohsAMG(/0N^^W9lr(?l\h@MpH$2U0!X5.oIV/qG7
+glt"c(MYU7IY]*D#+a$]V>SBgq6uZ9"K3>mf*fB93h7@CkKrPm!'CHF5?J[\5?J[\
+5?O4i3Ig(8g<b6apTEl621&]:+-F4B<]=go^PIAIA/[t]]:e:>kAd#6rpGiJFZoCk
+^2sM*eZa`=>=gPL4ic<TBsKP\@irn*i]lQ&=2eO=pO2S@X<rDDI4Ak9`'9YBkE!sb
+r4l)k5rXC_j$0j@j?+&^=JgmmBo=sim,d"`p<7hAml\#"Bq&QuF,/6bqg\G&Yk=->
+ASHI\T09U$k>1Ue'og!J^(eY;.qZ>\5l=iPbK9^Kc'drRm!7s3@PTsU+8fL-%.EV\
+$c]3A5*l&BX3fo)lFA"hB@tWDgR;2-d/#?;d/i6F34$4nofL3+7XJ26,<qLEAcJVX
+oB3<]62WHMS.n3@c$2PM/Xmna0ZPj0^Fu+4mqsN-Kua3p`VJ=T-KhrF]CN3lr%GW:
+s*I1\Be]JC/"tMhh9#@p[R8p*DW`ZI[L5_uF][0Z)0_3iYj3CSl<MF.dcX=LmBF84
+'#/@)@YgP#C5Js,cVkFjPucB62*h)8%X.8M.A(QB\t#BUT4=,<HRS)IT"Ma07Ae0M
+W%XCjjg%WtjQ1b[M_95<E+-2:"V2q]k1%?,;Fdofs8/(B-"Wroe67X1b[2f/)Y:JT
+&akHoIdj'roD<)m@g_JJ%lj>dHlhGJGaQ,$@rWCIquHX9K:F$6hrD$6^B`s3CHR:u
+r@^EVebOnWBR8h@_#C.d_.1"=r5:HY@D5,PIaH=#bYPN5iHqQeS[,]T^1k_p'G$Gj
+fRql=_(8B#4O)hCGR/pWIn1J&dJ6q>:ar#il]]7,HSDd22O)_A572k3J^2U7n^0/9
+rJng7k7j8H*oTcA,7aW8j.&>-&q>_*Ua#e7(;EsXN]iL%"8RB.QeS&D^SqS10>Sdo
+\$>`J'Z<d[`IF9NpKnNB&"^U+kKe.c1qmsSF,VBhXb/s(p^@*ji'Abm%ab2R\Es.:
+JPY8[>gE6Ir$lZ7YUjaBYUjaBYUmK5cY`gTJ,Bbj9aE[!p^!G9cZN>$rs.'RWPW%[
+3h7AP#LB*iq3)6eG`.&e`<#-3@<6ZpqV-d]<.dk-,#\_s/+bhd=!LS$j%RXD<kKWS
+0*s\D-\uK8RgI4B6TO9+<i]BL_$XKB&SZ_r"Tu[R^;,$W=5ml@4;'l"rcjuPLLTV$
+pq^A7S6r>QFag/a8,QQHc4YpTI%3C`(MYU7I][-.o;=>9I[p4R"+Xg%3e.""9(\Dt
+:FX,FH(*d\Sf2U/BETB0hTZZ41B8Abc@9G]JYrZZ+MH'M@Y]N4"^iHlI]tAqGCBO0
+b3,<;J=CT)q2+mS*]nG%I2-V_YmU_>B7I-F\18qt^EWYu+[6a<d01J%pM:#p5D7LR
+TA6;bfmJt\3jN/N>_mkU\t#CEbrC1_97);\GOAliiuBkn$DuKd$;q3[<1@,&?1*Jk
+49bW_IEkWk<(Y`NQpO-b@['!WVQOnB8JNLhEln.!\K;CXT0eV1>:!B?Ko/pmkQ(.F
+.S+l=YA)BA`;^MU3<($OdXAr1MQ^#9Uacj-(jNl;ltHnc;#`>]QMIYRnkM)2G&iL<
+O"+ghYJ_Jqs!dS#^KJ7`PdTcq[2@>CRa2jPOM)`Kr^1Nir"#LEq46V#>NApR2U[\G
+nU*kj9)La5$Sp,]$g)9Un=_$!56C6MJ+"E'5NDsV0*iVVG5d!k\t&f[k3;!1"i6CZ
+cN!?4k.eS+kQ!?M+F#Tfq>WjT`;_^X#@Jn+q76:8S,!)PK[0MqqsRUVrr[8]FN&eo
+$;lgOZ%7k@2UV@#qpind+c3NdVnZR+;YA]hWB[U8F.C!6Fr`Y*pCZXb/,l<U%m6D.
+cMqc-"musjKTt%^EtN].]o"k87j.fmRHOLB7FmHV4-I-/nga?(M6WZ(&pf?.=(d9Z
+F7!ukP*"\6fL&9pc7X*\LjsR8ir&%%h&%Lq^C'e<mG;dns2%ITr'pV[l;[,L3.G@4
+Ljr]Jk56_#p\a%$Mq$e&#uj&LJ-Rj]q,RFV4^58+TT8QQo%md#$W=%@U<IV+!,fRl
+k6KoL_"kgP_"kgP_"kgPr.sqdD,4\S:`Q,j8Fhb1ARHO-`;'qP-Tbn+20jUt#jPc`
+7l\8]F/O*JP=#o]\kI,CPW-_o$G<9:r)V@Y:*,2c_8ZoH[p!nm`-Xm/QSDe\jS=R$
+*-V[VIs#?_5KO+pH^'rM$]7WQ"&C&j#Nl=FVI][jD5)fH'>H/bgAH3snUhWV1B2]6
+:T,l)YJm*=oCI0^+2#*Lk-mLNE>6YrT!t,[]gDW^0ZEjOF-dj42sdU*BR@ldD"B,Z
+3K<o'?p1AtIK8edEW1IFb5;65-9D1Ah>.)$o7JoVcMtq7hSAs',"1Vo:BJfP(*P_'
+(OsR&s.0_,Nsi`_3h7AX#LB*aq#ePGSj]4B6i5e-oK#4t%j")Vk(i`JA*@u_809sM
+?K[r-=o\cTS,)6=(4^u.3'SSVK.#(2quAj7cHHg7F+Ek7AV'H*AV'H*Aa+>dFq]tI
+in]6J=KKRS;k=/C:T*f*Kb_Q+!VI6:'5u76m^P?/Uso-X-@R[kZnK?.,^mt1[.[*0
+S+u6=2oMq"=dm7?dbd5VU`*e/&Xb]*QBY.=$bFNtb4I\YQPr_c)UgI6'sG^C97dZ?
+$"=fFfp1_/WG>]Uc4;b0SDS'=lT&(@lTQN[n#BcoMP#QY-WaB5F?t^)B[/]S'#-<]
+&DY\-Q&SWlSV4$<Sa)7,VsAG75l<mqkPSNNY4F0+3Qfh9G*XtBh[UBMGPK@tde#Q7
+:jXY_CF*&HB=*#Qq7W[uW/+elIbXoGe*6epLFU\UU-,:I#+Ob"];J,g,8rVilT-q<
+jlNAF>n.XJe+q>V0^uFL%&DMN:[Be)ZiCL;c4?6&o?Il^:&2Hn")q2a3Bn+jemi?Q
+Z*0l24a*N,lg3WPfojnA?mW;?V"7[+IkKg&Ji(&Hj6Yc+`#Ef;Su+ZEr4?o/o97pN
+/t5Y"?UkmuS*R076UrFGrh#q.q<dpkKbW5[gq7\=>8cUk+]^;A*`J.ub+RJLEp-D"
+6@,N]b5QDhe://.S=a&cP0="X&MZ;(;=_)_]#GI1<KOl8($E'(82m;(Wa8HGrID\5
+)g\%3I[*r2+dBAa7gFkM<'eqWHjtSH&F\-#VQr3r$&JU>$ul2/!$l[m!P)Ak6`T/8
+Jq4^h`u\U$Uka&I3U$Q@s%U"hq5p4Y:,YL`Ef3eU.VO,i@ZMNbG6:(>m.>`25l5c!
+chYiNmA6mahl+MU:;hP*Y_)5t^JjnYIskJtr-2ha"2o[*\t%Y\rphq<-"J50$%E^X
+l;?Qm3FC,>-[n?RZi&o?5P^T3o$W;:4:-D,CX,0*"Lg#i*m-q7^USQ8\SFM#AEGqf
+rAAi/K&FI=Faa=&1-b@40Sp[m:NS=^po>j0:0UP?1&uBcht^R3;kO!`'RNDIK_g8?
+Pg"VOr(>q\?OfqE1'!N/?`'('HB)$!WGd\c:>iSu`"*i*i;E:/^b<e,6=?6pIt:.n
+hJXoC&:g;jAH'18$`i;;C[WN\6N!Lt>j#a>-Oq0[*icp=B*?-`MG//AiSh?'*.+dY
+b@<m:TZ0soB3n<0VnSZSb,a$1?82q?@YXK\Yk*1=fVs1s"h(lO?fS0aR)k>HUD*lt
+AW$']E!N7NIK8d9S0'9iS0'9iS0'<*%-K#3HEI79`=rP*&!E=)7fWg9SA-QQL5j8L
+,GumSUB,QYGT9YPs6[aY_;jX#*]]e(&)mg(F.>I@GDm_;RFDdCnmm%AY"[o:6i=_R
+.J&a$VmliiA90t[X&A(5(I[BjMHQ@>PVnY(n^2Bj8d1fJDh9B_3'Yb`ErNO>F'&*8
+>Zn5KXMmt-oaj>Ab]8.JHhOLlo@IGIg%k;/L`]`r3PQ9CN9C_cGY-0Q*X<6@W%up!
+;^*%+4oST!@XQH\r$d1=]V*CUk6Ko\b]&"2D?67L/.7si/.7si/B\IbVi>Hq9Gaa'
+YuR;'5a^U0`*R"^qg(,l<)%Q#bQd"E'^',4ZL@.#d[^q63+f>bMicAu79WIWEdJOD
+.$'0,"MfqpR:#c2AMP?>pJ,$31I&&hSd+'3#-?&pk;T8d0(tA>\nJik`&e40#F\e`
+T*b(?piXYjD,RhH`"+]R1B30_;fR7$r#pMsRH=?-r(+['TDa)ZEY&AJ.*=e1)@,`@
+)IeXj.+4B7bHa*sO7qCY>d!/brUin8k9-!j<u1kYA^.t9pF,^?h7l&p?cEo.ff-5*
+76#0_r!Q3VMWP.;\>&d"'52hgMrr'eBRWWJe,1@C"lP3Bq+3gK:p0U#5Q&kc5M:f:
+g?'d^E21hY1&:C/TCBaX7e89)]D7:I*/Vq4Z<j^0j4?P2rbLC,(aq7k</"[co3_C'
+^d)VYrt0]gbo^'X_ir*/Ill(rI__"Gci:'A!EWr`9^D?5Im8/<>6=tthY`H"049LB
+q6NX(MS8q,Npsq9Ab5*,(;aE!,lFl=g&-LFId!7#^%dGmn3=DU'9*krpgKJkq=A^+
+d"ejo*]&?9j!K4irqB021`Vo2r4%I<S%f;[(4!cX>L56WSb?[eo7IkRTPONNmF%Gq
+nDbRSc+g/@g7&&P<IFoUKHF5DRpV6G_^]NpWtBe_FairN7_U`6_!0)S=Oh3d*8uZ7
+Eq9OO3N;gU^ceCe<sE/dd;"-PdQ7b;e.(eXo8?[&h5LDle.6EPr/3]6B,M,),DNXN
+^'ObeZh@/sp@L_ALEDo,!rr=/)Lhhh+p9uR~>
+endstream
+endobj
+94 0 obj
+<<
+/Length 744
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V^n9lHLd&A@P9i+A(pH=qG1fiGX_DQEJ3"n`Mk5V[Fq0ouR%7TK$6],uQ_Oqu6l
+m*+3C+)gZ2o/1d5%c&AT!(RV;*ml&VomoBf8V/Cf_IGFML6,_j6CTVUT\d+Chp@,m
+D,TVLQQ?^Sg1r<recI9Si>s3`7p^L.`&m7&R\Li%;gB?^&VQ,,a(LdR$Z=FsLrThQ
+%aYpS<l;Y<h2kW&8>UlSbH@s&$]N_sH(%j(JG=oaYg*#<gXOm-]c-HJkNhKj9e'DY
++XJ+54pp'^e56"lrl8riDsiBI4U((G'N="Sl(:K,?Q#JpS]a5+Fl&HZD4I-=dC\ul
+1:7LKP9sa\r\;G)-jL9uV8=&g-d`E9*Tb,-JQ",mo+kQC@&$CTUh4_'M*7lE0<2<1
+CfNf,$rrMEr_Dih^Gb%A/99iHSS,VB0ZKDIXBJWT/sK0k/f.]n?.!INgM1rKHe5GH
+Ec04#55+cMZM)Sh2AVWNgh`bU1nb;BFiA_sP'C-]#[<AM:$.9dfCqthWhs](?lUP\
+=`!;qT8P$.=cV"+l=R5da:+(!J!YS)lUYKHF!XSI]<WoVMUA_`SSr4._PL5T9iFKh
+T/G.PUV<A5f$k,b/M14"oQ%@(BXMlb&0_^sS5Y\fW5i(Rp26<,946H$,gfGt=oKr;
+HhBU[-CQso=sM9lAP^RtTCn6>)uFt/"5qS&<FR,tj5Ro)(d06l[[6-k/A7Taq[B"A
+PSh3V'`B$Pg(QO7~>
+endstream
+endobj
+95 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+>>
+/XObject <<
+/Im12 92 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+97 0 obj
+<<
+/Length 1116
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPk9lldX&A@ZcHo(3C6kTc^an4"qV_c#P>O6tBfqHBH)VgCqUqaT0+!?-jVWjr!
+"f0t`]5REqIZo(:.0L$g8G=/2+Bed8^QD<V"pnHEO9>P8d\@$_#OggR8%:Oci]57H
+^M(2rQ%&:3*"&nAD1DK.o7-CF2ef!_.8b;<bNkniY7Ln(,6%4[GL%!p'EA-+5!AJF
+AI#B2Lk5tRXD]1UA_j=IXR6XVD:#KQ<3iUb:+BZdff#oaA7-khUG8<CAdP:g<QB;-
+A@(!C_U-UtC:mj>dLTXeJF1OUB7_[)`<M;RZTJ3*gBS2=e1D1F(:"&=WMUtuY'<O9
+O>p"3,^?DpJ(oVj9-_7e7-[(t[J\49f/XY7:kJ*]j>[\_"WF?!HdugEgJ)]M9rQ<S
+gTcb\'pg)`VMMB\Mg21]f:I%$&E/2-HW;.!R>ZEU=O*p=]V)'Mko-+h*XW=GPc>r)
+*gD8J;cbo3gOBjT2HdWk!tll&QY[pR*%"4t0G?DW)_kf@!>F)fiG/a^=SL<p/_c!H
+!qte<n&e,j(88[DFR,7sYIh3<PWC!<=N@j#3OaY!*bG(7<EN61@Akqr"JNsPgDG?b
+\'ep!0J;HnG!A<23^:*fW@=XaXiY1[2eqelo"49]jgg3ZFb:MZ'G<Kd_M`9D6T8F1
+!Q=,>CWn&(&M]6okGh^db2`<Fb\@6DIf&fJ-HE`pXC>nT@g+a'Zr37!\%D;:CTq(n
+Xs$9QTciQGWUc(Qo?\F*!)/L5EE'D6@U40b.[KTsO52p*B-ZP5SMM_e0FZc<0-?Mo
+js7o9p6gsBTHbR:*,>qB>*B`#Od4OcKXTq3Bkc33$NQ0=4.R\.=tuSSKP)M=@>"lY
+-[D#l\g[-!<%#<-m>'iRQ%cpZJNY(-g6I^Sc'1a%N$Ds)Q(r5hY:4P8(#*Fj3XkXk
+7leR]<#=]CR?ufg&NsK[cdCn[@F>Me]i9d2#gnp&,t.>VrR9>edZr(ee\;):ELZpI
+gqJ$RAUht,>Fs7!KU,bdZS0!JZtkqt&cZ[:d/eF$T5HHe:q_qp658+>ql%Ddf/@='
+G%ut-VGan6UDNc<!tCcp"N&8M)h+E8&!pU,-p_5\7Ke(EGH(=P!%8cWFo~>
+endstream
+endobj
+98 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T5 38 0 R
+/T7 21 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+100 0 obj
+<<
+/Length 3115
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"$9p=<i'#!U4kS?nG)A<*8CJS`lXHTbY2W`Ii%Z1c2Korkg74q/kXSqem]$VX(
+Q=J\2&j`1Ird+&+qp"-V-=;Ylk%,,f$Fu,>h_k>SbeL*$N9#$./u%H9na>GP`UY^O
+hj\AcqJ\"_8Il?$s"4qP4@W0nbgF\a@MM,]7?PTNL&'aE5O#&8o\R<=M_*Lurjs^^
+^VLMMKh&`5&%h[U;rIW*6A]5%ZbjH4Xu8fKYa2i)[/)ounM!`1=J$WuDuR;'j2>(U
+pFNAEI^S<;,_N:==4ToN:E>1q5LRGekg2d3HEga]7cUfO9KCP)nQb$jQ*]<'>hSi^
+CLr"[Eq%,Hc@:l2qH$1:YE,=TrgnS"f5]4j4]R,hR)3!A`83djBgU^lP.@4X37b![
+*o=c*[>L`$.>5RfF:eA+idS.nW=2_!hr9qUE@X2gU7`p$NO':9.buGWoUj/7:``N?
+&%pM]Clu&%dZ(uXEkup;5<\t(V'3*#A?>;!=t+e^JSf=-q4uCnGe%,Afu%"Gi-^!,
+TZAO&jrr_\.c?2+b>ih>]4C!,#sT-2'Qi64CYSE5<A'!=;XWDo&oI8scA9h`2t.*4
+ePPuRm$.MEmQC#X+%ru+(A98cH@f,!<?<SoVB#=4-<[Y8][gTKJQ"=&@=V_?V38&a
+<n2Jc]!hTf3LNg-`AI+mp5?Z[.NY`WN37Sld-UAQa(Gfs*_*q69]SVZYoi:Tm$d/D
+n1thOGf""Tf,pWW!.70KSgju)EFJb!%[U`Hq:nsg4ca&=$2^*pGjb5C".Ed]&*R+;
+:*We[.ObS[hc`SjK^CF^\\d4Ol=HolaaA?8KL76@]H?"CH0\O%qF)!O-5St3(J6@q
+]@$rXHDk1FWtRsmoYhbbb&PoUm<fe_Q<o7]GMB>Nf$\rg3us(3_o:1P$HkI?Mrc`[
+7R=jBm8KU2e^0Pu!OJMb>P`jUP.F.^[0Dn#YS9S9!bs:d\N/hDg!)NmYoToW@@[D"
+jSgY%kmn^i>FW?pCM\3WKr3.M!7lL6g\HN[8jj:1f"a%$<=fpKT!K>FeUKF;hrk*!
+Bs!P#glJr='K]@jTM9!G6F`+;MfofsA#LnK8B=V^TYe=$%aedDJ+msgp@mZJ,3lGQ
+)lMY":$2O3/lpJ8"=5d&_QFk5lTWS/]H^riak0Z"!"@%PbaQ+):O#E&o#Du3#YhWX
+[7^_"#<Zag0TSo?-$D6"^rd;^AY_[#[Vd!2<ToWV:aNht&ANp.2*:$YKEj"oGln_q
+l0&D.7p\SIks-d:gE^>=90Q!TJMF4JRkhos'+(Mn-[4PEL72j>BR;hFL0#_Y#S)es
+[oeNef3V!1+q4r/:lmaZ:m1HcY[Uc4lZ/@C_83M35g<4c#BTq0fOC`<S5OUsYfsd8
+gXG@4@n5ncbgV1c?HPmP11a(#_ELlS*]h<(?T)a[:71.aY;NIV]HP=%._+3dFhElO
+)!bn7N@I1%;CO!0^2N:OY,at;Tm](YkMhH^qbj1:-BQZNrYEI$&d8S<,V;ZtmR9]3
+VIOfkD,!%m1=0br#9QWB];&Bh`5:B#0L4T'>.R3&E<U&";8O&,/jcKOHuSh`(s!R#
+!:4<R7&CP"Dm4F)dp\mZKi`d$DOPe_Y"V@^5,6D9b/lJTDo.+R("l:p`5L8ffihcu
+F<?,'34K+So7UZ[a>''BDG1rP6-%e0itOdBp'hqaPa<k$qJ9+!L2sf8\KFIUM1ZLH
+jC(hX7hkT:i+0e(s).H7EIM874,TK;d4]0!VKXW1?;a!QJ'rQ/?2%GCNnE)AB@gr2
+,_[Umm=lG=$co$AipK1/bHTZugZ*2P+[]!X6l"Ho)Kt?@Tf1pN'M]77j\2ALruoL]
+b8XDN&\euH1cfY!dBMY0"du!\V`SXc19t3aFJA?kc3')&`4=Wfro0h]9->!+@2P@r
+m$]nB@O+3eDe]Jrs#p9bP%K42=]l>,WSFtVXt]0JH_'I%SPcX?`FKr'\g4N:6;[V<
+0'IDnds-L+(tm]+=K!p^((SnNLIU0*TZdBq49*L`/\VIpjHa(Qj25Z7nHqa2`,$,A
+R<NuXT&!Ot1*LA#.kMSV-r"c5M8CdJactK_h=g\WfV;Iq=F>QbjVW5\^.^6\U.m^p
+B1sH(n%H/>'2BpSo5s]0`0i?qA5aUXJO1!pB,hd_W"!4aQo8%:=:KD6!_;f)`F26[
+\-+o-JPt1(%M)C]?+7k];^7r?.2u3(-dsHH=DmI=;!HZ8)G6BE(p7cOO;Y[Q]K7Ms
+b:n(6Z"?/Zh[3^Pd1Ch^aoDYKb#ga3YgFfK2'p@2?gGjCQ"6W9%0^:jc"u6KaQsHh
+U*sbSG+lN#Z<OJ8#4q#8.9WQMo!k>6bOHK)?.r>0G1BrYnA2toB?.b815a<9g'1_V
++u-O6'=qrc<,&;L^'3]bO]Gb=a1d>frReN,YPp9p)%FiZjIpNL87;-:F3goFDXDiK
+(>6<U=M#GuVB]YPl$g@c;*-fte)W(?J.s!hf6AB/)L1Si^hj?,UENbuSpLP4DQjJr
+XmaWG-tZ_0jnt_3S:<]Dh`4%tT7rP^'U4Aqndc;@+nKPJ7Co"UD;Q3$+c/8-S*=V8
+LR4XueiW94ld%_&fqgn"4-r(G'6"i"&=3'BoJ`*D;0YOClH`22LVfBt`k_K2H*qc@
+UBDM\c;=Imf/ke/,$]KN1,s#[o;EOP+FL%q6Y$-Wh:_+,&6e9EdSMY35">]90Fc-W
+A]7CE#O"f,k%jAL$$<%Mp'gbFllb5fOBY.#mu<ES#fdDtEA5PWf3<sU3T,u2OTc43
+cVGXTOXY152I5F>jl'io4n^)-U<".X!^rK_T'4JE*qPZRF!JU-o];nAhK]a1hk^O4
+*&nPU9#bm&i4-O)]g(`&aWAD&,bj9K^;pZL;>;bUg]6T`B:3t=TnmW8bj;Pje[rh8
+co=a4\-hCB68XrC@5pOn@5o.dmd$hk*q)K+!CM5ZYsG1!C!btoSM3s)V38kc1QDP8
+_oKrb.JdFEqC6l"&"5+c$-PnrNSdV_a`gaBAG;.'MTa>3k7Ir!84M-o,>,@'+dIj^
+A;sL@N0-SbpdA:`7!u+13%'cO1gnNq6?=Z_b2?[Ze1D'@Q/P7<BsBL9h9>^G.II!'
+B(>$aZ;p@t~>
+endstream
+endobj
+101 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T2 102 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+104 0 obj
+<<
+/Length 672
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VFe9p;(i&A@rk]LAlq""63:ZUpuCf6EeG^aLZ=!sYtfoBuc0Y.Hc8XKh/rf=]^a
+C84^SNa^]Q&]c,QJc00:WpL7a*2'gT73EYHe(=%B*jrE1/kV]^1)m7Ap/cnZc2dpl
+QF<E\"R"&:X"nV[[5jkTkkLm?'\YuO/HdS=<])!hFlTfSC!9ac*'2fgk:!mEFj4)j
+j$WQ6_K;4iCeGBaNAYKa9#9uIY+/4<F%gEnbmL)I4o7B5"]^4go:kB/UM4C).Paen
++mk\[l=6d*0'42(%fe?_bH?6]@!6'%Z3R?qIV6bWC?Z-?@gIETee+MQCqiCV.dZt>
+iQ3"&'V6j\+3;#=qt[5To`H%F-G$r3-ITHF3&fb1[I$@LP?CI=cg=3)N&0M#l_Z[m
+,OBU6P2'W[*dI0G05ABC\`W'\=M%.p%]eflg6Ui[e<NBd>O4h.Y8`'(N@kOf01mqT
+Y7-_G"@nZFU4Vm]kW_14!=0Vl?\"&\"#ZCYB*X>[E"UX`D`5/)b@4PnY4AVl^g\,D
+K1.;`=80NX\u2BNF&6GADa\\(7#5gJg,O.oPA^)dK`k+X=i,e>"kZ6%l.0:dWfAQR
+c:]-hP`+4m<)bO+"<]%C2%XU73VsU;oV5i-:5N;"=l3@p(0d)Ce"F4Pn]Dk%gb<*h
+khcC90-]N~>
+endstream
+endobj
+105 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+107 0 obj
+<<
+/Length 1076
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR29okbt&A@Zc3.eLKO)6TC[T0B.4gq:*2?u.%KU*Gh8CNjta4HrbS[R61)eHkG
+R<a6;Du@$N2H:>U=R?3T!Y1@f9@OUg?W<m.LXdh=i??j$p]BD_(=1M`W2'6(MA(jY
+ME9Vf5N?VR.EFe7+9WlZoe)'ge%#5i5_7B^I*CU5$g0Z;8B[m)3d!oo[2kT&RP;6H
+io_4J:YH&8G"Nn#M;Engl$7n83&lk,WVr1j>"?2Z`sDclL.Cd,cD(?6BO7/!d^:`O
+F[!qf<4*!JG5(TUObZPJ+^^Sr)J;"#:(;.!.0!#\%/-D`+U56H<Y085)oQmiFfSQ!
+7qeG%-bWcpPg3'PpY<hsjchLd4*?14AQI/6Cn386h72p/%]"Xe.O/>2OR(O(R&9-!
+@l;)e:iRb^bTHT-\,q%CO>WorL&i]a$SqPC70=,p)u<]-np$cS>HV6b@ahKn;uG&Y
+ZE/RkKZq[rS]AXY;%sX4bi00/8u^!%GFn\oWtR::$cF3#3qlmWYo,sQUq2%32rG,e
+4usX"S/.<2AI4^E%:dNk-+JE0n/conQQBhf_>hKE_N5=`8I2mtlU^M'*CYIEdWoMj
+'>`186e0*(-+o8Xb;*9N>l.q@&_N*"Zt+hbVMc4[g-"r"kFLH.&/kFKnH/u;1GXXI
+?dZIj?l0?+SN[E9hL[gHhnEH,I9<Z=_")U`8b:B6Tc/i7LujQMNO.EBS&5YXR!G)@
+Q<79&hTs6FI>CfbE\b+dlDTl@7;k*_iXHZl(N+"*l&/_WbgnNNO.O3-(*.<7LJDt$
+_;<sRHPUut=TopDTo5@o"=p!hbt6#^c`;.l9@fX#V18qcekY$`2hu9OJt`DJ5u?7X
+J>%V8Qe;MS3U)0(I71`F1)oi"MaFlUZ_=`UJ\V^2=m9BNUL'VtDbeAS^/IjG#F).q
+UGjZl?g\D0?&I=XCEl0J+q`V"?4c)Xc<aP?NRr9MNGUmU7a=7QqsE+5R8#9^l==1q
+21t/Ibt"88O/6;:^1H]u;,`q:ia00FRfb8A<R9NuFmXH9lH:`&.DMmc8H>ClWL1\?
+&Q?78^'];u!"b/1:B~>
+endstream
+endobj
+108 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 75 0 R
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+/T10 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+110 0 obj
+<<
+/Length 1479
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]T9on$e&A@sB)!F8/@;AHWqJ),o)mh%joFN.Vfg_W,[&mAp%#NiC&Z!1T,_r0d
+a\DmO9sVU(*'VZlRs@B9c"9aS1<9"Q0LJ#NF2\*]j_lmRLJf4VH$5dQq/Q-#lN]O:
+pAFZdQu*YcQcjE_5mT&U;c\B$pXsJk#kJ-(@1JJ!4BoJkQe@ue*%1%CqlW)*q,o8'
+TjIZ1l<2XWHa10%5o9YiJ0Tc!`D-tt2Y+J[W>Lm>.J?^>7r:@q=aSFsgPEN[#POi%
+Q+WOsU_^*j\*V&e;\h_5ei8Nu*$Qem<csmunm%h@fe'kBAaJR2oY>A$DY^&L?5R'D
+KKGm746/0r9`XAOJ$62t)mP\u$>R2^cN`[%hmD3"YD]gnpL:5kiH2"^H%4=hnWsIl
+$-(tN%<8D.VjdW>K9Clt40Bg"[/G79kY:$4RL76AinAO^)'IsQj#UdZi3BrB^?M[M
+/Cngu3M7pY34KnMK&]^mLm%m,B@[k6+:B;8e#50J9cU<1_($ji9n3Y/];7m@ifeC?
+J\qt_^ph$6,gHPp$61oBNjn2;T52&+<Ds0hfVe1K%W8V59sSHCp/u9Fhoi*+\sB`o
+j^e.O`,$abL7!Jn<=8Q(]s;]`;GUDNY+GE(lDD<RKjm'^i<Um!M=2b7-B9.b'^aud
+9pV0B65ENg^4Oe$:,$_WqJI3Y6XM.WWQp(3\5P;28&5nm!-q^Fkkud4Xgr>r%b>-t
+<&IKGOr,2A4&OT1>lnf3L63o@\HP<Mljf/O^\gSWS,<[O#/TFP&Dk$3`T._fh(IRn
+"7#Obl4-ZC:Xgeb>\1L(IYk'MI6^dpA]\@V;\b6o68j%B.Y9urSDW)GG0U-RJ!;'=
+Jr73q84"9hfY"GR)t]7A-.3u)87ZO:LOGB_'HQ<2H`?4EhNWD(?V]$LS-I"1k$$@e
+W/8;bSL8I@XfU"`SHkod.n^24dI%Au,;fKn8PCU!gJjg$f+J[pYOc/=eU>H66qh\9
+d7E):$g$+smQKtScNs_2;DC,[8X-s%An=\DD1bQ=@2t=uCsR-Hh0`(G2*?@?PdK>:
+O2+]X-lFs`.ufipTsVpbMf$/aPq85FpQWqWn*_5t+iV+VXH5iaq6UCcS`JOX[fE$5
+3[Mea_WWE^RB^*?G0O3t=k.&'WKAoZeN?78EFjH0Me`h43goD'7G(\u_meJrW^%pF
+g.d<IMn7D!H9ha27(!=e#Mg4W$K?UqET4FN,P=$\/!oNn.CLjK/fbL_gcXA+]\VS>
+ST(W/PMpC5m=dGulWWZAc7pPQ:gOa0lF4\a0X'M:!mu'h=,T;VEGHM-PEDY.JdBc#
+m#XVn;[Y.sU\ZP4VJ2GKh'+1I,p]CR->c/1#jDS0'U`o@Y3,o%Wa:m&GVaQ.?+WRC
+Ur-^BZ["M=C^nc;UM.0=Qi-^rj>MJFHt`=cg(KUoi(Q!KEf,"O8)X@FPbmm:$ATmo
+Mm%.VrPF)<_Vgbsp?r!&iIiT~>
+endstream
+endobj
+111 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T8 22 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+113 0 obj
+<<
+/Length 1137
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]T>Aoub'Ro4Hn2-tG8o8(Y7T3Zk:&=tOXm#p6,\<f+!GNoUh/AqQ@iUu]HC5PE
+LtKc2qOR(7T@2XAjWP,_I=NM866r1ErKbeY+X'?IKLhKe#:M\;(LOr9nBf;O1_3WJ
+[q/R0V;DA!=Hpmf4I^d0<a5CdZ`%fK]"9GqQ,I8Z?rMM;#-1D)Q>DM->@b@GXL0NM
+KWf.*gRbB7D4Y5]\Cq]A`^IKo/QHP.e33#"!!-\\IIQt"8$/5"!p;:u,D6VAcE!fm
+b!nt@!`(t3ZZ]!5eXIo^E[E!f0k?4V3`48s=^Q8P#kEb7AL1565IR[X!;\Ze'7En,
+b*unsCCOr5e]Lk`fM<!s8IWdp_C*$Z^=TCNib&cN,4=F5Bj(/M3q(7heqo6Gc/kXS
+$Bs-#AG&S7:0?if;Di`#c![]sDMi22SVX7J/'?ZdPR^U1mSL]^fXRNQ@L\Gt((t(q
+[9%.2'#3qN[p[Jl@O?H1#mNLs>9m.mrIhUJIr&m++Em-(6DS>'G6t^<aabO@mOBW#
+Lk<pf,uPWF^o)i_f6JbENoQ*VWJ"mm/>Eg,?V/#89rGq)H4DBa?.3"p.E_M$NGPHq
+[^`p@"0s*T'*EpESLQrG!(;696L?aV`<Wg@9H]E?b@2eYKQ6E9OfG^J@m;urrf@HO
+;pC;t_)hb9"Sl2H1<\<W;=1iC;<8'CIHh't['8=N+T,:qQ7nW8Ac#m+m@53l"#6V=
+ku%om=7gc:!K%a:!T;>.rB0r,!4<FP6PK9h=NP3dF6cZ)m8BKPl0/8;$&:C4><0>#
+J$9dfGR!#'3egg8r\E3i;pX*$qi."Mpm(E.7.:bZmJ!V2J7D?!oLem^kF?PONB2n!
+WQClcDanD(TtqZp1Q[]0__3TmXC$E(2([m=hrMffL(tqLc5WDBVr"@d120mXlKQO"
+Q*r6FSRIF]f7(*G_g`c=:/`akN5l-c$qCHf\q\GiZ`S,\K\n]eg>]hl-t\WeEbZ&;
+UEduJ[p'>Nif//k&JLV`o=<&@iP0lSM_4XlBA$dnTsG>grMGt/mpa35Q%%+9?+o=M
+3p,8[bNkB9kSr['M:9N+0FMZ_*/*43@re5\8DiKGq[>,_U^?rr_m)HM&LOtZJ8CIc
+QSeIn!3^WRmf~>
+endstream
+endobj
+114 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+116 0 obj
+<<
+/Length 1122
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z,ga_oie&;KY"$6p?I7BLOV66XFHB[I'`DFkA=9KR-&acL2J6'6@EaUr+4QD1&9
+Te3Q8VT=7!50aT$&".X*,r7[,<ZVT%R3DC4cqfMr7;7:n/DGJa[e=T&J&/I6/"a/b
+S%m`bBA_f,`["+(1n%tt^%j,g=tY]DX;ggj8uRu<0BBmC2nr:$E[HCKql13s\l+/(
+7G[1FHnF3U+[T=^&Am7J<A40c[=5rTDX=:t\A076dL3'eK,:#BH@\HN=P=-5M4ggA
+PlRMF@+ta]8XEj^.e\UL>_j_?`H0/OUa1,J+fr3NjKCIQad9`]ZX=AtWL%WgV,ub(
+dDsN.Z'9aR'm)0f:p9\h=+n!f03\o#e&rRS0fR+[#klfSacFS+N@%D*G5\;*+h?[<
+iQ"t0LIl;XLV;smV2VEuX>e`"D10c3.&F']?R,8+c/a9P2)cc(0HSuI2j:B/At,-j
+@atd6K!`^Z-Y5j%;6Tlq*<kQ?5SaU(B-WHM18;^AOUm[HB-h*070Brd^$?&Jh_Z+E
+d,>Yk\k\BNFMu)XEq]eh2($8dKu)aUD$TJ]F*k:2X@>%6$rb"UNZu@k]@-$Q5.-dX
+,oKa+Z#=&t,8*`@RHiEl.1d$^+3HpV?-G\]do$?K8GX<>@W]o2$99<hH-ul.]'[Cq
+8:4#;klJ%u8$6ig@Fs#'QMS.PY79'q![f[^N:2%;n*?[sN9n^b)$6^2boE)Lf.Qj)
+b0i2'.nfb!E!BK=%PT@QY\,V1OW2r5"b9<Fi-<DPj5U>9XdaeaXBHhJ+YNN`i>O6u
+HL+*0E)T548[:QQpY3GVGLu?%ha(=#Gl]-bPs&iGa<mQP$]'#i206%;q)\7^cL.Yt
+&PDo@8$7"JK*pg6[Vl]`R3>$nNLL71`H7j+Too6,l!icHH>k`8S>1o=SnSV1q`@o(
+n6i$Ro^$PVSES8*<ofu>'@M]J6+oP09^u)N*CR-ne\6b:m)EG5nQq,"3-&m23\U*Q
++1O!7#uH@^!H^oU?$@U`Yk;#Js%Q[deTc--/oLn8>>?N305J&4AG<+uip-5"(s#3.
+WE8.\_+S'WVYg[P0>=TBPJRc12[rl=PGRd)%o_1"+fr<;l*(gYlVlsE)?;rKDY=~>
+endstream
+endobj
+117 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+119 0 obj
+<<
+/Length 722
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZDohf"u<&BE](.o9Q89e,ZdYgLseX]++9hPNK`i%V_F1I@OQJ,R/0#o#IE4)*-m
+7#IKjpW<6@mp5^UGftd:cqi46#U&\(qnA4D#\h)1:I,s#j<n.BppmlHr<iLNf<1<;
+pMo[<iOe0eMb+JhYLY_EnJ9a)'_U?q,sQJUKNW68la6LPqp64a#\(pk6I[SRGsu7t
+DFBpb.Z4?.!7[\k<Eg$oDP>G,MQZaeNYsUg6]+ZY\]LpX;=RNtnmfKHRY^'3Ck]#[
+p%1R!"J$PG4ES*)rmGVj&LEch^nCcm8HXX+nGAs*G5Or&$"[$lL#K9lH8KZ'HhZO0
+Yp6p8Uj^*oDd"6g,8H>R+d5u+mr_U*W1bI/[h.:K[4%$.7^%Q(I:K'N8*[Z6ZSAj%
+))l#m,IXT#eIPA'%,mCJLg=q&?'L<QDWhadre=Z(f^N7m3%`#l*i.oQi/ju@J*r5,
+g4`N:m\E!kmk*[-WoiT2`.In6@0k=:%+r2EWIeLd7e;/0>@Jn+dM(>ZQ"H+V-bU?"
+[KiKpW$DqTG@$2UATG8@g"T0fp48\&%<&brs-uIRke&W9*(OPa\)Pg!DkDbk0)@X?
+^)^:L_t!6=ZtX:89Q_)@WFlXt1a6G>&gKC/s#JErs&G51K)S6&parQ:*sqJ5!2_4E
+kJP0>b<aYl9u3J%l(LDZ[rFd+&=,nhSlj]fobp.J<WlQ,np$c?n';"1S]cu~>
+endstream
+endobj
+120 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+122 0 obj
+<<
+/Length 739
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZD.bDr&G']&?qlm>kgfS5&]<AmjXIR)RDZ`q4V>(R>GTqeXf?9`tmN+l7jZ^N.s
+aF0Y$n%n'piban3LOPD5+FqN<ik82jZ1n;=!9>LD&,:jfrUL^"7457%e6D#[BNiF/
+N<e&j^Xd*8Zt47>lf>Y_i=:`+aX;"lZ+cMN'VYScQSsc*hHM"s"7H<l!1LbbJ!gYq
+XM']feCR,T3(/UHaqC\BLVYGP-o6TiaU&Y>0KISI&(7roOh_I#Ep[tXf1^\@QYW?^
+iD;EO95@-]KBa[RB!s7.6PZ^C:oE_>;b[7#-l*.iiC*f"buul,Po9u61F<=="X`7f
+:__eGiBSuA3`)$s`k;L8X]S)+ODcH4?`WK%KU"TK:O')Ea-#4__HQ#%d@=QVr0g,+
+Of?!($?_$+g%Meq#UcOXFG4.6,6+J>5n*5cW+%3Te0kinH4)oQB/Cj?*ukL8g#0!#
+(G0@Hh)G:B>aUnhPplRAgpdXk4`JWX0=+!7JTX?LB0/7)Gj.cFSd..ZgilWX%ONR6
+U72'\/>EbMk(;o]U2Xpt4PIK"%bS_sU#O^\VIuc)A%U8)iS'=:h9n>?W/f8A5\hA[
+'e>kNCX)6q,`,GnH%.=Lpm_%2AX6=Pn^6<W3U@fWE,uU0dC'<JF(\[0#_9bfY*EZ_
+DO0D:[.O'AjEQ/4r1bT#:0R'fcD\n,,tN-fhZI&?gB?jB*+F5H\qE+R4\-HFYRLE!
+G^fntf\mjZ~>
+endstream
+endobj
+123 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 21 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+126 0 obj
+<<
+/Length 1676
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VFh9lhL;&A@Zc\7MVS=C:[-2qnm^ijERF9K<?)%fuk^4.[TOK3?gga%'$#K2a#5
+KooQ@maqDDl_YY-Q$A8.j`Z;d9ZBX%B'*Gi`[N?G6H8-A#`X&'X1KZ!mlL-V>`YTu
+\Z02HC\_C'.K:;pSDtG0K[om=Y&-q/kX4fDPm-rTSS]4=ED[F,2N;&2mN8&/qFqp8
+2"eMo7#UghT$.I;CXF0+]3;R?p!*.'6LRbLn%LgU?1Wq-CV!r$);bo.O%nBtLE0]>
+SBq*-lf;:G`s<J4eIgn^0qfr7pt;HtEZGf210^fp)XY/`0!="V]iZ4\e="$=qc`uI
+'^i8De%3;`Q5eS3(!cLuleScs>I!V8`n9L%dP8a@7fe\hfXi!Y9`SKlEh.dS(]D'M
+/8"!a&X7gn+ge5,s+.Wj2bB/4qu(%pZ*qG:6":0(Z^cOXc82YWTB4g]qF(oA7%Dt8
+,A#F`<GtnU@t)(73[L&rg7^stn#3nD!KnS;_TdAc<@)rM9@Oj#MQ\L<S7-'91+'HH
+d$o99Ph/WH<cWEOa'3WO^k97CgE.Q1bV&OIq52@R2!mkX?$ra8m(g5n+6/?;@Ra7T
+R:!k`#ZD?LMIZ<HY7kc=j?=nDOfVOlOKQFMiOHJ!)Yf9B]Xlet@'213d5B%>*;B%+
+?`M/@'&.jg>1o:e=Q7]s)$InbRRo<TJE(]5RWDk#nsC*(9/''I^HD+"oj-.GN-%>R
+M[BZ)h9*bco1cIXnJWlGI=LCLCZaiV^J\/2B(dj2=],]Hf>L/PMLBe&ondQGWSOo-
+]qVf(bq1=f/'Q96bXr[f*9;EX$EWH($%]>jhfq2j!f0HH'(E4;fS_I'Lg]gsfH9g-
+h8.Y)_nB`mg]U2Gjql"D>F,%Er_h[R/Y?=ZjjfC#+&f+.lDJOH:4r/'@8;]-1XYnY
+O;=@^T!X#e*;E9NmN]u+B'C"/06[S$dXkuE%hYZX(bROKr)i+7V(Vbl:^-Z.[_,oS
+!6P%cM&sWMAI0U8&('IOn3%5/*D"SMH7_no_b'rIglnDc9*pSEJo9KG=(u@,+#>>V
+8on?lN24[AEiR&i#82bB[*]?O5U&e^)K9+G)ha)Z(L&s/R-7"t4tq5l3tE$*/mN(h
+!YAA(c:Ffer&fqN7qj>V8cuWX2jGjOaj3?**1RNEQh'Oj2>,Jd!%g:r$BGPu%42\T
+H<!Hk)&L=/L=Lf\@l/Jp-pT=&$4I"'FC<d<q\+`W(<lRjKD0[>CB:uNACteEBSJFZ
+D<e6R(g)ps;BY84]aR<cMs!3Q>oBL>2+.0Wl@:L%2#Y@k!-qA^JAq)PUCjWGq&)LB
+k@E;(n"q]^>UWa\,9jtVc#,TjT&pOp*eEed@ph$doM!21K+q3?p,=QleVs7unc]4^
+%X<+*Mo6@n$/-H2rD:MQe5#38%gn&>^MXNAUNbD-g!#_0@;eVd0@=nHaskQO@-HD"
+'?OVj%u)nO<=gdWl/cEd>dEJKF[3AXRMSEqSR)f1"I`Q3F25QWaC0T3&npt6%C9dg
+.n1#q%R`rqS`gk8JXFYC'V6&W6dl[t4Y-\!juDni%QNMW5U?@)$Hk8n'n"hAREUM[
+,E/WF7jlBG")%-+Sm:be*)<rjZAm6/Iu*6togTS>e@Y$hngVQ@Bp8da%ZJf6@7i!8
+ONbh\H&s5`]dQDN%KJD$&M!~>
+endstream
+endobj
+127 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T1 128 0 R
+/T2 102 0 R
+/T5 38 0 R
+/T9 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+129 0 obj
+<<
+/Type /Halftone
+/HalftoneType 1
+/HalftoneName (Default)
+/Frequency 60
+/Angle 45
+/SpotFunction /Round
+>>
+endobj
+7 0 obj
+<<
+/Type /ExtGState
+/SA false
+/OP false
+/HT /Default
+>>
+endobj
+130 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+128 0 obj
+<<
+/Name /T1
+/Type /Font
+/Subtype /Type3
+/Resources 130 0 R
+/FontBBox [4 -42 151 144]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 66
+/LastChar 121
+/Encoding 131 0 R
+/CharProcs 132 0 R
+/Widths [165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113
+129 0 0 0 0 116 129 65 0 0 65 0 0 116 129 0
+95 0 0 0 0 0 0 123 ]
+>>
+endobj
+131 0 obj
+<<
+/Type /Encoding
+/Differences [66/B 97/a
+/b 103/g /h /i 108/l 111/o /p 114/r 121/y ]
+>>
+endobj
+132 0 obj
+<<
+/B 133 0 R
+/a 134 0 R
+/b 135 0 R
+/g 136 0 R
+/h 137 0 R
+/i 138 0 R
+/l 139 0 R
+/o 140 0 R
+/p 141 0 R
+/r 142 0 R
+/y 143 0 R
+>>
+endobj
+133 0 obj
+<<
+/Length 537
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjI]l&HV&-m/E$qO]L"T/<QERRn?OO@/Z6`"tk"10(1Zta5uZoe\V^rV%F+kV@X
+^ST;<,tLGT0?>-r43RJ8Xd3_Nh0Q2g^:[8q>/!XX\a!k=LX!A1B?T`+q+Y`_R65W'
+P0%#0VbFN0f1O43]2tUH?`u5s;.=R6rABiDLkn=u&<VT5+9@9`kpJ6GMlh*i5=fRf
+*lSg[KN(P_j!^05NRHIGNREFN_5/8/Q!t#4,!2EM<(`bc<%=LkN_)ABs"$&o-SGFa
+NB*EIotiT*FiW4OqC/*&]Tl%lle.7eWGThB:1;sh_kA(e'612oV/gq)6!Tm#UpRfl
+Lq=(^&1!n<N.#@h+UF"QV3(*jm+Z<s:BNU6OSSnA;o;Zs2S:pl.M^H&%2IDY*STI?
+m.rD-M&<G7<!o6c1F/d%RjZ%uV=_mho]:;MQm9+%F/0aE8#1k8BtTVGhOF*h?rB=F
+n":$qkS1k0'th<Hi?ROr^cGQdmdB*KE0:Mm6BKiDrdedDSucrbO^YO[%N0P]a[c.i
+!!g!S_#~>
+endstream
+endobj
+134 0 obj
+<<
+/Length 519
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y9LYti1j&;Dj\&BRRiKDG`o0i1l@.M\&dJ-6Mr!/sI!@#c<\O-3$&fYNHMn'6b/
+'ihKr_5ArHn'8[t=fDd3bEY1i;Q4`J^6Hr9]F.^mrT@@eQZ@5Gr2QB\?H'>beYDbp
+U:U#5U>"I28L:D!:4@Y>]nkfS3^3Ub2\$8sAV;(W&ZJ-$0Hi\I0G%g[2LlRb!,Ou*
+g=V0o@Z<!.)q/JZ0oa2]1tSWP4&/EJoHEfsL1m6?G>s[G;SduB;#-_3T?,8+3u7#g
+53rs0fo(N0;M8aS#@e[f-,eh.aelL#WC\Y:Uf3/R+R2ikqm<V[6'k%*;"Vj6iEDX#
+m2n2Y%HG-!\jU<JPY%'so\MIjoYR#j1Ng'(3K[`?'D6G#9GC3JLuPt*'?hm%-,JJP
+J@,0WVt`scPOs67UnEC?;dHsqeP*a:%Xo(AFJ[0fRDCd4c6c$h@2#d/$D]Se<`gb%
+&c$0-Nacqd5CU'-3/rS5F)3't#UR$gF^-0](-codM46ssM!k?E&o9!P~>
+endstream
+endobj
+135 0 obj
+<<
+/Length 487
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]`0i#V?'ECs")2]u@*$N#rUi%\_9L/h-1*FEO!J$:5"ESUj*$n+rR)+[Uhqq1g
+US]%m+OLU3T:LAaao@B+>`$!nM[Lup@P6_V.:+>#i)22$*?/$gI4:j3:+u'`;t0-V
+5VLIOZ'/gi`u?1I<]l2AcgNf!g^:0+PN_C21$4V'5=&TTAiE;(ie`l#=mcmM-h7PR
+`mTE$VW)E"LL^K+_q_M+6fK;`VmSGccWQ3`*Eeum+>q,9G[%.iCX.ZZ=[s-&Fp:*`
+<c/1X<GoA_`](gQ&DBtp,9e_I1!RMdO9Qbi(>bH*qFl*sT'ukq*rCAE-Q*pu4X)s3
+bC@Ol4hAPgi8.uMkU2N31"jh9oF>W0FUSU)W3W'#6^Gf1rT<`g>]hFJYPi7kSC11H
+&$l7*/K9F5G1^-34XX8A`6D:JI(7IM=g>$uGI(7-ra(rO+E!U)'#NK4J'IWQ3jacX
+9(jR[iO2j;=7@U:1B?CoN_'~>
+endstream
+endobj
+136 0 obj
+<<
+/Length 663
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQT4),`i(rnL-0d$lc_WV'CXrOd0C;<C`>8WmQ#=qai84`$:UZj0fK$#Ns;=m$D
+o#?SB/tt\lVoSP[?S^c:p\LQ?gg"W)Y4_Z2rQWEUdd1CkYKa\35.ibW*rE-*jR#h4
+*ctYQ]?d]2GIR;g[#qu\Sc8TRcZa[4W'b9._SM-OHNgV[+iY(*0`\aT*R&XkF!Pa/
+@M`GV&BYT1Uu&rm3Yp&c_?.\d!>^n'LE]n+';mk=#0p]0#G=N4p*!9iCmdD?i-;0[
+O?4_G_(Os6`1_gcQCIs<MF*q_=492q'MKa:Tq[$35(f.p_gb-/c03TAWh/BQmbs\Y
+rBVrX)tHO@U!c?Mk?4ff9,L:Pfp(&aKBS>lb77@-TO"EFdP[./8b7dD3>UDgDhX&*
+&N2_)Wa2@p&rk3aFb,:%qM)S9;PHjbTt2kBLpKn,2+49bM2$brL=!-M"BLj_WZ`-r
+AS0,=qIsY]>SNWA/)\c5A.,BjA>H"TMnuJGg)rq)>[7m$=d\it\QmE?P0LkK%AaRf
+RHZ2)c6t47&Zr6-:O2ET.-9AAUQhm=<H&[%S4U8l:gOT5=Ru%bcYN2_:\cO"G;%UI
+_]pt,U!_<)Q1X'MYXM\>hD\OelJ[PVb_desZ`W)Oe=.**l6ZFKYfT[2q*k9'!70nD3r~>
+endstream
+endobj
+137 0 obj
+<<
+/Length 331
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]_9ko;G'F4+T/hE&[O"g#(XcC!78k<-aMaF_l!Ko(IBPH&[BHG,;AEcE9S`e%l
+cj1eQ#,7cOhg@*VUC?;G'>H:.8Oalj,^uGOO`'`jLAA0O-XVA3T=@G=gQ:hlmu9EV
+>HF,9d7`?\kBm5[aU9PoE`[D0!MDr5S"RoY/4Nc;S2eY(looR'7#sBU:.H<WYWCnd
+c."FW$:?M`AY-[iS$eV0`-QsiZEX,4=Y5[E+2fiLe[\jqZ/Vn7L50k9Su!=VI,ll>
+*M!4D%7SMHG=\lj@5[:3;e7T=+&laW/tm[sSV\$KOk%2P`2Tp0Ih?$$>iY8QH]LSB~>
+endstream
+endobj
+138 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X<A77R"Cb:;"[`q:KbQnW67rq5J,u$UWFr0&CB,WCF1If'\b*cS9J!aH4[=$m
+qG%(:$AMg^T"YOX7AZtgSh:BMru\KF%g!1;+S$$F1PknD^^-Yu0JJ$U#7M%65jA=O
+"%[,."+r^f@UK1OKM_]!'K[0HW[VU>5co`$!pV&0"/4"o3ZdFK_$D+Ors/FW+7)Wm
+-r>GEW#mG;T2B?6:^g`.:G0WJlH'd^"W.5T\R>+~>
+endstream
+endobj
+139 0 obj
+<<
+/Length 156
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X<A77R"Cb;&"[`r5KbQnW67u1="V:h,/bKMeF:EagE\<]B-^T:lJuJd;^'@2h
+9A_26=i$1mhpYZ#Uo6,8bL8o=s8W*0pjkg8!s=Wo@%`>PIfMh65b\19;PV_i74H1U
+#57+U>csZ'JR!^+!3ooQT)~>
+endstream
+endobj
+140 0 obj
+<<
+/Length 466
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yi\0i#\A%#.]'W0ASu81jmZoUo*[8e7$IJ-6Mj!(I/(bjEf(PTHN.LSpFt[bKk7
+:O7VL$u*GoNh,g'XY!7U8onF#/Lj\)R9(n'Ub-b-\hM[B.5.f-Fkt6Qgc%!<G(r)H
+hn(b6miQJ,Q$Mt/^-9<hA92N%BS0+h[n-j&1NX+))BT*h(1Hj.2_2>+"ZCNq@C7DJ
+)Ks^L0lanB\=L]Ghr>2+L[-an1AU;I\.=%-M@;sm%'CL2;bBZaHX[*d6^&*Y*^8l%
+JH4&E?AQ6\)o34R4n8Ke?jo:j0Ee%D6dJj%!bQ(3(I7g9&-4'V'E3@aIIJ&Ydr=Gf
+4P#)W!/"eKCuDTq*X:-K#0.Wn.1;4m6NSHEq0U*P.nOH#+nK,j9FCHO=.iF-$\'RY
+_&H5#*aLjRc7.l6+*pBoq@]Ibn@mEeDQ=IK%07im7uZb/<0?0D[8o#-f>o?81B=0/aiO~>
+endstream
+endobj
+141 0 obj
+<<
+/Length 476
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z\u_+oY;&;Eh3_=Sk25[Qe0/gd&NOfY"m_*h'_J9pj\d5*m'O2<,\gd=H"cEn>A
+"cP/j7S.:bdHSk^Ql4t*/J_eAN_^HX/f.ufM0m@:\<IjnLM'a:<[Z=s_g(ps2[)uq
+"YB9;d]E"]F+#A\:Q$ano)/@"MfYT"DIU+YY48M/Mm[#Q+i+T>^mMd0)+0J)QE1[&
+`8"eGBTGS-ghc*t0Eg9a`C!bka;<MU.*)+_D2ap:C`2VTagJs@Ahtkd=&C5SolRR]
+?qGAZ\q:Y#%SQ6l"6YKf5&;q2(m<#r,gd8Bp/'"B0TOs/ZEL"Z`U])K2nd>tDm]Ci
+5G&n$BbjKVCbhFGq7b;HKi8K)9)"526OaMUZl@T")HJdg7Z=uL`6bPMA3MPQmQ,p8
+")tQR>"o"$X2m#)jguC>j*MeUlT68aEimW%X^%bICjj%E8aID\(X>8E9([V6T1+3+
+n/M?b!0&8FWr~>
+endstream
+endobj
+142 0 obj
+<<
+/Length 304
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z][_.phP&-h&!3@rB#O5R[$-D;,T&-Gt,3=,<="5"ZABW:1UdIJ\L6B3,*l+aiE
+[.GQ,T'Sdm^.H2elqZspP;++oATB0E3PViD;.m$OO)c+MM!Z_=927ETF&!hIM:;:L
+K:jVoo'sG@iGp*A=r2LZ$6Z'0pLLqPR\Gfi6ksr7$j$rq,d9_)^c`\d%W%:D>Bn_D
+hiXpn8@<G::M_kGcji4SBcMq(;q'2BB+B6"(G'mT"fp#04-=ENT566nA)rA"?Td>8
+*>S>.Lu8-AL?@)]rcs,A^Z*!R02#XCk5^[EE,k~>
+endstream
+endobj
+143 0 obj
+<<
+/Length 608
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:74`9".'Yn\q)?b$<&]>'a%V#T,-37f_e3ee1l2fUt)%n4$Gr-Rr8'n3N&AuOA
+]k8fe[X,1VP8,<lkrl*5]tBL5q;n9F;E+1?>5hIuM(8bMYGBn@jl*7lci*Im7t,[C
+]0H;E4l?3g:\jGHf/K](meB_p4MO)Lj*.I?49jt\GWl!Y\hdiUK?(ot$V)E^'83q-
+#K'.&Alta]0+9sOc@l@p8Nb%snE^a(im_KG`%c7JfB>l=n42:QI;h0j$:5DoK2#.?
+$Q3FAO!0'%`7U]&F+7Wb:Uq3MJ'+l1K;Y#S7-kIpJ#X#q&S$<jGA/$(@t2e;AF.XQ
+'gmJrNLUeOn=4PEc\+G*oU#D6%Z&J=E[sJ+afPjI-+>'$S"<Fi1.7HelQ'`[QMQK9
+m*Zehfu#\-Bnejk]FO9"rSi7NBe.g"88^kUF"80!q[m\O`Ne6nmC$]H-@8(m8QpU0
+Zj7-");Zs/5Je.ABUM+M"9,TJQl9l7P.Sl")b.nH)R2`DpR^`'""*;cnO'>cs2IGe
+0)#m69T(<h?LEndrQN3sjtrb<*8+`H<Lt&\+[=+oBjc/TXnV-0&1npZM9un[\!l1r
+q/?6j!5q:C)#~>
+endstream
+endobj
+144 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+102 0 obj
+<<
+/Name /T2
+/Type /Font
+/Subtype /Type3
+/Resources 144 0 R
+/FontBBox [4 -7 50 40]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 43
+/LastChar 43
+/Encoding 145 0 R
+/CharProcs 146 0 R
+/Widths [55 ]
+>>
+endobj
+145 0 obj
+<<
+/Type /Encoding
+/Differences [43/+ ]
+>>
+endobj
+146 0 obj
+<<
+/+ 147 0 R
+>>
+endobj
+147 0 obj
+<<
+/Length 131
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<A76';:%1%0Eol/$7U^7Kj5s:5X?OE>erhS&1@c/P&n1(4Lt+%'hli]oK@_&
+>l%1rc3f;2qOYD.,t4Z0>b3PTs8W+us8RRV8Ho`67OA@mX12Ct\H9;A!rt=V!;Z~>
+endstream
+endobj
+148 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+90 0 obj
+<<
+/Name /T3
+/Type /Font
+/Subtype /Type3
+/Resources 148 0 R
+/FontBBox [1 -1 54 69]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 98
+/LastChar 120
+/Encoding 149 0 R
+/CharProcs 150 0 R
+/Widths [54 0 54 0 0 0 0 0 0 0 28 0 0 0 0 0
+0 0 0 0 0 0 51 ]
+>>
+endobj
+149 0 obj
+<<
+/Type /Encoding
+/Differences [98/b 100/d 108/l 120/x ]
+>>
+endobj
+150 0 obj
+<<
+/b 151 0 R
+/d 152 0 R
+/l 153 0 R
+/x 154 0 R
+>>
+endobj
+151 0 obj
+<<
+/Length 311
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`A0i#V?'F*K[%$f]/,PYPp-C3F2-;,p]A3ba'!rsPJ(!K7g^rVehM/0U[aI"-n
+j0pU."X;,Kpf[1fIP3:>Ce?lK]X5=4k6FB#AA`-'B48/$(kVW4>$"\YZ*dP9@7J64
+B#B@\lC)(gYE)XgY]qN>?1t%S8eZ'&Xf#uu11_5l9fXQl0b8G1%JRPjC7NIliZsik
+V`T^4A\`_$%s`7,?*JBu;"s7AlI[_gs48bCe=i\Q[P$5[lVKo)<g#ma5qLK4Mg209
+!HnsHj@pl/]RO<(;4grcoO1!;f>hfcFjO\g\+DNX'1kV.~>
+endstream
+endobj
+152 0 obj
+<<
+/Length 321
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V00Yt>-R&-h&4.2E+2X^1&mFDkUV4@*(/(#2.&ap1a9$UqmLiu@ba.=@68';XD-
+lo:1jFMXdJM@>]mr2UU"\Ak9J="URNnY(MHBK(=L`"T9n2dBk\T4$D@I>@1ol74JQ
+]tHGH#3u1+?XMY2Tt`jUirlRbFP/*9Eu/Dc\[lUG>Ep4Y:"<of)K@LG)bO^'1_`%J
+1_^.7L-4(ir#`$<^iEehnku^?(MjetBZ73^'0Y[U3cT++8N3T=3M`rqYKLAPfB6Q>
++S+G1!7*?6=X@f$/U_D@NkQ4tr!06rO*&AGQ.VmX*OtIp(4HGf&iW*'~>
+endstream
+endobj
+153 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"#%Aeb"Z&f*'LT#i/gF:;hZ1SPeh^:P2#n92\Qhn$>l*Cd7]'Ge*^D/,
+IA['X"[anj:LAg=U=*!n:D\`brt!WZJ&$TMs$=-qLAtam"s@Nr`;`)i)&*#N@<P?B
+",-J)nHTVka2AKRfH(\JYQoLU!u'pHOL+re`>BGZTpYdCQ`DK8+;\Dcd!=I/~>
+endstream
+endobj
+154 0 obj
+<<
+/Length 315
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta]YtDr"&-h&!-QGfg*b"dH1g+ju,H$,B"Kd%OcdG/-HM%Sl"CL7O94&iO@2l^g
+%[J,JAjM@9A$X>VZg!*\]fuD;Y<'E)pjdc?FfT(5%fWDlfBk`(7r3'jhdLRL8(aoH
+:49oi]_#!\cZ_@?Gm:2RQ5RK_IkX/^&30ch"`ph+e]]R(5s@csKo)))=16"AR>)g$
+I4DRM2em2>3ZO(\mFKr[A`SQ]V;cMB&Z)dfHrBgL2J#)j]?*Nlcc-4SRf#WJ`?cf@
+H3II),"O@3)jR5&P4Vp%.YE7-3;G.g!0m:$4<O)3Ig5tC<pQR~>
+endstream
+endobj
+155 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+75 0 obj
+<<
+/Name /T4
+/Type /Font
+/Subtype /Type3
+/Resources 155 0 R
+/FontBBox [-1 -24 67 83]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 100
+/LastChar 121
+/Encoding 156 0 R
+/CharProcs 157 0 R
+/Widths [65 0 0 0 0 0 0 0 0 0 0 59 0 0 0 0
+46 0 0 0 0 62 ]
+>>
+endobj
+156 0 obj
+<<
+/Type /Encoding
+/Differences [100/d 111/o 116/t 121/y ]
+>>
+endobj
+157 0 obj
+<<
+/d 158 0 R
+/o 159 0 R
+/t 160 0 R
+/y 161 0 R
+>>
+endobj
+158 0 obj
+<<
+/Length 350
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`AYtfs;&-h&9'UWTJY@Cm(3MI'GP#E#C9XO?keC*F'B[&^ZO2<,X8O:.AB14uC
+6,?''GBRVR,+#ErEh5j"89lX;)':gk&OcCdb)6[DGWih3Y3,@JnrhH`/9/7J\<`*&
+qHcAB5@:t8O\$WnH,rWC2Fe87:+)T5*L?ur%SO]^qk_]/VR"L=,.42]`Yr`cW1i+h
+\p)dn`(#>aJp(O+@4T&$>&P)3,1P&7Q3@(fG6N$RD!^P$'>7S1qR,jCk*-]Ebr1$p
+CQ;$i?hV5mIdH4#iN]OE2hkHC44liWqV+Q]2OVpQr%-@Q@7,?rh3/mj/7Gf[:ph"<
+.+75JD9\.>2#t2c"Gd~>
+endstream
+endobj
+159 0 obj
+<<
+/Length 306
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"]0l"Tk&4P3L#Y_!<BJ,CfMnNM"$Vh+2&P/oA^eU<7`ic_[R?"!d\5Zlnr\MWg
+"G:-N2nOPTrh$FU.51JLF'*IMn]oUTK#co9_jhMr*ZE2pLK5.T?Q;1n)b<r25$f+n
+lCEukdl19F/0ZO;aMh_Jei?1!;_?EnjBOrrOtIR8$LOXKdUTY8%O;J_g<hf7W!lse
+JSm`UM!%!9M_Q,;dDRcf4h03n5D6*;6*iRKoE-F!B])NA#+TI$3*0K$LbA(FBWH]W
+_3.N,DLAkIfN`;XbjhpfcD^pOqF9e.53Y*.$J6:=~>
+endstream
+endobj
+160 0 obj
+<<
+/Length 274
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH83srhi&-h&%(4g1?KZjTV=\Q1:I"3XKXZV,;=t!QikHt@,\V?7T`,:JZj%PP"
+e.hcpq[YKh)\"Jh*F`)[']UmaXbHrMA%iCl(j"3U*&=!HN"ZKJfT.2CEsBI*3C+*?
+ZG=rZ]RsaP6oiX*G9O#t2/re\:K_1CN)9;n6V)p3TGT0n8h"+)Tl_R!_R8COJuYLD
+PSHq$[\E@0HSHNrAD@q-QX3X9h`QTt\-n]=hZT"A90RPPI3*;$8P4/!S^.h_/:ePK
+#683".l%~>
+endstream
+endobj
+161 0 obj
+<<
+/Length 392
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH80i!Be'F*J=>EDO2V1k%U!>a=tm+OG@WehE:>'U+U[*WJL=Dc0FelZl#$l>;u
+-j\-:B&8tA/:`eLJNs1X(6CeG6F8_)C^%urSl5R1ZaF+7@'tY9R@fu)Gm]TcI$=0s
+!O=SDDtGB;2g:UMni4C<pU?2rSmMLJ`^24YJG&rX@YX^gp!$!CI071:l3ikC8.Yo<
+?k2Mcn:`(Q$-e!g6`3dU:_)t+"+lBHhSWZYdE)F5!LXBU:kZN7Cb1H.<+Ca4@OD4D
+k\rgI'b2TL'C,a\dG]o>3N*$l"Fl@gQlmBD'*L=MCQ?maWB&rKTcmAKPQV?&A&fL7
+Mk.4bf2H^XKkN'*UhNI<`UMXA'=S`]qXGAeWL593(j2NLnEZV%oA9QK^^`gh~>
+endstream
+endobj
+162 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+38 0 obj
+<<
+/Name /T5
+/Type /Font
+/Subtype /Type3
+/Resources 162 0 R
+/FontBBox [-3 -23 93 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 12
+/LastChar 124
+/Encoding 163 0 R
+/CharProcs 164 0 R
+/Widths [51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 28 0 0 0 0
+28 33 0 46 0 46 0 0 0 0 0 0 0 46 0 0
+0 0 0 0 0 68 0 65 0 62 0 70 0 35 0 0
+0 0 0 0 62 0 0 51 65 0 0 0 0 0 0 0
+0 0 0 0 0 46 42 42 46 42 28 42 46 28 0 42
+23 74 51 46 46 0 38 37 30 49 42 60 42 44 0 0
+93 ]
+>>
+endobj
+163 0 obj
+<<
+/Type /Encoding
+/Differences [12/#230C 39/' 44/, /- 47/#232F 49/1 57/9 65/A 67/C 69/E 71/G 73/I 80/P 83/S /T 97/a /b /c /d /e /f /g /h /i 107/k
+/l /m /n /o /p 114/r /s /t /u /v /w /x /y 124/| ]
+>>
+endobj
+164 0 obj
+<<
+/#230C 165 0 R
+/' 166 0 R
+/, 167 0 R
+/- 168 0 R
+/#232F 169 0 R
+/1 170 0 R
+/9 171 0 R
+/A 172 0 R
+/C 173 0 R
+/E 174 0 R
+/G 175 0 R
+/I 176 0 R
+/P 177 0 R
+/S 178 0 R
+/T 179 0 R
+/a 180 0 R
+/b 181 0 R
+/c 182 0 R
+/d 183 0 R
+/e 184 0 R
+/f 185 0 R
+/g 186 0 R
+/h 187 0 R
+/i 188 0 R
+/k 189 0 R
+/l 190 0 R
+/m 191 0 R
+/n 192 0 R
+/o 193 0 R
+/p 194 0 R
+/r 195 0 R
+/s 196 0 R
+/t 197 0 R
+/u 198 0 R
+/v 199 0 R
+/w 200 0 R
+/x 201 0 R
+/y 202 0 R
+/| 203 0 R
+>>
+endobj
+165 0 obj
+<<
+/Length 375
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH9Ytfs;&-cNu"j%JH,;:cia5I?p.[!^D.87,>!S#OaU\-rBH*;n3_Um`*$XcIj
+DOd-6;`rlf04?cNoC!qZc>YPZ8\DiLNp/:T`UF.)b.hS6_M+cL6E8KOD]`AT6ZdrP
+$IK"n+^/3C@LQ+_M9esNpQ2!jn`i4ee6XQu'_$<^kZ(4uI5#M-NF8_n)G?[gVdK3m
+\YF2T,BY%)_0/NA5J>Kl]Z^ZL\i8%dFb\UHS*#J"Bc+!oq\j-94Ws8!lk`%Onsas@
+7B9^]0nmeMEr5>&oRbD;Y@VorhF:J)PoQJ#4:gHXofWd@V6CS<Ag>YD3`(6n*LeYp
+MLegu>5ON':!F8dPgrs:.]%,$\3gPIF1?tN!<>\Zf;S~>
+endstream
+endobj
+166 0 obj
+<<
+/Length 179
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"ZrA_;<A6=30Jca#1#shF1,K#h)CQG*!2];r'oYlZ//==h\XYdmoYVCP
+9t9gYJ9"ok:'&WIL0XSH^'Z/TV5[^k/dhX>J$=E1s1nO4$9p6E;?-Y9#`o!Ms1eU6
+r;Z?fmJkl>WW2Sia8_5#*s75o5skU^>WoV!\Gu^3$6(pr~>
+endstream
+endobj
+167 0 obj
+<<
+/Length 176
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^";p[D/:bXY$0JlTs1#shF1,K#h)CQG*.%'6:Jg>nXE\<]B-^T:lJtWL;
+^'@Jp9A_26=i$1mhpYZ#Uo6,8bL8o=TDT5n%m]o?)$3%,s%*1ir;Z<ekCKl;s8;of
+s6]j>s/H%gs6'ECruV=hqE[IJ\Qh;.!kA:5!!>;AW;~>
+endstream
+endobj
+168 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SV50b-H&(^A>j^JfM-B`#9<``aWK8=1@sUOfX2\fc:Io:D81''V!=j!*.7hR!]M
+=t$5M3,_>*AtnlN*<StRC'mZ&GokRph!e@`:OUT%N-GO,DugQ0~>
+endstream
+endobj
+169 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V;_V$%<7!KX<\QC20XFSH1#shF1,T)i)CS]+.N%H%-%TTI/shbLQ[ZGrW<np*
+#>gFRh^Q?D!D%M4.[1X4VK-sn./X=&it/4.Kjk:Ns.C&jR//%g9`;1cVEWL^W<Z6,
+@`UhLC=IhIC&s9F=R[DAnp`8n:Tcr8^]7Be:pp~>
+endstream
+endobj
+170 0 obj
+<<
+/Length 225
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSU0abc_&-^Di.kFAX,@iF"adNbH#XVL0$UH9RTU$@Nf#F3D:"C9%/k*i@@C$3C
+GVf9n`FLtU=KkJ/Y48IL!pPqjd`5gkELcMXS=qbNmkLA"]]KR\Ek=SCAqRSYr<-_h
+7+AMse]b<0Ha>(s(N:t:Al_eW,h4,.G,FKX.),FBVtM=TH?8924e0Y>7goHso;'i]
+b5(4K'p0%O*(7"dY_1g5A@9:2~>
+endstream
+endobj
+171 0 obj
+<<
+/Length 326
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e:J/PZ'F+&k/cs_E)rt9igM/0Z<>ZJ;6I;!%6!_'@(q6rk>c`"1Jf!W+MiuDi
+)2j[=[s9X>5@l.Oe8g!eAM$n*YD)d+AM20*Y,&c[(aC^&B%*488]oh!G79mUo5H:8
+akD*pD*QoOHQrM)T2uIUIQ?<l$`),T)@+KPG_\F/a3`J#+jsdahkB5l<@]6gO.%<X
+0*qrAO6@8K+/ua=-WkPLBJSiad24_;l7G#+?Qlm<qIbR4)'*>6k--\OdZH`1LL_^,
+pg/^@q1UE,J6F:!Ql7`'9H(\ZHbaV5Yft(;)&V@rQ?D^F?uB3?BRU-caR&"W~>
+endstream
+endobj
+172 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!Z"a>+&-1(B'S0urKA?Ai]K9QJ<$#]S?4i!Y+(/!D:pa4GTUl'[5Y->KH9^>1
+<ueit\Kc*;@.l<k0s`s`'1SoLP;Xa+hd`%(mSFqSV/F9I(st);KO+lA#^$Bh!F8"D
+Hg>/M@J5Sbl21XhB=)gBf#=6Zo":/)[dkt4:CZR9o7pVX>P:?t]$b?P/?]t)iL(W2
+r3arngLLDa8Yss8>$C*G/_HTl;sN@$\\)opmHW9<Bs+=.C*TNt_LaqT3P/o_m!Wa9
+G"%_h-UuLI<+&cad(eg6Gfa>!k5bQdeZA0~>
+endstream
+endobj
+173 0 obj
+<<
+/Length 370
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#IYtDr"&-1'?;B/Ao:WWHak&O_dFXsAA.0QdNJCDq5d5lJR>j3mF/GtJBIphZP
+=>J1I-?+WgJ`MNUA7fJ_.WL$Y$;Zt4[_up7%g>'_\`VEG<Y^Bb$P)`;qZNB,np;q>
+OC*&;o$-P*(6I-,q"jRT#k]JV?`N?I@oXkaC@3$DhE0:9A1VLpEeZH?gc:.6%=&[P
+,O3-/Mu#H;n[hGh[b#'VT!O1bn++)h#"]5;L^rJNPGfE/l03ie8<Y+<A[6#oK6g]Y
+f_csgBLi&^r9jOJrTsLJ4n(XE)f[uS[,X<Y5on#/[@@;Pdg9NlTk#M7AaGpfNZj@Y
+9;n&:bfK&$BIbYO,nhW'dc8X2WeNV1)Z]/t\>'~>
+endstream
+endobj
+174 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015t]$['ZTYW(PT??&b7PNP8$(45ZKKG6!#*m?+Quu3o+r3.hu<6NJJBAG?KTE
+IW'UBMG7LLb:kT25B0=KG_P6!]-T\.ZlrL[?g)ZU=n8<&mHKne2<Bnc9$2'l7/?]Y
+MQs/Lq#0U?L$EFhTBJ-s;hg]2C\I#sQK_+8EAfkM[Mqq:bbFK<-=?f.H$ID@mjhM^
+*g<MeS$K/<)E-FlbV"^?C/SbGT1Ik<ZY>QZlSrp[6_efcJc):7+EnN:k0`b7/bd<`
+N/%79aGm&ojGQf$Y%X3VB-CJ?;a\"<hfFBF_?te_9G+k8l%+9g!&GR60)~>
+endstream
+endobj
+175 0 obj
+<<
+/Length 361
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH9_+oVJ&-h&=*1G*fI0A[9PYt_SSk,k.E\Pm>+$_tI;5<=9i-Y5K1`h%(I0>QM
+2N0H(=]7j;^mFCA_t(.*iuEtM4C@#mJ`RN:$@%9T#%bJ!\TC\fO`-;-f[c/QE4(8p
+Q>;S#n#rsG]Y;;X[uY1#YEATVL,,W-g=rWLW+<G"37aqUok^P*Ipm1`%Ll9FB])W`
+@D\*/q/NS-ZrrLF][i/+;aqjV]2qGClc7@2\S)oJUGA-aW1.JnZ2C'WZq[ngXbrQs
+*L'0,]2O,t/<(XH-=c/,S#Gl!s4O]@J]&qi.RYhm8d5p7AUCjs*FGF"bWaL)%kc<p
+#\ui/'Rc,Ap"=<dE)XXVr!i],PFo,~>
+endstream
+endobj
+176 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A75L@1uQC1F%Sf6`ra.'*ACL"EI60$l*jnJ4+E1Q]ie`I^jud!LLM*:l7p'
+.DT*&OA"K[=.uFg1mQ857H+82"pTh^J)CHkr!t%i5m/tNnH2IhUC\N_"@!7`!)1J/
+&-p"(4UTR:-L+G6"u,QhRJ7"6(f:PW40J\8GmlqR0PKa6#VK1SY!=VT!&FBE2?~>
+endstream
+endobj
+177 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um)]l&HV&--)^#,GK$#i#e55U=!Gb)]MV8F=n3BKLB.Pg&W14:7.baFJZOit;[1
+R.H*Z*4CRW@u3'uXjQS,]7MQc&uG-&hGq';\bl5W6Nb:Tg(K9%Sq>tkI`)SNk(<?^
+is2"dP#(jf8Ms:B,+:H202a!7Z>8"I&P_W]12!r?;)BdtkW8QFCXt,seB[<bXT)1=
+Z7f)KaZ5un1G;=IW6(uJ:<U7Ib'GN.cXVhfmH#9;kL_V5MTnK.=;*a6k+R4)$ghD-
+2:8].eGmCrJIhMp!".G8Jc~>
+endstream
+endobj
+178 0 obj
+<<
+/Length 350
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015u*,!$inZRquoYNisk2U'JMl/OaK$KKo)rpJ@]ird5>:E(dBXc#2WbCZ'\AB
+%O%GmOEnsT*G?l0b,M,Q@k'"/:?]F--S0>e]98_[6=R7U4lW?Tm$>d6ZV(U5[^eSs
+!jh$H?CkLGYW4(Cp26scm7J5s6H_J:r`&B03"Yq0"JK<08UQ_,@;Us[&KLC[Ak;[d
+_Pa!u&&%K*LNH"ghCVhK*[Y-&V$m@X8-%D0:+R2jY`!b18dVqL>U2_ilD:1F\"K?2
+,(>T=IhmEIh$!2QZU\Z,I+Z/nZC=>:o&u$og33trf(W.)j<V"kABW\`lTk#$oq5fp
+mE[Im1jFYf!s$phGu+~>
+endstream
+endobj
+179 0 obj
+<<
+/Length 280
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015>&jj&-hV,MhPkcKJs]LP?0#qJc,\J&@D!.C2'ATSTL0EV(>j;26u9E.8too
+3I.dq)fU]1nM)^O9TaD9G&B7)$d6k^hC($&B61HU[H1sHmHKm:'r?t](R3e!N7-8T
+RYC$e5MeV3W7nJ6I%?\N`97gM9ac%Ic"L__@u8dp1tJ6!BZiV85]`V8C@m9'N^.^F
+9*"hE02=JPStgjp"aHgibuMi`=bI3P,c&nVOB,;71n$HNdNH>>ifJZ9)glD^$*p[1
+d'fYRqAoVHi`0^~>
+endstream
+endobj
+180 0 obj
+<<
+/Length 278
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$b6#+85&-h'G/.+`f*^K;Y!]:8g6U:JjXjAU%?$QEmfnH0Yaqo'FAZoWF]ge%?
+15h7/PE]N7hh1a^r"Ddai.PH(N[>_L]Er:Bj&h$:7j07T:blJX8SLZnMT7II*tj^.
+0&B^%CsIh7ED+tH!uCrsAUs&gC/C@M`XS6"H*6*K2pE"RVKW!=PiVS!p1L@e[p13D
+@EW,lN<bFF$W:U2W&rcVVao:2^)X]SIJop?Y1+q$+E)Q!<7q[CI6X9XVRE:%/ejs]
+7SERu!*cC`li~>
+endstream
+endobj
+181 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TITZ#7E4&-h&\*fP!8H%Xl[5[kA27Y2hHTi*uF!Eqqs&8XnR@c4XZ]EiofNuk$#
+cZ-hk=n;O/rE%2s6_31(A"dn6j0+1XjI2tac3oZ0RR;OQ[]l\QrPi)0]&jFL`TIm0
+;gmS4J)!<^Nq=mE7UFoEgOOlsch-4g#hjh<RXt#<\[SM\UJp0lX`AE^X<cIr,]#d`
+?LO:ph2-%P$I7.I_Rq]Ljpg=hWEpdjHDT\t=FK95/fd:i/plc5In`8\Q/n[d(KM8u
+_>aKI\[tQ~>
+endstream
+endobj
+182 0 obj
+<<
+/Length 244
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`>4V!'/&-ZI#"j&S@J[p:46=XTd:EkLL<ZXLX/MpY7<aH0o7IULcDF&N]V5(<k
+Ahu*HH,W0MSa%WP@\Q;ka%S+Kk?OlfA3(`DbfJ`oo2:abk.)aQ7Zu!)$frcqHFr$0
+;D&]_@fSe#1sm7]1Wu&'5Qtfij;UHK9H0-A,*'IX`5Y!5n[tVP4WYX-&U4M0)6sO_
+L%AEm([Uhb]MJ\BBjt1S%4CbuQUf"%Z79E5^B">+$aKs~>
+endstream
+endobj
+183 0 obj
+<<
+/Length 319
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e_+Fea&-h&,&&KHj%oA^?!Sn3fKjG0e"ns.hP7M&J'N>c/fe"7-qF^.sf>o3'
+E=^6QJ$RgHEqgcFAEG98PV\p$RGl>JV\d!&oLc[1+gsDWc4+OHl'^Z;V2q,c9(,TN
+FM>7sCl3RgJ,<>FEPmC9>m$ucje.j#S&eIfd9mo?4P7S!K6=9hh7]q:Jb<"Ih>5VF
+Sg`npQdu\!BT'rFEY&ai"[sp,Fk-fd6tm<ki+6O,^=NTk_,1KP\*<k/[3ccmH[fG"
+J*";oklcXI>0B[`i5nBFCW@)=e`YO$R?a`?Bfcp</a.cb#64qN.g#~>
+endstream
+endobj
+184 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH60b/e3$jPX&(eD5WK\$S[mg2&^C*J:e:*)Y@*AffA&dGNCi?E4Cgb9oLQI3OE
+?^pu\d!3ZeXl6hP=N^-ddZ#G$WL4B7(06aL:01%D$BH00$Fd=90\rp77^h?trHY)Q
+bs:MI.ZId3BO$N(2*A7@O*1fUp7g$7\cd.#jLPnOl%U<NVfO8aPR"#tb^^elIin1r
+D#r/G<<5C>;)d^&c;!,Y[fR[rTM7l\q@3Kh2h>u~>
+endstream
+endobj
+185 0 obj
+<<
+/Length 284
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%['Ys6r6fBU<_0:I=[MER)_%3c&TT]UW7gDK!6*S>%UK8piOnK!jFXY8B
+7$Q7NB(ug\8]]fZY_>Oc%GSq3Nu]#Q2QX`;pi[$.5&a2fVP]@E(%_R3B';9`NVF'd
+hP?2j=MYi`S)"^/!A_Aa`*FU/n&W0`]%hB\9Z\Q*)jR5jd>dSFRF8]H='J37'amab
+bHee&.UJt-?`)8Hg-j*5L;N/420J=odFI$MT8EA*0b]:;l/S3hAM7g:WF*`Q0TJS_
+Hq)W&0RtT7"ou!+YSR~>
+endstream
+endobj
+186 0 obj
+<<
+/Length 304
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta]0i!Be(^4;*>>4THEs2IM-m2VgOfY!B@A9"lcn-h+>-h`mL,Zs8"gFJ*1=%n;
+K]^J=TAe$6W[l?%dYjjNWmiNMf0\>jX?"PuR`!;mDUOk1fsQu+CKX;RcTTBnO#L65
+eir<\a4FYO>6VYC0Q"r+mg7XX*l7[^kJX3*K;f/]N8;>NE^2>B,<S!(WOE8\qD3j<
+$WH?9==,YZ/"K=GL<fg?M!^@n?pb"6;D;#[*.PI:%<6)uO%<A-$\$(S`);QU/IAIG
+)DZJH!2%)8'9eIH[u<nrO*CcfY*CC1)Z[umg&_~>
+endstream
+endobj
+187 0 obj
+<<
+/Length 289
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta]0hTDM&B=6n'S0t=KZjTV#qjsb4;CO5B]T9Edc-,78LdB:'WZG;-XL3J;FnfG
+eu['3Y?>K4mi'A$><_<(=LMl?d*\FYbBg6uHeREggcs2hVrj"69?e3SW7g!sF%8rS
+bqIDHO47O@XG)I@JMQe[W$4m/Nqe9c*"t\M:5GXF8"YDE5KNJO_5Ub2A.EC]6'7-a
+=,MK"J8lZM.,.#?0qcu7.%:<B()XGq;Xt!&`?4]U(*8^tZYY#LZ;t=`#oj",GXlmV
+j1@d)_!?Y+Hb-'2!<DY!nkK~>
+endstream
+endobj
+188 0 obj
+<<
+/Length 255
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;MZ"a>+&-h'K`PFD*#Wj]$S@aKA<"!=A[h*$1"!j1a&HaIKer\l`?V.K3f2-jG
+9t/+$T37*%)*XpbTA_a'4Q)ZH24FglC4=S&9#eql^dH$4SX)t#o9("^eXVVmC*F6i
+c-qJ+<GosKp"P)R,6KMMr@Imr!/5pJ2_I$[.j(PdM=qYN3SHj)h,Sg/];$2(?3"FB
+HiZC'TB52ZPKm-b/dg,4eHWXt.YCgUV[X`ba*/eS00j#;1\r*l&C?d6~>
+endstream
+endobj
+189 0 obj
+<<
+/Length 321
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta[0hTAL'F*J)"-1$+>:VKGckmF^XUM9<V@^-*!,<s]-s/#IM[.<8]LlRi]uGR=
+(qUL"r4X$dVYQ,L_>F9/<1TtA3\"-8X$rj+8p[1GaW\]p*1)%_m[n1C;K8V7,o'L/
+U1/7dY"C1tC\@Dtr^cF1JeJ,r!?&/!H"9P.&X-lP3mgC9"9LJO%jRM0()mZhbb7;a
+c5=//&<g[SX`3:?8gef'SK%VW^\opj[!US:p\Cf5r1:]_&(?+%o.n(^pMdBO["enO
+aIp/daNV\"2u1OAs664A"3h$^*U#8G%q^-Bn>/33JhC9=V8!$2dU;P#~>
+endstream
+endobj
+190 0 obj
+<<
+/Length 219
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;L4UT%k&-ZH/$=TAC+`d\?T1Die;8FgeXZV,;=t!RpOM]Er#o6hliWWeX+uo#W
+?9mAfCE>U/TYq6D$?_);Jm/B`ck8A'#d^51S#spVEW]d1>(W-r#t2LtTE8O;GWMF?
+@&?J3eFfoqU;e.Yg+1h3,Be'!-ZDEGp%kc],1_&pqtIh$dKpg!4qr;r$K%q2;K\hV
+NGA>n&BkQai&:Z(XI1j~>
+endstream
+endobj
+191 0 obj
+<<
+/Length 341
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt5>Hks(^9Cd'I;.HKUE2rOH?;[P#W/E9XO?jC:T$f4!P:EbInP,JnkeR!^fID
+GWu+;<LT=_hRpss090#)@W`Th3)WVH*^fHK[P>Zb71@L/^@?I#Md7P)HaSieJ'BA"
+mqscmYN/0d^:ZUcjAHF.MA-rT3Q">[)\$"pkH97-cl*:i*aI3l_.NofNN&!]i8E@7
+a<a[qfaN^2'46G_Q4es[9ER`aq$<$@_*C[S8'Lc9/G/AYm(F]PJVDBRR[m^S,O>OK
+XBq>bbIM$/IpfVXOPPj]1Zt)>N(2Kup'ApX-p.>1G:hRS5h+&GF'$Q45R[2si[POa
+ib&8<V[d>~>
+endstream
+endobj
+192 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$dYt>*a&-cP(MM#X:&U%JGmhRgWb<f1t$6cD>!,?5AQo5bcYfnUd/Fj]0H%A]!
+`NbVVEsG;./MmFn^l/]R4Q[U#,K$tP(IRY%/XeP$_rFsR$p;;P[%V6Nel)0sLoT_+
+Nq"r%r;!UFV<4A5P&2_S869!3Dk*&4n3IEWpNu_%^#-qur-8HiK,X`**S_(3-NtuE
+/SZliJF_,fj=$;(]X021e>Z^H`a542TJpNgGLej0!T.W#%'E>P(ODYIY!!`o7D])C
+3)cOW:8Wf$k&_RCeZZT)~>
+endstream
+endobj
+193 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$c0b/e#&-Yl="j&S@J[p:4&P8ol:_P9O[.433Bq`omN#.,9lk(Wp#i?0?K][,,
+Zb-6-Ym-Z\4Oe&@;4s7Pm]mgeJOZ=[Mi^#@^.FWKJ'qmZrf/N!ZbosljEl;=?<>6-
+$CDNXjT(kK!LhMW<0.G]JN!h<dAFU0f'?ShNd.?C/t`0BM@#8DNaRJ/X<DI>V(2J/
+(pUnR(9r/W,7\.&bs[qmO't>?X2/,ThHMUe560C!Eg6"m//OoT~>
+endstream
+endobj
+194 0 obj
+<<
+/Length 311
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$dYtDr"&-h&#>:`I38(`4j9`d>c/oW;/6I<j[33T\cZqc4lQ+k\$.t!<r^-KgT
+bPofBSOlrY=QZ4nR/G+(r%>:?c'L=am7Toe`*]Jr=#Rb9,\/j;Zn<eQjuuE*3MU-`
+G\o6/ap7h6rjelr`kn4<JR/j!E;2Kd'n4p9:gi2KfUp`>K:N[j?/];%$8LNYXC3t[
+F4TYbU/=0M#)2#H/Bsq0od:2nq'\a=nZP5[M6<#_6*-,*7hsCAQ!:heGHa11GK0s)
+D*"o7')<0]ph2H>R].XO>Wq=aedGWnQq=b54ji-eklqIj~>
+endstream
+endobj
+195 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<j0b/e#&-Yl>Kul.k@HR\!#R%b6:_U;ldE2QiV1hBS['Jab(^mK$L't*=(5-g5
+X)6]hk5SuO)2=O;35T3`8Vi--c4Ho9(h++d2Mk+?fUj9&&F;)G+]t->Jp]@E'4QsQ
+bO#REJXru-XZSHhj@crZ923Sn<(ke=.G:1-Z2+tYp8g7DZ7;(sBS4mi\(hGhiA0ci
+*'29aTsaY*b/,-oKfbBmkU6<:=:3]tDZIrkY)<~>
+endstream
+endobj
+196 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T1K4UT%k&-_!W'S0t="QoiT/<O$ArdZF#XZV,;=t!Q%@U\MdP[#Kn"TgS2_EOTd
+`AbCj")g*cCSZf1XN#\U7Coq5PM!/YC!UPB[@FM'[PCN&>\\($S8on6E'@/@ktDWb
+j$qJ%!dOu_g8G6?8eeeqanif@2]jD^I5i>*cdd;kCQTJG+3&\=aP"'XX"j\p<)H@a
+n=gl`RA2)_B\IqWQNsIp.p]l]-r=q]bpY8L-E/QW4TL*ZGUE~>
+endstream
+endobj
+197 0 obj
+<<
+/Length 233
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSW0abc_&-^F:KeQ5]i*8N+S$884&/Eted)lHhV1kZ:C1ZXp!Z#)ei!!#U#T5"M
+HN8s_`I+'!,S<M5i^dRBTUF_5_\$@1h:eZlN\tH3[Kjl*W"$`Ne:JoAq.bd*P[3;E
+FP2;;+gi1b',&jP:fLaJ9$`@2UT\GE\3LV]Gh;iWMq/i'`XDgGIri"GgloF]qT^-5
+A4%jAT<_n5UT3<X>pnN`\V2ng"oqU-^Ei~>
+endstream
+endobj
+198 0 obj
+<<
+/Length 293
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta[YtDr"&-h&S;?WlM8%<gF9l_d)f,-I^9He(\.sRA3MK\!N>[ckI*E`(T.sZ]Z
+DMk[5Z\c[N^4H6,J(?6_j96W)CmSs2?<?baG-6THgPQf&Q"J1`*N^50Y1V%!37E\@
+e\s9/C<lY>nbJK>'?1eKE<<N2mN(.,P2&^4I]HDS]q:ufL9EgOL3K9fn1Nk<R[rc-
+:n\e8e#TmO;ofAN1)OVZK/p;ceCU\<+4^5C^](haI-L%RkXJf6QjBFCaZOSDEk1$/
+gCRQ(B;3-RUY"_:ThG5"!8SI&Hi~>
+endstream
+endobj
+199 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$a4_hl"&-^u/'nU/n#bDFVP+i,F$iU1-#UEC[OJE<'`i`n5_POGHE8bR\kQ4Yk
+`Nh/'RpaZl"7tB.IcR"LSeS7`l^Zi?>#SSG11sm32(^'ehEGXS;te@F7G19Wb%At@
+Q;Km:G-h(=HGMSX)ufo=gfJ!N[DH=29tpe$2(lT9_Q>b'78Bt93k*?Ul4O-;M!P3K
+pkZa7OSn*s(E/qF_nnhVqS7'J]5n@Mi"aP!M_U=94!^s0%R#>c,Y/0IXQbFf"osS1S[A~>
+endstream
+endobj
+200 0 obj
+<<
+/Length 314
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um'_+MU1&-h'G4Tso18'&>n-BY1=\PO$b6-thIJpJ,1oXlb=oU&^[o[)2\kmO;r
+4Y6IlRl4)^&+dUGZhuU3\DR[#PWZ\>;8KF^I8X'bBTGcW>a@./o(#Q)Rdt*o.a%3k
+7/?KFL5#JT^V>6SW4lgo+g:E5.*?rTT6OpacbX?>hHB6!]oXGpF?SBMV-o!WX)3Sc
+e!`)@[HW"aBl%cuIUn"1@hg\2&0FaOCP1+E5j"8[prk&TNt2O4"7Ch&a!,%735DFU
+`X[#hKKYF,R7)V31Xc?=S\<=!<k1aGCs2pkX6GK?"ooH<eDp~>
+endstream
+endobj
+201 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um&0i#VO&;B(F/lp\<O0E[+8;rkg;FhL,+@3sIJ2.963lEXCiK>]oEfk-JjU7$Z
+/M'*jK0V]nNV$$<g^,RRd8<3tPh^k.$[o3a+]5P`j$J43buQJJ4hm;]kNA&Pb;5;[
+?-qWLe"*XBKY`TSi&kR9)g_d(mb#GHVX^Em-'lXU5PPbQ:K@VQ!#@Zgi"BBd*52Rd
+rl=/"r&%0^r\L%fdJ\74d3=Hp1pX__GYr]QGZHMcM&*EsO!QR<%4-1GRloso7bOIp
+#Eg)9T\#ICddI8<kN^8%~>
+endstream
+endobj
+202 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<mYt>*a&-h&#$SG,ZDd_]2o^9eS,h51[n-VH3+$_C]'s0D<7EW9kM+(`\K.h3.
+[TMsAp:LKE^1(aNk@][(1S4,>^>NJC7E1BK^!^FDY8L+P4?LmL:jdMbAOYiH:ZdmJ
+bDam2m02[;<]BsUp@1Q$-"@%M9n7Y:Yu'9b7peS'I+bN<6%:c/^*i-H.tcM8gLG!a
+"o'f5<fo8.NY8+CqSc$87)R]/g'.Sor*^=Cs(<$CBT5Ee3[d7?@H01@T*YEq5j0m(
+hVd$DZa#p`(-TqeJV3G@+gM/28]S7snIf?i+Q(Nk6R5r;F@SOt!!G=9V>~>
+endstream
+endobj
+203 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U#s5n6.6'EtVr-+jo`lYe'9[RbK`@H@Jk=qL,*2I]^NRG_2p<`I,tW&7Y7"9,D_
+k$orB:#N<%-HJmL+?^GPa+b@m#%$K++gijbb+GD$R.(Lal?NrA~>
+endstream
+endobj
+204 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+39 0 obj
+<<
+/Name /T6
+/Type /Font
+/Subtype /Type3
+/Resources 204 0 R
+/FontBBox [2 -20 91 70]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 46
+/LastChar 121
+/Encoding 205 0 R
+/CharProcs 206 0 R
+/Widths [31 0 0 56 56 56 0 0 0 0 0 0 31 0 0 0
+0 0 0 85 0 0 86 0 70 88 0 0 0 0 0 0
+88 0 0 0 0 62 0 0 85 0 0 0 0 0 0 0
+0 0 0 54 0 50 0 51 34 0 62 32 0 0 32 94
+62 56 62 0 46 44 44 62 0 81 0 59 ]
+>>
+endobj
+205 0 obj
+<<
+/Type /Encoding
+/Differences [46/. 49/1 /2 /3 58/: 65/A 68/D 70/F /G 78/N 83/S 86/V 97/a 99/c 101/e /f 104/h /i 108/l /m
+/n /o /p 114/r /s /t /u 119/w 121/y ]
+>>
+endobj
+206 0 obj
+<<
+/. 207 0 R
+/1 208 0 R
+/2 209 0 R
+/3 210 0 R
+/: 211 0 R
+/A 212 0 R
+/D 213 0 R
+/F 214 0 R
+/G 215 0 R
+/N 216 0 R
+/S 217 0 R
+/V 218 0 R
+/a 219 0 R
+/c 220 0 R
+/e 221 0 R
+/f 222 0 R
+/h 223 0 R
+/i 224 0 R
+/l 225 0 R
+/m 226 0 R
+/n 227 0 R
+/o 228 0 R
+/p 229 0 R
+/r 230 0 R
+/s 231 0 R
+/t 232 0 R
+/u 233 0 R
+/w 234 0 R
+/y 235 0 R
+>>
+endobj
+207 0 obj
+<<
+/Length 128
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<%q.Q!+I0_"[c4B'LT#i/g,!2KL![HcVQpZ!(\BuE]JDcl%]?E\b&&#Uf2fM
+Jg$JpVlrEY;/%MHVi/D&qZm$(fGg1q(m/5/o)\Oir'0PY>WoV!\Gu^3gdN"f~>
+endstream
+endobj
+208 0 obj
+<<
+/Length 157
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z;_V%P"C`$c"Z')2'LT#i/n583hZ1U&e2((N2#n92\Qhn$>l*Cd`YMhU*^D/,
+IA['X"[anj:LAg=U=*!n:D\`bs8UaOs8W*(Lj/nD)M#aJ"s@mc82)`*+`&!'8k'Wu
+oKE@52M0-&P:M_&0E=IUb:r~>
+endstream
+endobj
+209 0 obj
+<<
+/Length 331
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000i#Y@&-^E`V-%FM+2PYk,a$[4>$=08"VOcS!%9936(LO\>g#Y-&Q5L11Ai#p
+J-8<4ilq/LPIM-/M#)4%+2_U78)ELaQLVTuB,u5Ak/5"%IFpu+Y>O<QE-i1CDMO_N
+qXX?u_dsB&0-W2h?mZf^JafYUXXm18@J2I=PS*RCCGnm2$V\oC%Ui..<cZi5EXUtn
+Ob_Vj-)im",\l&lQ[6:?-.4bm[/8"TV,=QVaLXqiDp=G&d+>;H@2dm2O^aG8>$U,U
+A>?;e>1!_q,N<6/.Y`]q*knDM6X?]rnX%>]^EUF[ZWYLg:+#q,rlS:Ehsok0&3f)B~>
+endstream
+endobj
+210 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"]0i#YP$q225Lu]mQLbGuC,OM:dZjRKqOJ(S55Y2!.3]UB(Os<X\7C:(lM'>>T
+o;!7RIt'PeEg.]%7`&$V+Kl6(n1!"f4^/4ONR\FjmsOQ6I[3pjqVFhLT-#`7E8<b"
+fB;lIpU?khV5bjdj%Rt%NeB(6Z-]>o.FV7!"cT7^0^TE-E!ACgrhJekPbZDa,7QO_
+@O.J[%%M@bk3<`J8sKbh,g8A`Z):<fG#N:ld=#'qjBPrs\C&IbB"bMFc.ISG$!N:Y
+PlG1&F4j[S>fIDGNYOM_82?Oad=Msj5QjHhnEB[\hocht]:PYiB)k-5pJC~>
+endstream
+endobj
+211 0 obj
+<<
+/Length 141
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<%q.Q!+I0_"VVQ''LT#i/jiP[hZ1U&cneYJ2#n92\Qhn$>l*CdL8J5P*^D/,
+IA['X"[anj:LAg=U=*!n:D\^,p(-p/YW"6l0I"C=joar\pj^rr`rkhsjDsqS$KM6s
+!;A6/h#~>
+endstream
+endobj
+212 0 obj
+<<
+/Length 362
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;QYtDr"&:i_";?Wl-8%<sJ9`etqX9,;O.0Qbh&(K#od5hTJ=RJoW&[pJ(agsR?
+H]\G_!t!kJk+Bot9&sIISp`66C[kTd#OY3.VW7BU&/Vm(]tEC!`p?jp9$H_Z-d3']
+2kn*hILokYheuWS$L:/>2U&,6R]G6q$.^mAO=nU>16[ICJeUK"0hNK16q_fkMWtq0
+r0*0+1kb(b;'mbI0g?\1L,;@1lVTR]3,u[cfTrA)3*KC5e?bAQkGuTpQLpnbl1^^H
+pS.SL^CO6*7F<]sRE1$PcPf>'a'1Wf+XOdUj[D"?`UT8c7k('"Mi_Taa_E4fjS,a5
+ie';'&L[(_<;FE2$L__W_VY@oL*$X(~>
+endstream
+endobj
+213 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:5Ymu@>&-h&;$mrIQ#i#e9O<EILJssbgU6?+\NXctup!J!u*eBHiJ8Kuj8R7^"
+!r5I;QJ?s]6p?=aM&-jPF:.MpnQa:d3=TU%9muOm?80RM4&A%0D^1RpbB?Mcd*&n?
+^HKl0Y6`Wk`V@Sa=Y+g'>k,'1.j[kM2.1WC$g:U4/P7mrS_eCn;Bp*WC:.B3?A36r
+ZqOKh92@qJ5j;smJ(OIF2JXu\=&Orl>%hpCFY]W?kLOUP3bb-KG=84[8ZIr/!&n,[
+eEf5O,qm2ZNdL[4!,r1`<<~>
+endstream
+endobj
+214 0 obj
+<<
+/Length 217
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\:bY^"!Fdhu"Z$O?'LT#i/i/TV!JkNcB;hJ=!$m_K\XYdmoYVEf%(PpmJ5TYK
+:'&WIL0XSH^'Z/TV5[^k/d`!u:euVMs*oRhs8N=#qB(t$hZ0J`5j8MMq?)u]!Mea"
+oH,(F5HOKAGo6LPT)eg37/t(hs+&N>TQC:'#5X3*)Q"RLrs&T%rfKa(!M*q$V",0b
+F1HU;"`aVJ!&GI2=T~>
+endstream
+endobj
+215 0 obj
+<<
+/Length 379
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQR4\ip\%##^=Z'(S:6@8gTL*?q(U]i#A+@/H.&l;JVTI)VU9"=t(a:V<f&S64\
+lnV`6;j5)pB'ccCqc/o_Ul_?VWY6gVjZ_iT/dkpeUkInjLC`P8Ok1%T[o+!3?,FS6
+qYEm+cC-8/H%(2"k$1#4Eo+P]oL.Qri$T^@-`&D.3@]0EA?2Li)OuO.\DK7TK,K9?
+GK1cHr2A*kQ4qb#p'#00e@KU[(l-bn\o;m9WE)?nJ_gkC]i^+OU!kVlnt"K"dk>8!
+=c<<4=q'5pOcmI-r2%\[7^T)m#7?YWUbM=(l&Nb:$JR=O)iRuYZGO'A?5"5G77<CD
+j]F,l51)hk'kY$4eLed;$%C@!WjDC@ZRPE5_`.KR!+$o0JH~>
+endstream
+endobj
+216 0 obj
+<<
+/Length 350
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V020i!Bu&B=7LYooIS,OE$m!cd8+eL%=D;OD.Z!F/8*NRlPF[5N=CN^1,Y@@[/M
+0N_.:IP6BS=$Td),-L",Y2XR=pEdN%H6_T>O/pGZ?5.F,H)"Y>q/]eZ.)2*=Pj]Z3
+@S(kD&3iCn?E(Yu+TuBu6<K&X?/$5KPP?!?jV9t`-o:gT1Y9M94/iO]N]I6LRYEjt
+6RS[n1/mW[0VW$P+f$9W9j:Q^_?bf,#\aQY#\d3Se[T]H8^g8":=Ad5bga7H,Y:L"
+Ou>nc,\blYe@B,.,\`I<9p0[R;2ksU$u0(=lf@>D1q7d.j#Xd*)0N)\`p'\ehDMff
+dc$h^Y,3TC)Z]i=p!!~>
+endstream
+endobj
+217 0 obj
+<<
+/Length 384
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V/F_+MU1&;Fh#0X-m+6M:R>NO4h>$<=n^"?lP\eY<@<cO'6_$GK'H(W\=dP2Cb$
+9=<\!qN:_hG5ctp?cH6Mj*;@UMc_XmEu!QKI*'Q7]V9FD;<-!b26<9D5/m=QP]r?Y
+\UM&K<@F@6q!n@Z&t59q8:b\e'Se>L-dlmX-W51_`0nYPg0Qm2^$ljoT_%Ag(45BT
+?m&KH]d*5=Hc2-K&,CkF&ZZT70q+1d+\V=Oe%#U^+mbD1o)p4_Fe-=>JT.'9Ve$((
+PpOkI:97AeZW*\u%N$J)I_]WXCCeie_dEd!)RuO>(Xi\07.q/L:Z/;b3b*3=V7j5.
+E1^m8930+2'@bPbLBaF03m6]5>=CGR&lgs'81qes'->';!6WnLX8~>
+endstream
+endobj
+218 0 obj
+<<
+/Length 375
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P]h64.&A[fB.0A8"^$b"d1`tWfi@o4#QpT0B#>e&$7GH!+pL:ZlaWmTT&MhYu
+m&D3W:13k50&b+lB:*.g-Q*[[XpTR!bc<0jP](])q.[i]]H1G(VD?6q(9'lCprF_M
+]1^@A;Vg@0gW-Y"Xq5i6#^$%jC''P)M&Pku<KX4lN3#bhMopk\<j,\aGYue&:mE6=
+660i@eY6`O<dkRQLqFYR:3<k+e@ipm+08io\Z=,?f4ZK+P-!&`Pse9N7XqJJP%]\R
+F]OYYaVo#[3Ao5q)r7GPqWJXkcsF]e#:Il/qrX$meu=:=luhip[8RV%V:WRuJ48]+
+:*W%&]*Nq!g')OTiEp>p\[m$gIQ<\(Y0=TT)ur1N&K1~>
+endstream
+endobj
+219 0 obj
+<<
+/Length 291
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`?Yti4k$jPY)b#$1^pB^F"5[1XMnY?743Zu8W!rsPJVdjTdXh74H+_-;kN1JaC
+&r8ru-eWM+$p?Q)nR]m2a8Im1[Id$X_m]F]m]Ka<l1+U9]92@p*ZD%#1e%**l'>PR
+a%&>[^YW\;@l^7r>on\S"-[C,(6+$lV9%r?4/J%3G62<o3Dh;UEQ$E8N9Cn[aiJs"
+,`l+a$SDjtoGB&&?o!,tYiH9eR@$e2IQ14'9fup\*E.7)G`=8.I-VIfPFJi-M+U47
+XM!B*A/2r6#O$W4BDNJGGL=Kc~>
+endstream
+endobj
+220 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF00abc_&4ItB#Y^F4bQTh+=g_Lj$>q##jT3lZ6I@gp$a1:`Os?brZ"0A!,%<26
+YP>I$q1#7jV5.h$8C.2R'ja^4W0?D?a%CN,_\k7gae&,-PI7JGagMRTR+Ml(Y4iU`
+,r(`01Ud@=\H[jY!"c,c?,-lG"a5thi5SRL"J0bV.f?T2#0P+5i\p;eVq?h&5kl#+
+o.S:Y'&/hGQ%X'Lm?uQKeT-MeQ,GKVP.EA4jE'OZY&E*<QO>d'NutMUmdN@>E2:LL~>
+endstream
+endobj
+221 0 obj
+<<
+/Length 279
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70lFin&-^Fc-nJ*!8+9c6Qk^Pg/J4(`&Lj]"J:s(0#\s6M5)PEZEXQZ<5?IuE
+`5Rr5s6OL`e]U:F1A;F4&m"S`q3OH6\?KN>imE>G,B%<L^E`q7pSbUWI(Y=!Z@8/3
+l#P^./#lmXWZtB93Y3#3Ln&4L><u8ZBqf4`0S1C+)8^!QR6>Ae4u[>g.jj"BGLr7r
+UM&uk9=25++5:H"LYY=1YF8.&^hZj\#n%Ln2N1Y18r(EhlYngV)!Hf1*,f%/6B;C,
+mqVj_lMtl#Ys\~>
+endstream
+endobj
+222 0 obj
+<<
+/Length 207
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:00abc_&-^De.0@uZ#gNTq2f:lY#uSMj"Kae:=pc`_S"k7n*+9?hr6F$KUs[3A
+5PPZ2GGSD]RW9qm/,OqElmhB\<];L=BU.D9CX6TCY%"`e':X;2PCed$an9[9Yb):'
+\c[Kf5XRQ'6lA$HV$KX`d&*q..?@#`Ig@K:n>=AD9I'<RMMlo\q!S_MV"VV4cPq<B
+!,oEoh#~>
+endstream
+endobj
+223 0 obj
+<<
+/Length 209
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$!Feu#"Z&f*'LT#i/lP[khZ1SPd5+bK2#n92\Qhn$>l*CdVP[Vp*^D/,
+IA['X"[anj:LAg=U=*!n:D\`b%JKgQJ:W7oo`mh^)_gO^,FCO-:_09;)!$74*<QC*
+OL!e/^^R"Il5tO)L&W53JWq@3@YR_Gs*l^&.=Mt'*ZJZTPUH_?L)L7#7XPo:X!^sk
+(LR4H'J%N~>
+endstream
+endobj
+224 0 obj
+<<
+/Length 161
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[;D:p$!Fd8]"`jd"'LT#i/gCqb!5pbB1K;^Y!#!Da>Y^kqqV_cN-=$Bg5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVn6s8OhOs2.\5K>AUb4tt&&,D[I=(8qG9OoT1"DdYgr
+Ii.PPd2k$8!\RPMY!=VT!9!!\Z2~>
+endstream
+endobj
+225 0 obj
+<<
+/Length 132
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[;D:p$!Fd9H"Z&f*'LT#i/gF:;hZ1SPd5+bK2#n92\Qhn$>l*Cd7]'Ge*^D/,
+IA['X"[anj:LAg=U=*!n:D\`b%JKf>(bkJ%+T=;$0EVDE4Z__Gp#HJ@!Xo(>X.;Z~>
+endstream
+endobj
+226 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmQ(j&-q\<#N6F?_0^`2_,)LF$ZZMfC+ZG?W$l?EF6g5m?GoA/7L/HECP\:L
+^#>"/T=aJ4#NS`@Ytr2deirLV$71%)%/N0\4B\^:VE)5/MF)F*E^D^UB&o_V:[!$_
+D(m%E(TKB\[E/iM8k?GleIfT7!?C&%^hP,%cZWl7VmM,h6lVDk9Q"7S)K&dtgqo4i
+\?kUj$*Q!cnmkDkUb-[pFG.ap-:7CgS+,bJU_i&-i[Dhb4pD#[#nmX~>
+endstream
+endobj
+227 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$!Feu#"VXgg'LT#i/lP[khZ1SPd5+bK2#n92\Qhn$>l*CdVP[Vp*^D/,
+IA['X"[anj:LAg=U=*!n:D\`b%J;q&s8Q_>W'A'o&#'mXjFL8N!s:WHWo-+W%&=6q
++#*`p_iXBf"69E2%#GP<)+(V.s1n]2pe`GbCm=lpU)4^aC)@d)nPNPoSm6hOJ,oWT$a>r~>
+endstream
+endobj
+228 0 obj
+<<
+/Length 267
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(5758(%)sM4$<]JXEriDNY8*seJ&!uK3dC^JFAR'sO4L)u#]Ff5NJY*TLl2f7
+IZX#Nj@bZaLgh8jP`3_[FGTFFAh)%;R0gjM82U/9-_+<JG@[QfY!g-G[[C'ITj?.?
+E]^"$&9Hs<]ETJlg]@8'$:)4Wmm$kU"$(.RVsZ:+!T+W?G%.M"G!9\A$Elgrkc%52
+K`\sjT#grMY6j#;06DPech)(/2GoB9dfpFgZ=iW!PQ2o6"7SN6HX.2L(:X&U!%;[;f)~>
+endstream
+endobj
+229 0 obj
+<<
+/Length 276
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_$3srhi&-h'T/HXDf&Y'5B&ks'+=RZ?g&@D!.C2'ATD3!aU4G'D`m.dcW#X0^i
+Z6/H"ZL^jq%8!?E[Bq0(>I%KL.BbbXYa\06P@cre7BH(qpBlpnP%Pbq:uf&EktB0=
+0p_3=\)_!@>.RY.9&tg%TM&5f#uLiD*=O&R<qJ^Jc_MV9$gg)[i&jcpoAo<ffk8Ik
+1C*MuhS3]141hm>RWjf@&b7*4d8Pj($)'LO:`=k8=FfppWu.-,NqS4mJ"Z:,^;Ij?
+VgKKb:rEM!~>
+endstream
+endobj
+230 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V;_V$%#%A5j"VXgg'LT#i/n7NshZ1SPeh^:P2#n92\Qhn$>l*Cd`g0m+*^D/,
+IA['X"[anj:LAg=U=*!n:D\`b%J:21)&VWUj;AeL)#+sc$5hEH6if(G6c&rF57EP_
+)#l<MK*ZW[_%.kV0`PXEs1o0jrlG8!s8S2fH[6>6$p]`U&R;K1>_-.1!<?sKJGT~>
+endstream
+endobj
+231 0 obj
+<<
+/Length 279
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta\4&3[Y&-h't>ZdH78+9a`*6T94Q)-Sg>XX1$!rsVN#UHu92qt+o&R;28j_%&C
+P3+:WZ2\VGZB?=hSb*F*mc:M1:[Zh8[.:n`gWk,blN_>tDI92HF8KW&DDt?ql*q`E
+o)87QcJqZ]b,c`^eP&@l4/pN$EIaa=3WVhPS-#'2*0m\*df:NV@%uA[<[8TR)MtDG
+4^Z!WE:P-D;(iDCC#nB8`n'0:A\$+!:gWWI#"qL"r)2:@5ZKH'6^Cac<N)ZmS"ku7
+IcP/@*rsW;NJ7~>
+endstream
+endobj
+232 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+0b/e3%"R:`$m]+@K"Z[u*Y3385tu`ZM,#*W)'(Op_pLFN7pokPYnfme`8K_I
+%;hHH8O=$.[*iJCPSq&HI%X&B(f?Sq][jA%Y'2EJWXG4/eNm67MURkJ.XRuCo3J*H
+&V$+jZa^m!:ZlFTbs4DlJfEnRTRn'$P<U3N^E];RE&lM`IEkR><SRfG=<mVQaG1n.
+JoP`!N8FX9Sk.8B~>
+endstream
+endobj
+233 0 obj
+<<
+/Length 208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yj=+V)@S'Elcs&<Lh7\GclOZD?6*g8$u#"UQRe!([4q1jcSNKd0R"B_qN16k(1n
+0:A5U``(0-CtUC"F*t98-0MYb3p1<gFji<VW$ob-fJt]+S]DMW-!N.dQLD<'RE?7;
+nBsW'hr$F&][Y<7QhZos*F9a9LjVc?i$fgd#=p-4j%-/"\P`N,Bom_(0T8/gF\-q+
+%fkSC^=E~>
+endstream
+endobj
+234 0 obj
+<<
+/Length 346
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P5>&jZ'F+%C!umV>g?gX3cm6f?fjZ,/.[WQLaoeT=Kqb[_=E(GYn07B,.8tnI
+IP\SbZ638nbjY(0hOeq&;R><'f4MQM:RQN/q201W_SnrUc;S&105=^kjMBn-Q/"'i
+P3q)%a])0pReO:PB2r7UOe<;kNTgCWO90P5m,4^k4V`<4!7gRI+PLP&.ZH@)&5O"6
+$.2[/'qd4Y&9WM`@]C2cG+ntDJsL/BC^Wih@olVWcr0ddfqWlhN2trb<.*&Ig/3K=
+MH]J^k!q`"[aBD#F:]tH]IMJsMarVjl^3V*6Z,Au;mkD<i'_Hk?6'cNW;$2_iid5.
+F^;"oofE.^mNKg~>
+endstream
+endobj
+235 0 obj
+<<
+/Length 337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`?:J/PZ'F+'NFA[:P*b!n/[!u`ogfPC.lpB'a#8gaXE#@1Y\EL=MF-1^"0"WN[
+IP3.u5nK4W+<gRO'j$oE`YVdp`Kp+c?W)3J,0+T<gRPUn<"H8%he6(gr6.T)nNG/G
+hEB_78oaO>a2>qJ<OZe'OjO=30q"$BQ\]Y`OeVq/#_0\S0X9L=1'%c%a0&qU4XblD
+!=YW%l5kmLP]FbFjF2FeY43l0oVjZElNfkS$R<^G@FlHREV-.+$Z[&B7M\[u,nc`q
+Se68mIpkfFXfF!YXd,_3[5&Y6A^Jcu>1V_,QG21_Hat#A/Mm-h^[>V0LZkn8-i+\\
+qWq&\~>
+endstream
+endobj
+236 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+21 0 obj
+<<
+/Name /T7
+/Type /Font
+/Subtype /Type3
+/Resources 236 0 R
+/FontBBox [-1 -22 49 63]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 34
+/LastChar 126
+/Encoding 237 0 R
+/CharProcs 238 0 R
+/Widths [48 48 0 0 48 48 48 48 48 48 48 48 48 0 48 48
+48 48 48 48 48 48 48 48 48 48 0 48 48 0 0 48
+48 48 48 48 48 48 48 0 48 0 48 48 48 48 48 0
+48 0 48 0 48 48 0 48 48 48 0 48 0 48 0 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 ]
+>>
+endobj
+237 0 obj
+<<
+/Type /Encoding
+/Differences [34/" /#2323 38/& /' /#2328 /#2329 /* /+ /, /- /. 48/0 /1
+/2 /3 /4 /5 /6 /7 /8 /9 /: /; 61/= /#233E 65/A
+/B /C /D /E /F /G /H 74/J 76/L /M /N /O /P 82/R 84/T 86/V /W 89/Y /Z /#235B 93/#235D 95/_ 97/a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q
+/r /s /t /u /v /w /x /y /z /#237B /| /#237D /~ ]
+>>
+endobj
+238 0 obj
+<<
+/" 239 0 R
+/#2323 240 0 R
+/& 241 0 R
+/' 242 0 R
+/#2328 243 0 R
+/#2329 244 0 R
+/* 245 0 R
+/+ 246 0 R
+/, 247 0 R
+/- 248 0 R
+/. 249 0 R
+/0 250 0 R
+/1 251 0 R
+/2 252 0 R
+/3 253 0 R
+/4 254 0 R
+/5 255 0 R
+/6 256 0 R
+/7 257 0 R
+/8 258 0 R
+/9 259 0 R
+/: 260 0 R
+/; 261 0 R
+/= 262 0 R
+/#233E 263 0 R
+/A 264 0 R
+/B 265 0 R
+/C 266 0 R
+/D 267 0 R
+/E 268 0 R
+/F 269 0 R
+/G 270 0 R
+/H 271 0 R
+/J 272 0 R
+/L 273 0 R
+/M 274 0 R
+/N 275 0 R
+/O 276 0 R
+/P 277 0 R
+/R 278 0 R
+/T 279 0 R
+/V 280 0 R
+/W 281 0 R
+/Y 282 0 R
+/Z 283 0 R
+/#235B 284 0 R
+/#235D 285 0 R
+/_ 286 0 R
+/a 287 0 R
+/b 288 0 R
+/c 289 0 R
+/d 290 0 R
+/e 291 0 R
+/f 292 0 R
+/g 293 0 R
+/h 294 0 R
+/i 295 0 R
+/j 296 0 R
+/k 297 0 R
+/l 298 0 R
+/m 299 0 R
+/n 300 0 R
+/o 301 0 R
+/p 302 0 R
+/q 303 0 R
+/r 304 0 R
+/s 305 0 R
+/t 306 0 R
+/u 307 0 R
+/v 308 0 R
+/w 309 0 R
+/x 310 0 R
+/y 311 0 R
+/z 312 0 R
+/#237B 313 0 R
+/| 314 0 R
+/#237D 315 0 R
+/~ 316 0 R
+>>
+endobj
+239 0 obj
+<<
+/Length 159
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fQ07<%p4/0Jup&1#shF1,9#j)CQG*!2]=<OqrA0$H]h`:7b_ei<i&O
+>l#L,0eRmP!+uI&/q$N&Kp&1Y<%^r_L%kUss)7o:i'69%"8*e\n@o!_@=1[ej8T3h
+o+1kNp`F#_Q`DK8+;\Dc:Nol*~>
+endstream
+endobj
+240 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"#%A5Z"]I42'LT#i/e^SphZ1SPeh^:P2#n92\Qhn$>l*Cd-AGe%*^D/,
+IA['X"X(k7=.uFg1mQ857H+7Wq]GP3U#ZIS&+ZNX&*+fT8G`Yc-tED^&3reu_,-1d
+6GsB7$-*#F)sSC-i?Stt:'.PJOUs>=gC#2)1&kb_O$`hSrdu?Hs0*/,ro=%!%jSVi
+4h1X)!!<5)?IKh~>
+endstream
+endobj
+241 0 obj
+<<
+/Length 335
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P5t]'\&-^Df#mM<9gq_DC1t,,&B@egeR"[5s4Fk!W<#",ak@T.,5!kPI6C5G"
+h4)B9Ue(HaC3R>Q%A-jB>M`]WP;R9U[J78om>a+A(,bUV@eQ@,*k8VT\OFUsqnj0/
+V7YcKpWmL$?*fKti/+9KEn/K62G51S?7j'(0/AeiXo;g4'\*_IIuf`g<+bDeXqlpA
+Wemal+h(d:WmaGO=%Uak6$+?f=<mK/Ol9(E*SFkPn64/05sMNVStAbd2AHrpbUf(+
+jB)'b]c1?E(dp&ET\!%eT*X3K0?SnM.WCkJ/)2RO%0pp`+/Zn,;m(=%2k@K<56Cns1ZM@~>
+endstream
+endobj
+242 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fH(`="lO30Jud"1#shF1,K/l)CQG*!i>Mt'o^B///==h\XYdmoYVCP
+9tBmZJ9"ok:'&WIL0XSH^'Z/TV5[^k/dai05O^mF#=<#FAGj7<KCOF9*&@M+rm1M'
+q&fJUp)j2tFn-"4%/(,&%0)gs+90[KlH'd^"W.6;-SM\~>
+endstream
+endobj
+243 0 obj
+<<
+/Length 247
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4V!'/'SIVD-ElA6]F-,=U1-RN:EkLL<ZXLX/MpYKd5[$?^s[fgc6A+2-Bm9H
+c0Up<P>iba,OMBiSEb?t#:!l<'2BdC(g7#/PK3YJZWtA<`ef@!H4nL]F6/[jom4.h
+-!r(i!(t$mj.LSco'l9k%o?gc$TiOZGc7S_?G8:hJ^loi@]CoZQn@inqk&>0PXW']
+b.?],+uZ`nm:7=GGt?J_1WsKLc]XL,2>AD!k-C9H!$=q4ir~>
+endstream
+endobj
+244 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4UT%k'SI,N!jD,"^'eV'dHq!4_(>el4Fj]D:p`tYYEbl-KTm7gEKUL1'L$^!
+c.eZ>b\3eAVaf-'kGacP>U7ENN-#Z4RDm[#*7%Mb#nNJ8&oK*h=R;?rbAQur]q<6G
+oE"`;7k3"KRL.\&?3.VLhG1""1aL*t8*f5e/f<N<_]PD_eGo(1KFZ:bT$H*p0p0"?
+B*U>'+0XS`(4/qiB/]M\EGrc;akFmD4p(ct)5P^~>
+endstream
+endobj
+245 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V^h3srhi&02q(0F/_.k60Hhq1B67$DnBAnc3E=TkGf!hCP5Ln-D%iP&[hmdl`BZ
+k'`t_!_Ol985kc$7H5E+fQ%"H3@2D:eBdB,_m2UOU+f'EZO3`'YU5@0g=,Z`\mi&j
+B$&9qdXi&En28)4+!\>uhP-:>&rhR`*+\)T:p^4!G5sEW!.oOt)q[Elqu[una#V]K
+3J[4;PVI)IFrd`&HI00I=HD2DO8'ds;E&p&~>
+endstream
+endobj
+246 0 obj
+<<
+/Length 142
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<\RT/0i9X0:e3>%.c`?>"H"'F!%DD@6No8/982G3/gjFIrG\DHQbE]l
+F:)tf!)fE&$7/-;WEc#I$NL,Jr!ri?Z@PJU!s9*"8J&^7O%^b@d`r<C536hXj9jrL
+$ikH9dc1~>
+endstream
+endobj
+247 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fMaY1fc:g;D9q*8290Tj8t2U!25N(:eo=J,RYl]F1If'\b*dj@U/aN
+5Y3SVVZ:?56S<d_?\OZ;dSqhp(PP*E+8?q^5@?[j#_WTk(`i\9#DPGOru6KmnNZ%u
+k!.'SfFRI1n2&-Ee2R:ir1D0_P:M_&0ECd&.I@~>
+endstream
+endobj
+248 0 obj
+<<
+/Length 128
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TaV3t=M@!/0=u,h'9?S7(6[ZlY&U,ZG8(;F0Leh+"0,YF+46e1>8r]qmMi%1]n0
+:<gR@)HnL=/j&>(2:D`-Sr%c0BV=A#lb#0pQB)S$s%!gVcQCM&9R$dB_9N[+~>
+endstream
+endobj
+249 0 obj
+<<
+/Length 125
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"";/X=g.3C+OK4HN8/it-\V:lGL'kKr5U&4TbK5r@59))oV=+F3SH>;r
+%(Z!nI2,A38lN8_>nfL#5@E@kh]U7\%tPks!W*E-\Qh;.!kA:5!3k5r&c~>
+endstream
+endobj
+250 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0ogin&;B9X`Lfia&XWqS&hlpHJo7k.-G.eL@!>6ONHQXf1lfEb-n0tu@43t@
+2IA2&be3D@)d,c_o2sF/<bqMhq8c.)_kjFmOtL5".=Me4PT9WmP&^,n.uoLjXi)3E
+HT@]Ns'4spDub4,JW<'i+V3':!(7;U\e52PWeLLreU',u2a\O-+hFmXbh='8KVlWE
+-NH)4.tSRr^YCmn^#E?Olc\5N\RtAm<#0Ms4Mhe+`jAFd<$uD/[j%o:YoN`kq4$gT
+!%5.i-3~>
+endstream
+endobj
+251 0 obj
+<<
+/Length 181
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY_M"C`#H"]KJr'LT#i/n76k+3_.B1K;^Y!#!Da>Y^kqqV_e$L0XQr5Ue=6
+VZ:?5+NMr4TqnVDQ-7WFiVt"ss8RSi6gt=/IK7=lJ@GW9)<Cht!TF2HbQ,N^5[5H3
+^[VDh^&c4Y(`:mE(`8VX(`4)U(rQW8EOgC9"`aVJ!7<Bn)#~>
+endstream
+endobj
+252 0 obj
+<<
+/Length 285
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGL0i#\A&4AIOYdBCN&75F#n:)-59-96dJHQ\m!(mS0eDK'*7nH4?152!%LPAW%
+prTS-RGH\+KJrJrp?/+k_GdA9\f7_g=nZK63,K+c07"JCGmM#JRi?-WF1AgjSMoMF
+G^oU8f't4t3<>3f![8[S`*j7W0T-2`2p3r-X2H!?@QG^b$(-P%$aBD`i6N:`#+rgM
+JM!00GVFZH_)ro^&]2Q?2MTb6YZ<T"bF-q<Y"V3?>?UcerNB>:.>kI)ibW:JfrfGf
+(PuP;lh.4NqE4i=8ARj~>
+endstream
+endobj
+253 0 obj
+<<
+/Length 306
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e]hZI!&-q]_1.8^mO5P?c8>DuTSLbM;aFFC,%mV!MW61Y"ApG)/X<'/c3WA1K
+`/pT8ht]Ikm:7H4>W's;ZFuB1_]R\%EO_.u::f`q1%>%bLS!fJC%kjs+N3s3kuJ_*
+qaWZ=52Wlb'4"./-h=9*Q**LYNehc]6Rl+DalsY:fB>NC3&"]1!R(X2SP73$?_T7Y
+0H)bjNU/0W5c%?VrT/R+TW_YE"`e28k`S6+Xr128^$old)>'OY;\jP9XMBW`.h!'H
+jE,DS$[T1VOS<$sI69o3:P-"_7cF69TD<+"^CnLd~>
+endstream
+endobj
+254 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`YmS?%&-h'I%Y\-`#e_&$2Dh.4TdlEqd)cO>NXgrlNGmB<kp(<::`=E>E'cJo
+o"iY%g^pm0%!20-_UTQC&g!^Ab8J9H.<1J1Y'29OU_cuCdY"SC/PfSm5p,XiHrltb
+B^H@72n^=qDu4&)23T+[Y[^36&_k?BQ]Q(#2Do8$.G-@#LPY>-[S+]M@%3TBQ5&2+
+B!S"DHu&]C^RB\eA%FI_>1dUM_fl*G8HE)~>
+endstream
+endobj
+255 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.gZ#7ED$jL*0)3DMl&`OV"+b_c/:.der6_uQC+ornj(#:A$qI]IMft(M!$rPg[
+&>GF,=h__<J(q;BR7JL]>\9$p4NT5=,>UrH;(e\iaO(+E"'7?mCRLKY/^`RZH@(dE
+ZhdZsmiQnZkMh>sBn:951p0^+qtVMA+eo<;!c]=iOLhC2U-u,'WB,Zg2JlHBq?%@h
+GCPQ:s,ZWaf+kmDSOoOe5U"9"6>_@"CX.hB4<8cH+3s)e5s<Ud#GP2J'!Cr5.PGOC
+na?H<._u&~>
+endstream
+endobj
+256 0 obj
+<<
+/Length 318
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000i#Y@&-^Fc;HTC-8+9a`Z;Io:\$EAk6jb3<2ulcQJ=n2P>)qSe=JAA!H2%k9
+U7h!+AutOs$jYJ-+D75R^$IE5WT.(JO!sF,IurX%6Ou;nn7gtW62Dh82e[2X]"=2e
+g[S>$h`dWW]Frb2<AfqS+e!KrnsV$aOje!M;[SF71bEl.$6$-NJCa!Nn]>91$=M_X
+IYf$?"]ij+RB4h17L]qY%S`4=9(_<nLKiG/^j*(AL]e9,_Z9X&r.k,dV&3_l:"o*(
+P5S2=>gk(01ckN!4t2^7UP>ap0_bp*?kL,UA5^,_q4>>+!19%W4o~>
+endstream
+endobj
+257 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;N0abcO'F%r<L;I/@"Q'A>%8F*u$<=nNJkd@P*?>ib>OZ)b8rq?(KCnt;$t<*'
+6,"M's%d`g+_mMqe.K\V4=E0VPk&CAEIrM:GfT/HO;j9CN)G`f?@g<ZF&X:,)R#L^
+&^1=F`&$Bb(@MXJ,AMU!^sljh<#LJ6_C"M9a#eSQMpJan!SN]Kbg`&U.NB`pqBjNG
+Fi*\:*#&qITD2"Vq11bDm.X[IYV`S<k5bIEiMH~>
+endstream
+endobj
+258 0 obj
+<<
+/Length 290
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGM0lDV/&4Hh$+AK14?nROK"IAE^a[maV=A#S5+AS?AQJG\qUN)M]![S$(T4+tb
+'Me7XrA4'Ehf::V.HN"FZB40?%QPWAf]_?^Q>7qAF7iMHIX#(<p*mt8Z^k9iD;S\G
+kH*O`q/lGpqGe(4J0tT/'E^`87NuROQ)^`IWDCl$n).JQ@7X)G#%QEiiNZ'oV_Se[
+'YWi*5WZhsX-'R7"?h6%)SDhUL79nc:q1OEgRYn(]fT<)6PO8.s2@GK#+E\:/LtL7
+XgBDLPA9q6I]N9sIg5uG9X3@~>
+endstream
+endobj
+259 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000i#YP$jBI3Obbj=gjnnu+<)UWG,n.A8>JM&C(C</'Hh(Wgk;`P;<A-_:(cUJ
+#p:.T=4i]7m=$E%l/f"3^6@r<4LXCkFF,TWA@n')][`VEn8&T0Bo^X/9lm']di@d.
+V)?MB.rVW[:M.6P/-I)X!s7!Q;5GRJbX@+X$i*b1)PTZ>_'-BD+PFj]rrC8#'j.H"
+jZiMN.SM?6F!7k"bo@`:QURu+M6ePe&q`h"en?G4+\sVJqb[BdMh75)r["c#Eg'4T
+MuGeZ(mM!b4q)a[(c!>i=<Wi6SqsK)X,kVm?6>kD&Tj,F*mMCo)?B`&[.s~>
+endstream
+endobj
+260 0 obj
+<<
+/Length 133
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"";/X=A>tZ"aAp;mBE[CK\V:lGL'kKr5U&4TbK5r@5?u%OLeHV-.*&1Q
+']?'#aJJ@iX&)\nR`aaVU@@.A!W*)s#'gE%#R%CCfRN[W+5kSdjm'r&a9<C\_YQKl~>
+endstream
+endobj
+261 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fMaY1fc:g:b]=W8290Tj>&Om$6(C\)?Jsl$ph0a1-(]Eacf@^>f"d?
+9A]h"aeeG?i2g>-V=3ZL:f:8]b2ql^nAkM1rr_s"lj&n$&B+R`s2Y+'?3&O[e9:nm
+mf<uK@/e(ATD9T#5P@>.J,"N_5EJ)PhdFc,hseDNs7-+oY+AmL>^uhTpI/!T~>
+endstream
+endobj
+262 0 obj
+<<
+/Length 148
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<\Q@30JQEY[STLLj=94G0a%h%-l<gO)!`%h(n0\l.O=1t3I,Z0LF\`/
+Ep7oNV7?/g!h:!UPc(]O8Ps1OQ`#a.!s9,4LQEX1TcTVTL`ZU0N;n_>&G>hCKTKHA
+Sm6hOJ,oYO5=r<~>
+endstream
+endobj
+263 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T`q0b2&S&-NYD7(S+#YV1fBilFqb$6\:/#q?u]-n.DX!u9_9;t:&`$3^,VEcA:h
+G.d!B1I6`s#%if\UXjO_gj1W+Yp`M04Ior*TZWDN,.FA6Srfu'1MB[(L%FQ7-TB*+
+ld)+J&h-sQ?>^'Bm%n:aAFa@'M1c<:jP#f++AEisMh<#^BfOoqiPqHcGp`p?neCV*
+ZM<upk9mrM#!WSZbP#5&^72L*Kqf+U"p!ZRZq:~>
+endstream
+endobj
+264 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`?_$YcZ&-h&-&'A.)!Ps&4;K8I,$<GLpJi`Q)eZhJ=B77-.`CKF]6(DNp.W&nq
+pLAsrQ<cMg#SZ&miadq%(sX76Xs74!itt8uZTgaY+P`ZL+^B!p_L+.00%:fCQeN,%
+!f9Ot9,);+OVr")TQSL;Y,CrJf"NpsrE,o)d<f=#Z$\b3=$\-^^u?e,$dlFnZbA=t
+)7=9GX[BM<L@qM@8h"lW7Uob1==Vt?@fRG/kCr~>
+endstream
+endobj
+265 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"]^C%h3&B:na.,<6@n6SB7e0o3$<A9&uP7O=H%Z8QVU\Q<d"@n6oR%0hC%NY*b
++5d%m3&RI_9)mD.-;urt]V(Eo(I=?38]/F*E5kL[^*b3]?[E1PC:bTAoS.88q[)qY
+$p`qp!$k7:R<.N+H.Ue/F\NeL@TjAr7W_3dgSES8UR;R00`u'6]B(<(;gn]8EOkWX
+-]*&85<e@]R_%5W^WDep#el&ObG<?5\lBbUi>f!WmdN@>0W!!m~>
+endstream
+endobj
+266 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.h0l"Tk&-^E$<!]AK&Mt:pA0IAnQ,#s6.KW3'"#q`83$bo_pgQ.qa<&0o$DF)[
+<A:pXo84R@5C_sPbbUQ:;X-m:&+WTgNiT!?c=FYNqS(IIZJ"fKj^KglP)C+sENsh:
+P`gsu<PH4s5.Q(S^isE"/j#bNaWA:G*_5B!hJg$'d<1!E_M.gh4nYdpaY6DA*$^/,
+3CZ&;_FO+9_14?*+2e]f%0qBBS7n,uZ.3s<0o>,R6Y[?6/!F,<bR3K5[B\/Nf%1$f
+"RIBLd"%`mIcoSh!1ii,K`~>
+endstream
+endobj
+267 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFpYmS?%&-h&C*=B:N#e_&$1c1(oTdlEqd)cMh7gDKGp<i^bI>!Uj`L,s?m@]q9
+5.DRXGJBPE6J<MkBKDo``XA6bf*RdiU1p-B%VO!;W]caae_7K/jkBrQ<-CX<lhuK[
+8JOMW>R:s&#67%;'RU"No3L6k,?KoX3b"T(8'&+>qs8DYYUk)N0k9Mk2Xu9uj6uH[
+n'tg;pOrLhZA!*?gGNES[80'9OCTU_p62'nM(=KGHjp'[>M@F~>
+endstream
+endobj
+268 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)gA"]I42'LT#i/e__;hZ1SPdPFkL2#n92\Qhn$>l*Cd-H9<e*^D/,
+IA['X"[anj:LAg=U=*!n:D\]h"sE[O+rKT"8[*%0+85a7&!0=Gp^\SK@jdb^,U6?Q
+JUoM39/"M">kUM++8-iJK06+Y3&K\6E0+I1HS/AqY!=VT!!RMj)#~>
+endstream
+endobj
+269 0 obj
+<<
+/Length 188
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)fV"]I42'LT#i/e\fR!5pbC1K;^Y!#!Da>Y^kqqV_c.7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PMr"5Z$><,4-808;IORf)?c_s8NU#,X9e2aT);1O9`U4
+"'-%J/O:#9?C8k0D'sru^q^F*)]1g["sag*!g2Sbp#HJ@!Xo(>@-hh~>
+endstream
+endobj
+270 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSX]aDV1&-q^*$@tS2,Btl7241,%"[Bd4JkeL[3]\ZM[u]*1nIZ`]9$^/Yf%CU`
+OLlZ[Il!u/9kgEF(lDsJep'QWV)Y/n:=HJ6SoD:#1<&HJ7Urfj(.QLGMWBofk]))Y
+0O5>JE6)9NU6sgl&.@]X3IhCd$5QC^'peq;MEbBqM2L226g)f[?f&_)GV^rkF"c-G
+Tp>!Jp&tC'+BAJF+:C#XX5pG<rmh!#PC-Pthm>/LhkJrJ(*!5'4oq:1:SpmdJ=]E;
+YABA[Yhf[F.3@t?!&KZ&+9~>
+endstream
+endobj
+271 0 obj
+<<
+/Length 164
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""C`$#"]I42'LT#i/e_/+hZ1SPe2((N2#n92\Qhn$>l*Cd-Dk&E*^D/,
+IA['X"[anj:LAg=U=*!n:D\]e%.t\Zj;Ss&+#*1?0ZY>D@#'gT&W#cqpAb.1s3lg8
+?sk*JdaL?M,V``Hjm'r&a9<C\CbNiT~>
+endstream
+endobj
+272 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^";p[C$0JQT^2,d%#j=94G2?sR-.%$GRR->Iija]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D_2q=IdoW6=W&0d_dm`6q56_>ks*kk&f`1u%'4<Fpir=MJs$Mo.$mHTU
+"9T;,Nu:Ld!>>&iR/],75@FM@!9?]o+ohQC"+rbXp[pe4K+'a?oK8J@-W_E,?iUhjf1Q~>
+endstream
+endobj
+273 0 obj
+<<
+/Length 167
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)fV"]I42'LT#i/e\fR!5pbC1K;^Y!#!Da>Y^kqqV_c.7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PMr"m/R+cDdZrWOphbXE"X>rOo5Mo%O:O34c"Jn:F^X?
+!=8$2^a'!p#n[3]eoSBJEWpIa"p"!nr!*~>
+endstream
+endobj
+274 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFp0abcO'ZT[A6f9P9F:e$rTP^>:[n9Z)K:nD5:e(aZB<,>ihP<Y\bTK*5<a$o3
+%dsX`Du0baoMO9LL):D?X5EtDBRepQC7qg">;gha'CaQiK](,B"CAa2TE6cLi9>LC
+5r(mRM3pt@oO`\4kf%dTl4f\L@F@-W[)n9/QY4Q<Pj+f4D=,J9V7;ib`4_>C8gWYc
+c.neeS*"Hg2iB-p3U)T>=%O0=QtsPH^TI&AAdPQs1B@D1gaW~>
+endstream
+endobj
+275 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um(4UT%k&-_!SJ<<-\)sCNlo4&Ib"9*g""Kae:>$<?.R]%$,Diu>I>(iuh=_&=I
+bQmUMDPAl]'T.g'1`Xn,^_90>OaS+bIR$&'YWLi$6#TED!554rd$q1N'VLeok]4BY
+0UWT\GReH=i!a&pSj?GG5q3cWWE9O!9:Ha"ptp8(VCQd_D69kG%%if/_cJ-?bY<$0
+[rS5A-p--Ll"E`=VNf\\e7?"4O]6eLjoBE#;`*rXrO<g`$#]5o!5,SQDu~>
+endstream
+endobj
+276 0 obj
+<<
+/Length 220
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR;0b/e3%"R:T#Eg\ZiUm9KHiekY"?#]Y-9?DPEHKRkN(84bi<YAN``gPn_?jJ]
+Tj@LR/SIEfboEQQb&XL&?89Q5.-#ob\W`S'\mXXI*\#4YDInO1g98SkofKbB*bY+\
+iW+_j!)r:dJ30H=Ke`o\6nB/bk1O\i%l!`f5_pc2Y<P9j;9"t%&k[%Obo-YuW>_o7
+q?VM+4pO"f&,7"B]]ZJu~>
+endstream
+endobj
+277 0 obj
+<<
+/Length 232
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_#0b2&S$jBI/%$eKt#k\@o9aQUbWIRA@,a^Ok0J\/dDN<9mEI\<.3t"@`/.?fe
+jiIFXSP`*U4EaD^.3/k(d$e(g;Doae_`DftA*^AQP;QIE@gf>\]:`99%Ge2]'=oK8
+J:\X=1)2jX<""^la>r>:X,hfK1@_>!]]kWNf`,?jks+@,a_=E%.,.Z59bfKnd'Q*&
+#CV;"pno1q/AG/520Ep#E/1Ut!&$Y#>Q~>
+endstream
+endobj
+278 0 obj
+<<
+/Length 274
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV]aDV1&-q]g$@s/_,P5;-CS4_;JfeA*5pma>*?>ibmA'>Oq?W)kU$(M]kb;Gj
+5JmA_b@M>*P,5mhCeUUop(gGkj\d)HBM<U-1LYLGBo2)?Z5h>i7$pa$1U<C6/%V7S
+#;#%;"5K7oJ=%2S+r.I/JYZ,H1G'jrf<Me^n&G6$?T[he57Mhla4nrgo[Nm:=85j0
+E&s'4iV2$W%I7h8lYMQ,%r/Soh\pDdqIU0qf8V7.*#O4%I2P\3+d&"iJn6fuM\7uD
+*!#QncHc~>
+endstream
+endobj
+279 0 obj
+<<
+/Length 162
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)gA"]I42'LT#i/e__;hZ1SPdPFkL2#n92\Qhn$>l*Cd-H9<e*^D/,
+IA['X"[anj:LAg=U=*!n:D\]e$p\4X!$^MBE0-%Y&(H(OJSYOR5OACPaoDBr(&<B2
+!Q8MVW5hAZA[u&/\H9;A!s%8Vr-&~>
+endstream
+endobj
+280 0 obj
+<<
+/Length 244
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V0.3srhi&-h&%#m@+Z8(bA&DOtUP&/Eted)lHhV1kXdEjRu%NfZ"baLI-p0J!W>
+1&ip`q&3a:ELpQE@'RXc!Y<@.du:P6@Cf!'B"6Wi<$9JRB-?mp!`:!tR"/!<Hp-@G
+:g:"aC7/Uk)TEYqoVh/)dk7B2Vk5.*54tV]`j($8m,9SA'k9stS60L#Y&rd2OYs[c
+\`^?[^3)?AT7p2GlOZH_fdJTC[['tk+RBf4i%k?>:%C7~>
+endstream
+endobj
+281 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%k&;K.W^kHLr#WijL\<'+j"b4<%JlWpX/M.[='B@&4:U3KpZj;[*K*e?Z
+H&D'EJI0@V7#cVS@>n'B3t4[c,9DUWNDL/.`bZ/>8KcYn(dYCa"MnV+71DPg`:N6!
+LLc.jVmiS0%MbT-8k!=!<7Mj1B:bsa?Rd7h^.RW3$h[3^<(LZ)XAs*nfpK*ap@_F,
+L#5e8,ZYKLK\n1r[9]3Pk'WCnO-Z3>NQ0LPj&GF?ECVZL0Mc'cT)er#V:@p~>
+endstream
+endobj
+282 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_!4UT&6$jPW("X/L>Tt,^Ia!tsKp]G[NFRfFskb..pmq=jVO3k.!BhYUF6"_?d
++F/_f>*)ORF>TcGSB_/l0Ug/NlPN@u)Z.D9MTZjM,=PQ'[M#:Cgoi+k0Ab+:rk)XO
+-4?>p!D$+-J$%1?^filR)CpU7d74Dd>r<9IB1>Qm0hp(a1fhhZji6(u3eqH)m'W/X
+6#5!mWLu#VS^r1hVuCQ?qGdRmB+@[P]m6NcM=H,"!<CBqr/L~>
+endstream
+endobj
+283 0 obj
+<<
+/Length 230
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFo0abc_&;B'`[Lf=X&Y'6m-7"JJ!`?cc"Kae:>$<=X)t7>,-96[SKfIAqf$]9J
+@2Q^fMi"6-?ud-EAXDqLo@!=HCGF%DOBT'tXs8^]j<]S8SN,-"WFR".;U22`T&WL*
+kF?HBeGP3hb?LQ$,dBInY)cPJ(29pqMqW51DaM*g.O^H.W.H4YJh!_uO5<,.PX#P>
+5REZ?$'[]i+*9`!KBIO@21Gf1gIo&t~>
+endstream
+endobj
+284 0 obj
+<<
+/Length 141
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"ZrGD[:bXV$0Jca#1#shF1,9#j)CUsl!i>MtJW`8B3L@q2P=n,F_8qj6
+hZG:IV=,,VX8o%YI2,A38lN8_>ne1o)#c<F0[ulVs,@!XNu6)k,n*&t_WC()(!$Oq
+!001a=9~>
+endstream
+endobj
+285 0 obj
+<<
+/Length 143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<m\6N0X=M/1KI%$j=94G1'J"'.$tr')!`%@ja]a>/shbLQ[ZGrOXZX2
+#>g:Nh^Q?D!D%M4.[1X4VK-sn-o<V3r+BDFW(4imZ24M#%u_@\JED>p)#WQ;p#HJ@
+!Xo(spXjH~>
+endstream
+endobj
+286 0 obj
+<<
+/Length 127
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-Q0JQJP2,Zt"j=94G2?sR-.$uNPl59Z"J4+E1Q]ie`I^k!73L@I8
+!g%@.E)n[RdeEB6-n-W?jmmLjBOG4Ui!0o\beT5]&/&6NSm6hOJ,oY`R1`^~>
+endstream
+endobj
+287 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70i#YP$jG"mU0-JgNt>Xu6J.En5T4>;M%iKWE<)Z-fG2o"UWlYVKTmo^5(@05
+#L+c8bOuIuIc8,h3Y,:53e-I3Ddf]@b*O0p48$PXL[BD'?T`/,I8J,@h:&KMf(P1(
+H2)]prm$p-81m.O^O_-0JIOU?CN9R-*]MP?2@GC)3[@I_3H7g<;*-c:/J.5/3>?U/
+cIJmT,&1#:aJ#T1,3jp55H:3&ebgQMU2>0]Np1V]3N?;]BU%pSq#H^(7ASc6p1uqq
+!4kRl&c~>
+endstream
+endobj
+288 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.gYmS?%&-1'-*J@Yf$-<]k)edd(:_h1ski;uIUP#:^j.@(aOaKL9%`N\E;!9AU
+n.P/Lga-1)PkJ(W/5u@LSMf8cXrPY%.\1:r&Z7.F#*U9s@Bu^D-KT]Q1aZh4*r"h$
+c!&Z&Ve%(g7YXIili49N1NH<S(*j2/W!u#I)fa&e'd"QpVc"qUXnYd1Sq=-'f:6B@
+Z%?hBZl(CirLf?Aa'b8XbTf0?/T.<1jHJOU02&_Pm=7FV;%bel&,7.FX17FB~>
+endstream
+endobj
+289 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4UT%k&;;L-#Y^F,A1jN0jp/L%J%ubM<ZXLX/JP<G8'=d'#V!4oT<eP+4(7oA
+2p?VeWeJZmO\$_H39Pm3>h1CMUmaq4/TdmM?$Y+DI[%/#I&edCQi!$^S@:S*gn,C#
+f)ebQG_uMl&^V,h6tG0^o-2p,+/:b^U2Xg3#%r:8!PO1.N5-5D&H)pPcg>DBVVVIQ
+9S4$.>c-K*pdi:c)7$Hm09clfUJO&Z0;QBfFl'KQi6MC2JsqD~>
+endstream
+endobj
+290 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`]afWZ$jZ87#>H"82u3R_K_&[unKX146mj'A*??u*\A=s1-p.Rk%><Fs:g%r:
+jjGKhJ#h]G:dh(?e;P_Q3e_fIV5+sTA4Fs+Pb)j,i$(Je5Y@`bOV[eOh3(+sP:bU/
+O#&+5@]mOWjpG?jGAJb:Q1a$8Nj4,4R);`'OI<MaZ>)(CPs#ljQZLQ\O1;T>3D7W(
+N5%\Lk==JoVu2o#o<eJ$acP7>R:PWQ4(q+d`$R9b-GPcF#%@dX3FX.I`2n<k33EqM
+j(eW`<9TP~>
+endstream
+endobj
+291 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGL0oj+)&4It@YV_?#i4/h,!g,f^#o8@3/+$@W!%9:>"YK8lEg.OeV$i4-3##>-
+NLiUhX?V4"[4J,>GpW,_Vi#tLeYoG;;X0<8B8Y`'2_C@$=Z'IPFi<D(HRfhtm?_)X
+DJ*iO"V1YGaT2J]+OCN>.T@c^U-!L;L>YRSh@C*K;iImR(iA.Rg+WO\,XWHgeEQiH
+<kmjiN:9<7:t(2"qdaeG18E)JLaElSCa's+Noi/DH1XLq"u#NR-9HPCY2paS%KKg8H_L~>
+endstream
+endobj
+292 0 obj
+<<
+/Length 213
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_!0abc_&-^De(4g1?KZjUA'/gK85ZD\15q<J=.4l5;]B!WcMT87"r6B1mQc<Ll
+nn49M(G!VGl7"JkQ?(+C`jXA:U0Zh8c]n$dCWGQ_[Uc_n'q>'(QCNrhbN&S<fPL`k
+[D5$Vn>6?P4WVL&=$H860h-dN)\_F@@F,5mk_Z8'Pa$XeZcTu[)(c`B(P8jA#!r_+
+hE!jkG6$;c_iF~>
+endstream
+endobj
+293 0 obj
+<<
+/Length 328
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V_T9hN>h&;@1,@\>W-K[^/^^C2`J^o1WVK!%4d\eJ*Xga1gYO4$OcAM8e&Y<'!$
+5o]YFl)K'u<IZ@'FE5g<dVktcjg!cGmQ8)4Z>HF"D6+",4S*IOl<a=IX)$4pg>-(+
+_pruVmr':D4C3md$744nT/:4(!=>Z/1(Tep-$h#hAoVP;HYYjOe/>%>U_2)U0__[I
+58?j*FNI'QA8Y3insKS.1kFg<l5ou?=Cukhb#9FI/btLC^$.d=Or8pNUU*KF7Mso6
+0W6d&jq7XSg9XO_*@qa+dg7'G5[W^6kdC7>3J5VC#A"QOm")?0^>nY_!#)m6)#~>
+endstream
+endobj
+294 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bVl:'6==U1PHN1Y!O``'-mY?)X&%gk^nWO>V7C"0)]a^1+mtcTG3a,;h23+
++d]p@Y<kfXBe#IIMo#MWs$4rH#U1.J8;P=f0_q=bnfN["r4l,>,S)TM"%`\$I\8P,
+%.%qrnH[DY%.&I/Uc_0MK0>U's,S<&,KKmP#8l)80X*Ji0HX\1AmbUbL(Qa=6m/d?
+Y+AmL>^uhTq`NbW~>
+endstream
+endobj
+295 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""(Dp2"]KJr'LT#i/n7g&hZ1SPdkatM2#n92\Qhn$>l*Cd`hm#;*^D/,
+IA['X"[anj:LAg=U=*!n:D\`bs5j:\s8Rip7f6X`+V58oFejNm$p\Y7(kAJ?^^2^h
+!JpONDbpuM(`4+V)h<T(".T@4_%L"USm6hOJ,oYDj5@W~>
+endstream
+endobj
+296 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^";:%0U<%p420Jup&1#shF19q%?)CUtW.%'39Jg>nXE\<]B-^T:lJrq@G
+^'@Jp9A_26=i$1mhpYZ#Uo6,8bL8o=s8RTBs8W,WLYr^0#Rh@KaV+[l)#4+c0X)e^
+ruh7>cOdl'^E*U=`r@.A)?)i#iWJl_ru:;B(`;NW(k=.A`r?8\R/_YDi;`h4_>ZZc
+X!^sk(LR6$$1%f~>
+endstream
+endobj
+297 0 obj
+<<
+/Length 276
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn^C%h3&-hXQ%$b&n!^c>ZZjjD%AALK<#=0^Z5TLjZ>r@\o8*M6X3f#NJM;[<*
++?pJkpZ:t>A7EI%#>tt@C\bbk&agO>[Vr"/"ZC]K=.HE>00#MX&uXdO6nG7d6;GSm
+NiT.haG34H[ncUGn3M0hk"\mUad;+elC.qFlOpcZ,kO9)RXcZ)_n;k'@@]Yb_U.b"
+RrChL`#J!??$+I"$$8HOBl_BYSZp\[)ZBCn__$Ueob##Q(l=uA&gC7QX@?R:mjcX5
+?L_e2:Z:"a~>
+endstream
+endobj
+298 0 obj
+<<
+/Length 146
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""_&,i"]I42'LT#i/n8rFhZ1SPeMC1O2#n92\Qhn$>l*Cd`o^P&*^D/,
+IA['X"[anj:LAg=U=*!n:D\]h#58)s)&S_qL^"F\s53;l)Aj;.pjnf`*K:%lE4L:8
+"`aVJ!26sK.f~>
+endstream
+endobj
+299 0 obj
+<<
+/Length 218
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR50abc_&-^E&;?WkR2oo5HmKO:X+9\Ej.0Qb8J6E:0$L&1Al4Hp3Z"2(Q@%dge
+JcGNC8LLT":52;\:,VJR3`Dp/h,%TEc<V^.4&T4Dg2a&^/Vf<b\Xme-W`nrcE][)T
+B+\M=,4-(-)Sl\:$3?e33VWah8rF1%.)n'IJJd9hNkkMiLX67_6oOrZ>-EQE"$CNh
+nWW\T/LoK$Er]ZiS>Z~>
+endstream
+endobj
+300 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:24UM6F&-^u.;?Wle#WijLCg]Oj@9#"8TToaY98aOeGE8&bGQ^YIEQh4`7rT))
+_OF+Oc%>8/RQ3;aT,i%gT/hbP*)@6G/%(u80ohCP`YR6N^LB^an+_?Y>fa*OjJt\#
+I\E)o"]PO,9E_VZ%+tXReflf?A<f>dRI+Qb7fRQ4bS+T=%a[IG7MSQo]!V!LT\fb!P`VC~>
+endstream
+endobj
+301 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4V!'/&;>m9CbcGi?nS+^Z@u7'rZkC/B]T9EdR']d*0$_4"A0$,cZ-@s[/#TI
+b^86WL!7KW`/;aW=ZK^#EF.j*a)c6!X#n;bb0,[KUZ;Sk>?u6WgonY:<pesfIpTWg
+$TnIR.0Wm15XR7k'O`8]H6c;Z&>L\$K/W*poLV;P@PDYYd56`j!W3HPNK!je<r;+D
+p)Ol75Ohof\cc:Ob'VZ0#8J_@RTFlZK6VY"r=!To54E=fN]`1D~>
+endstream
+endobj
+302 0 obj
+<<
+/Length 278
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF00l"Tk&4L5/&XZ$Xcs@i\A4/ttTYqBVJY_i;CmQaeP$0o8Nj;/OWC$CW:DSLc
+6[%ECb^=%%9_7U$rl8m;S&RCP5M#\-$n_?EChbJ`LU4F[Q@%o(Ht,mop>a-D>'BB6
+kPP"Lh5^br#E2fM*ePE-J2iZ2_O"[R*Cb$)7?V#2UnWVI%(ugS!0]-fJlikf>NWs$
+:/88LXFF\1eqo7*6h6Eojt3(HV`?\"!.VV2HNc0&!k2]0i;Ydj,i6Z^gV$Xb9WIB\
+dndXe!)oTZ_u~>
+endstream
+endobj
+303 0 obj
+<<
+/Length 281
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF04`8,%&;A/-$)B$>&Mb.F[UEa0-C.1H`C2&N2ulcQJ=n2PRZHGQ\9)0TA\A"6
+P9NGa:YL)h2t*kS8LR6"01)qi@RE.DHtF>`1mD+=Vl1>qq\-/3%X);k%R*kP@(giN
+LkG=uY*[n*dl0Q[Qi\SI(a,`E18>)L@j6QZZ(ek91rtn['F'9K5)Vp1#'o5'Kj#9R
+U1[t$No$D]m:QNN4<=<'8Uk$0PWnX]>=Hf(=n?D:&5C/N?,tYtB/op@,a!ObdiSLB
+Xig)]Du"_[O<jM9~>
+endstream
+endobj
+304 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_"YmS?5$jPWs*"#hrK]WI1Y2oimiLhZFK:nD=TT0M>cIYRu8%D-/FGjjki8SDm
++!`"k\2dcr24\5iq,Gb,>Z][_XCi8DX`D'N'?D0GeRUR!,1GnE>`f=s^>BuE$7cmS
+=!7l)6!ALU!fL@mp_KqX@%=l?PeAeA<LtC[V!F2a]g_DNbOUGf:Ngr>IK;S>)BXa[
+0Vrob4hV(#<3*5@~>
+endstream
+endobj
+305 0 obj
+<<
+/Length 267
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UT3Z"a>+'Lf3!+hYfjnGRm?)[E`S:]kSI8?0%JQnjAiodj5?>O.nTra8A,nTeJ.
+#\9;_&+4^J-I-b.1ED`!^[J%aX\9tWM8fdkNCu=lrDOK>'X'QW;QQjn=?J7EPbNWT
+rU0.uoh$fk0=q7'Foc!A,<K(!1Un"\#4%\nJm%[e'P@oIAk99O18n<?]QEB1I;0:r
+i'*Fp,9<1!#.aS!=5a\S#J!04D.6A+&?[_^fD'ZP?i_*H^ZEnC@td%rnfmf/!1-uD'*~>
+endstream
+endobj
+306 0 obj
+<<
+/Length 208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV0abc_&-^F3/HXDf&U#e"]:22Z(PiE9+_]s<e1u`PF`K="Os=e2,%R2q"e.>e
+Qp:).Z6De!XZVl/2NDYr+'>=8<_rPFb>#LTfEAPt.Oqe13MC:b>ETSYoQn7?(j<i-
+a3:e(L';r)_"<55?W(JO<@oO2B([6%.?8#a39l/81lpmp$(t%849J,KY>U^!g]ot%
+G5rZ'\c2~>
+endstream
+endobj
+307 0 obj
+<<
+/Length 188
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bVl9>sec/Es6&HKbQnW67sAo,\R6)oF-:k5U&4TbK5r@59-V\9A]h"`MN#;
+i2g>-V=3ZL:f:8]b2ql^E.IaK&2c.n&-EPsL`?Dis+:FP6R)P\aWEd2iVs-*fjN^Q
+_#D*"JUmjc+!A]#rrJMb^q^3iq8'l'^^a=Ys8P<MX!^sk(LR57$CrX~>
+endstream
+endobj
+308 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTr3srhi&-h&%$@sXh,OAZ#o+\Q8L^L!j[.433Bq]42c-:9n*$JmNOE$T!+>EE'
+5CYEX(4?U:iseI>Hj&qn39':o(p3sGq98d@8IF;`is<:2=5YBk4U0i@BDd4-:Il!u
+#c0teKbQi[@mAeGCKm8HQ[0HI]0r_?[&@GTWmm]=OtEWV7^I[uZ[tZ3Ah0-B8rKh5
+@aZthN]j^S\oWRfKUf*.d6*1o$<R!5!.N4jL]~>
+endstream
+endobj
+309 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH45mi3?&-h'ZL(@mY7sK*+dRP4`'!*2l6*315[;8^i>0Vu=UNcp./YZstO:ka@
+#QOhA"B4qio*#dIcg[Ud$phtfYG3.Q*;[nY"E=M"%YG>*'i3c,RlP6QOu6Q![j*.+
+1a4E'b(MOe't(?PBq"^gL^\]RM)'C_q0s\fO'\p4<bZCgeJe*2g"AX!hS6E;[]ga#
+=NIYUm'dll;]V-;/X;0KWjGA)Q3hBd4THhWMlm~>
+endstream
+endobj
+310 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$#^C%hC%)u3cPUrsI6Lt94QJS8W(An8X&9RIDeBpS0eZ3W>8*M7?ll_:uS;9O]
+>e][t-"]IuV,G<03i,c,=#>d+Z"qg.6DIY%]\k!SkWgK2BHn9^MqsPlagZB,4jKFu
+W.ZO?\:>G"$psa;/)KB<$YCia%><hAA?KNM@6IR"qSEG'i>XO\X(8G,#C\*0r[Ft\
+ro^oVAt))bR4bV5]AuS.Q+FHOLmLTPH'[1p=.*</p$t,Qa7,-bnLgtcguE#IhH?7c~>
+endstream
+endobj
+311 0 obj
+<<
+/Length 305
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt_+MX"&-h(?JdZYa,@k+G]A;%L"Ym52fY`<4HiWgf\Di+LVYXbIPWhEo4Y.U0
+8]f+Ap^T*Jbb'2MF'?rdU87XKW[iBIEJnu$X)hJ@ejV#^n&meq)_@S[Y-<0?4Y50F
+[o?haD!:2+pP-p5=jR@V!t%;G31X0.h(dr<c;Dl3n=K-BR(GrQ2=*0+Sa=%<gUBa+
+3c-mV`'JOfI3/=rB&7MCSL+(_GaaOT61[mQNg1_W[KgZ6&"6mmFT/=]>CtLsi3btW
+hn]h+CI)"oTS)g2".:6APfJjomi-Yk^B"=2M%V]~>
+endstream
+endobj
+312 0 obj
+<<
+/Length 213
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;N0a[t:&;B'o>6r]&"QoiT/4lP#YUZ#,d)lHhV1kYOF0sbmlk(d#`,VBN(+/*t
++^Zs<b^lP&'KJp5?dX^.?sFZ2W8_6im#G%Xnlnk?r6i=#fBX;UjR\6^kNd]iS3,n=
+fiSUW:+<4;Su(aWRXmo)(3aQej](nU=<=;j.@>]9R"FRpX9B7k!>@-f'/76T5L3t@
+>%H@6HN<fVG>%~>
+endstream
+endobj
+313 0 obj
+<<
+/Length 224
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn./a,FrrE*!s*km<s8W*!+s)8j"pb6o!9*qd5l?ZT
+6nm)]p]D^hY_*o",S#>F_&s74lp8R>3(k;B$W[M[nV7VBK+O^&!/Cq-KYV$H!"V;5
+8:n_n(qNtTSm6hOJ,oY).hZe~>
+endstream
+endobj
+314 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1/Q?*:bXY+0Jca#1#shF1'\.).$tqTAb6C^E^1g/QcmL790Z[tS4h`A
+.)i%O']?%mUca&?8r?5>\NF.3R[Y0D#L1LuY+AmL>^uhT4/rq)~>
+endstream
+endobj
+315 0 obj
+<<
+/Length 223
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn-oB$Fs8S^B&O\>&K*Zf8_>jOb",Qa0^^_W=J;?G6
+5iNkK#`rQq1Oodniu12D!=#29*e9%gE#)Oa/.5M!!7ORO7tO)1*%h]ed'-u0&GE>i
+"??W*\m2D0>_-.1!<=dW&@q~>
+endstream
+endobj
+316 0 obj
+<<
+/Length 173
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY_M:bXV$0Xaq72,d%#j=94G2?X@*-l<jO=QgVPQl,-l.O=1t3I,Z0LFX2\
+Ep7oNV7?/g!h:!U*)BpqP+pB(/l*:;s3:S)s'ti]r.gu;nHX[eis,c-`WlnRbRFU^
+r!X;KndI`"lktA;bs4_<JVq!C4h1X)!!<5n(F6s~>
+endstream
+endobj
+317 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+22 0 obj
+<<
+/Name /T8
+/Type /Font
+/Subtype /Type3
+/Resources 317 0 R
+/FontBBox [2 -25 135 84]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 46
+/LastChar 122
+/Encoding 318 0 R
+/CharProcs 319 0 R
+/Widths [37 0 0 67 67 67 67 67 0 0 0 0 0 0 0 0
+0 0 0 102 96 97 103 88 85 106 0 50 0 0 81 0
+0 101 92 0 100 75 0 0 0 139 0 0 0 0 0 0
+0 0 0 65 0 60 75 61 41 67 75 37 0 71 37 112
+75 67 75 0 55 53 52 75 71 97 71 71 60 ]
+>>
+endobj
+318 0 obj
+<<
+/Type /Encoding
+/Differences [46/. 49/1 /2 /3 /4 /5 65/A /B /C /D /E /F /G 73/I 76/L 79/O /P 82/R /S 87/W 97/a 99/c /d /e /f /g /h /i 107/k /l /m
+/n /o /p 114/r /s /t /u /v /w /x /y /z ]
+>>
+endobj
+319 0 obj
+<<
+/. 320 0 R
+/1 321 0 R
+/2 322 0 R
+/3 323 0 R
+/4 324 0 R
+/5 325 0 R
+/A 326 0 R
+/B 327 0 R
+/C 328 0 R
+/D 329 0 R
+/E 330 0 R
+/F 331 0 R
+/G 332 0 R
+/I 333 0 R
+/L 334 0 R
+/O 335 0 R
+/P 336 0 R
+/R 337 0 R
+/S 338 0 R
+/W 339 0 R
+/a 340 0 R
+/c 341 0 R
+/d 342 0 R
+/e 343 0 R
+/f 344 0 R
+/g 345 0 R
+/h 346 0 R
+/i 347 0 R
+/k 348 0 R
+/l 349 0 R
+/m 350 0 R
+/n 351 0 R
+/o 352 0 R
+/p 353 0 R
+/r 354 0 R
+/s 355 0 R
+/t 356 0 R
+/u 357 0 R
+/v 358 0 R
+/w 359 0 R
+/x 360 0 R
+/y 361 0 R
+/z 362 0 R
+>>
+endobj
+320 0 obj
+<<
+/Length 143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)1]S.XjpHk*$7U^7Kj9?T5m%\Mcp5oR5o2p7kAiS.Ep8>]7Ci%R^nanZ
+Z[s?e^8J/$8Ps1OQ`#bY&,uSNf`+0DrdTIgIfmT<#)7Ft";D*`!n@9N!nDA&H?'10
+!<rO<<$jd~>
+endstream
+endobj
+321 0 obj
+<<
+/Length 173
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X="mH)1]S/cjpL5d$7U^7Kj5rI5m%\Mcp5oR5o2p7kAiS.Ep8?0R$_sZHN<0;
+oUQ&R'b%YF4ae&;MFpgX4C&[#s8V!U*s@rs`#g]/"&(lYP7/T)",Qlk!$W:Wa9E3t
+%jK^,2h9G>P4Tk9J.]T4Ll:>7p#HJ@!Xo),Al7.~>
+endstream
+endobj
+322 0 obj
+<<
+/Length 380
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`A9hNAY&-1W;>njU/&X!N8gBY-t$9T'i6I:u&:mWdK>rP932ouZCbT_/!*uB>J
+(>=fp1Xf$<0tH024'oJ^d_-(Oh2DRWpH4tk#C"bJkP<@BB@B#SnR/pi=u+q(iS"a<
+S+#1ra4IA[D]E5fOIcM]M%u[1+oi2H"cjVt5`;J5eHU(^Yr/\Mjss,sUG+<VJS:Gt
+1gIkP>+d9;@(G2E/%#<gW]dU&elF2*5hRm\RqnVR;;1eVfb(_M6J=nCQWe*f<mSW4
+P+=IIe[2,d8^]:N>0CY4Y=0_NBOKE,XF[bWNII"k5c;U)'I^]BHnCRPaK7^_bp4d/
+/OgGg\XoX@J?KIDXu<+)=]q#c6mX7cBDE3^4.Ab31B9'h7(<~>
+endstream
+endobj
+323 0 obj
+<<
+/Length 385
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGN4\j!N%#,dFLm02U81jo@3jaU?dK`<b5_=gp!$_ROk4WIO8ro&g6W@PW/X2r/
+Pt-`3hUcIFJ+AT6W-hP>p<(-Nk/5\+?(QFjm@2:V@W]8qRr`MjB4'8f]Vgi?c]:$!
+11gLD^HTEi9Rl@?"*@'U5XB#cJ,sX:35eBYYS7uk$8)[*<1#Mu"")2.@_p/R!(Id'
+Q9[[N*P`]8JtS%49*1^3/VOUBM(;%\J_EK@irY[3=>cQ[B-EUmau4Bsq_O5b1`*Z-
+Q`]qFkKQ"7Ce\3<YlCA?8@eOLe;E;i5mugA0I[$L,I!aA'Ka5B)F2<&!mAF_fVoFQ
+PEj1VSSXD.;Ha4V#]2&s52$!@)"YAcGp-m-O#T(B]m2@t!rtO<:q$~>
+endstream
+endobj
+324 0 obj
+<<
+/Length 285
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y",]o'Zl'EqkjKlEMD6LG6J-5$9dMRY1(6I<j[:eM1-[rs&NQFod1@EL$Rkf>cD
+@9GZFb^<Y"cMW[ARcqPJ;.%?c\kD-5_hmiGHTQIJoe#^_p)p\Hif+Eq&hj0G`3\!l
+V@r&brBC2H-3)EZ]o">?qe/>;[FDRbBh<eYG$m[C91o_rVm']<711$LVFO#;,&!st
+kS_r6?V)oXTKUq((IB(g%%8uRBut^'[%IHlEA3%uJsMi6qDcQ?XQY?B["HMmq:@jD
+7`53)=6@&pjYd+s^!k:~>
+endstream
+endobj
+325 0 obj
+<<
+/Length 360
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFqYtfs;&-cO`'q7n'XbCch"VeKMd;"kD'.HVfap1a9$]W`qS#pVG,FfbX\ac:0
+NR?`8.JR:0bP]8J[.-,anZ\%u=_pmoI8*Me/?t"BX;odC_sQlS<ZP2LYustIKe9<*
+2s7HCWk49Ec`[l/?,X9djq"$bGiPc6SkGX^c\$a`@5u.D_+7%6YYlAI_]-^*`<ce?
+@V,S#NE-=;QJK#$HX?g0UiFja_IGqo6HB3++]&A&PY:u-=R_g`q)LYb@Im4GJcEtA
+.&0kL;c$VYOLkgKcuWW7)JS\qVXE>=0,K%;GXQG.ED5)`KTN&OD\5[@*:T?$1h:+7
++Xr!rl&b&EHBhB%QQ<3mEr\ss?+B~>
+endstream
+endobj
+326 0 obj
+<<
+/Length 410
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSZ5>Hnd*5M(WL*g2P"F:(PN6fR5o$g&3':h793]^qrVVJ7Ckn,s31gp@]g&euZ
+C]aDhOHaZV?!X[l*R*&=Z0P'V>*BKFe7N%?l/B9eB9g$@]TZhqb%K;TUqAXI89oTq
+@:mqNYclCA2q$Nffa^$?+o5a+Si/'A4X#.")W=t_.,VF!fh"hiFtF9jUNnWXW!sf6
+(<Mt8Oh$FBN+jtP>"*5e&?4n24jk$&(/*t,AK2mo4%2g&&17:Nk@e95Oht'%F))%#
+erIS72+6SM(CS<lVNA<2#hI9<Ep`+"aA"$B(2J\5L$Zm0=ZW<Bm=&FK(9Z,UHad2i
+mR?Tg]7AZJ4FubJfRG#tg^pRC%f"roS8[d1n\GQKQWJ%0FS;WtGK/=#@b@%,^F".F
+Gp5HT!+b*[e,~>
+endstream
+endobj
+327 0 obj
+<<
+/Length 346
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_&Z#51J&-,Ns$qRks$+V-kJI5E&</Dr"(a>eT5+q/mTiEndVsu3`![@faYt9tf
+.W1Z+K_9/ccb>TEc^8*P?`d0iiA$$>d&s"NDYBIW6XlPZ:WNp"&#_:?\+UKRq>M+-
+Ll3;QI%NTq=JNGi0?0A0(JHb]N0o1pUN6ON;FFH_P$#>A(Ue'M**ZlClm2bn+LrV`
+5H+!:&bm.Ec[Nh^3m#I,LPE-6:$ETAd"HB!pahhf=Ycm74g/6$:jN2$m0pX!E?L\!
+8dUeO=4pe92T?0#s4P\;Fp3BR>10m&EAf--WI2a&3G5a8Y9gQlk_e$#-M#+^I5f>L
+)`@l4_0H#2SeVV~>
+endstream
+endobj
+328 0 obj
+<<
+/Length 450
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQSYti1j&;FIj,*J9V6MpnHVB@1U//=8fJ-6Mr:`('80\a7.+!m!+0gh2cmUEeb
+g+j<jesG%gmsP+Q>H,$1e7GWEXfASTCFMJY]tp=V<Ssb?Wl-n;p@!%RaPoY=)d,;]
+PUpuR\#PZ]o;KAe^Y`RCVZ<>T/90$i<X9-t@4-`LTHeQ7$YThM4iSZ=6KGi,(=CT[
+\&+]G1ro%m67WJJd\sn\hM]g\a^I"1=94=q'Z^Sb7!aD029m&s6o;%o_VH,"/_$:7
+T7CG8&7L;oLL>d!U75URVLV7.5rU,K6U+$:2hlo(U%l*A3oAVANj1[1j;b%kSjn4>
+(2kOeY-9eJ@]'LR":h.`i+Ie\7R2,;:GcSn/_=VHNS(?Ug=,4q3u4[t#ZeA\'nmse
+p)QqS>1%@ge079$RN#lj!OYisKUQ_F8f0&i:Eo6Hq(."#!"R8ImJ~>
+endstream
+endobj
+329 0 obj
+<<
+/Length 339
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y".4`5m+'EDO9%$BDp,Od>4K%![K'2k8i@Aq[N3C&c_6_eaXUN$tiJWZYCnH6fo
+99,qbWKo61J%u9'-du^%EG;TB"^`(UQgbHP2!pNrb9r.-WN!UlYUUdK@4!/NRNY4&
++)bg2`B0Ye56iUf.#(W7;ljWUrP6qobl+?'\f)`^c#E*P7-r]d\T?@e4BRMTF<sE.
+['I*6QWc>l/M1B/9/l%EF6@i2X?B'^dtX`*3nH<]hr/h.l6#tkrS7.\iI=sTSj&KF
+B?JN5o/t#!O/:EK*/m8(@^Tf&b[R'^4O41BH`1Pe1Z[%Cf-26\_-@4d[NrbfJ5<Z`
+!!p)ZYQ~>
+endstream
+endobj
+330 0 obj
+<<
+/Length 283
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSZ4UT%['EI'A6fBU[6JhsR/IL'#W![\ZFRfFskb.-U_2Hj5j9Qb^KZ*YL=2c"5
+OQ:`pq;WdE0Ys?[=VnCYf.$'Z5;7(t$[\EYgPKWF>K@2.Qe3BF4>g%KkOT:SY*e0V
+J)!:D7V9j.=)#JPXVG?`LGU@bOs9-[-)i).L[+)%_COkJn>ai-rM]Uob^`cX,Y0el
+I*.[<eZ=2T:H6YmhbV#Oimmk:Zs,,;Jkmi!A>>7W9<'#lUl&.*lmlZo8DHfm(=@VT
+C$61'$<Y)d!(ueFJ,~>
+endstream
+endobj
+331 0 obj
+<<
+/Length 233
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjC]aDV1&-1WJ(%*O="gfj\P"hk^Ae9(T!S#L_WO%"0+/P%F0gk2n@^l\YLnb3c
+Hq1^EW@;F]fHD!0*"P'"5n8#qPf4ogEG!]!"JpipLU)GPAX=Mk2fl?i?=S,g*^MGU
+\/8)EaG=@t_MN#.__S<Re[*>tB&1.<mqRGh@l8T_+VQ<!YNgc*=GGA3C*srbb4iX<
+B0Mh)^0gYPd@rjji%L')/2_8&0`[1C+UJ~>
+endstream
+endobj
+332 0 obj
+<<
+/Length 442
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yi[9hp@,&;=nOEKXYL&a0TN&<-dm8k)Nc@A57_TIsM`F:Cb+UMp@%/-p+kcj"U3
+=j*Q8k_=CPjh3dg[$fb&e(g7C/^Ea)DVe'Tdq33M$bJFBl&:q+=0o#&qIn(-UpkGV
+dd@!uV2+?]I_:0ER-NCO\jhKh5t9`3THAi6!*K,)fFb<7.h$gUNd1Uq#/Gu(j!lYc
+Ph-T&3#6D)Q5>[;<a#KKB<?L$9!O6rQV!QKAm'?dq68GIO?\n7#A,PZV3`b5,[qUd
+Q:sG;ZGKmT\)^TEnbhkQfP-gJmZuWJi\7>P%0)!gkD&Ad//\t=QkeNQEL?Q/gd/T:
+q\]VLr8ccR2tPHNT"O5uSocclc94;aG,(XiFCrT@Kl>PaNA+q!53S&\4'$5pKIK7X
+#`6\p"uUUf9pi6.R>n)fnmmrGlR@/:gf3FPHjp))"128~>
+endstream
+endobj
+333 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z:bY^"!F[bf$R:?>6`ra.'-d[B.$/5=B;hJ=!$m_K\XYdmoYVD;N4ALCJ5TYK
+:'&WIL0XSH^'Z/TV5[^k/d`"0@#p6Ds+>n$s8Pr:W0$daPKVL?/!(,m!$4]dPQ~>
+endstream
+endobj
+334 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW+<%q-&!Fg*`"UcQ/'LT#i/oq*u&-R#JoF)IV%=gie/shbLQ[ZGr\H/&2#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm\fg"PEbSs%a'`rsoAmar#ejAg/)90EsTFN.8>TIkV^(
+i!b&_ir]MG!K;!u`b9lW(ncgP0ZFV?irG>6O+DkS!=InE@;rc'EWpIa"oq9Bp;-~>
+endstream
+endobj
+335 0 obj
+<<
+/Length 415
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQS]hZL"%"MW+36=f8+asH*UI06:WcWbZ#:,[]!030B"EXHRI?Zo^`t#!TM='G/
+kn%;KKDRP*M\Fh\Q3u?oKr+)mQ##)XI)g9f2[_+=BR=I,cAS#JgsqcV;n9aBhQ&?f
+4l2:>]RHO"O0;WdDoqf45ilMs!'mg`BEUIaWqt5E7;u/F%Y?#8fEOE>H#[BJ-L>;'
+TGJi"%+(r7%9A<gVjOHe`6n59F$e!aG)$B43_0N57VkPrV2&Z==O"(2BR7@P@=__&
+lo_^]:T.t"(PIV/s2Dt)Vi#uETC0oWp5gkDr>^-)`\'AS`%aH"1W*?/*2bD\4DGf]
+r6(J5O`Sr0SMjrsNPK0`.V(pCLs71M4%g%i#p?RjAgUJ([>&Cp,S@uB3fVU9aC_41
+oE+Nb`[C[*!9YG3>Q~>
+endstream
+endobj
+336 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW/;D:p$!FcEM"UcQ/'LT#i/dhab&-R#JoF)IV%=gie/shbLQ[ZGrK`ROS#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm\fg!ri6"%qW#`=UYS%4IjCjs8NT@nUQ0.b5)?@#\O$R
+@&Sjd%PZO&=W`0_@4ZjUlN`sQ#A>3<`JhY0a1t4kMh0#%r3g%F'Ucq#iCcQU4FjaL
++k4:-%nT7?cp`UI(tc`.N;m<;Gq]UCB4*F9,(g%,>2i[iY+AmL>^uhT(PNR.~>
+endstream
+endobj
+337 0 obj
+<<
+/Length 371
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_&]hZI!&--*>)'[nr8+=1l,_f?7VFh";1*FEO"&MGk&Bm#k`PS*DiWV)LLgp:K
+do?NnMMLDRXii_K[Ot3(EJ\<HWs[Gp\C9pSeI)9Iq@].Xg9%p+dgKu--m#Ws6#l4V
+T\/+.Tn];U_tUX$B;i"2KH[H>d:1Fl1CNW1J*D>gM@ON65k#m3A/g/r9umn%KF^Kn
+Qs68OjeTMMm$+iE4e9&F1>fj82#m<)e]4o*Z$Q+P$Y.F-RJK8K9$WjT`4U2a>`_mB
+U)V\L6O`sX[psjLHgB@VLO[SKE>J"UnIKnT^JEK%=kQU9[Ba.MBeqd\Elc[GFD%T!
+P?gI9R6:7NN]5P!Cnob7qCkTTiMM>7p`0@Z%rF3~>
+endstream
+endobj
+338 0 obj
+<<
+/Length 437
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGO0i#YP$q217N&47hOLY@%,@Ii`U]i#A+@3sIJ<Bs:Ff+2&3D,;cAVqlXgG<!N
+$5+d`MZ%CAcSUu+iu3,F]5?SOkO,mhDg&a4o'S,8F&m@@5>SJ+hq@;BD)\o7jcHV<
+pK+N+<HmUihEP@`GO9oG4XL.s"p(*I#U;#YgAr.YL$*Cb15(?RKG25HWeE7,N2<*W
+E_%g7JX")$S<sJ$-4DCtk!JQ(*7KOhEVNs^7&eLR*ge<eM$/7ZK[N@6P?+\]m.H35
+6>VQJ=br=[OL9mdVO4S995+qN^!O\a,#D^6";t+sg7_;,HGn#cc(pjX]#Ml90dIE2
+ir$\Ik["W1L&]LAR/bDd4(?t\[0QD^XnM('1-SL)K[3_daHo5qnth/c1jZdD%;;P\
+Al0?'*qMCp`JAll(:"FQ<U-[flqM+7m.ULH[%3!~>
+endstream
+endobj
+339 0 obj
+<<
+/Length 587
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFt0lG`"'ZP,")?b$<&]>'aN[t<(-37f^`']&car6r?Qm"aVdtTJ%h*ackW.?Yo
+q!gpdMq[Ak%tsG!&$YtumA@SJ(V8.()VqceqJ*'\2"F@!m?[N6?a[KDg<c(En#u:o
+-TBAY\<WP1R`Wh!j#>f8c0dlI]`7gWGILc&X7Ua"$h*=Zrr`0A3q*"mC-'&,4@'EQ
+!Go6h/;$Mj,u=mpZRjE2lYNHmrXE+c@9mI^f4>b91d[]Q,P2k0"@[pLbYYF.:'gG-
+39#+&:_?C2S'WV$5(TbUW"X:3,6jM9W,,f@>m.a/?:(P0&C(?S%#eO7aae=B0H1TV
+,Y_)^T\0?"!3k6'grMaI-,O4i+l!+V'(cS9V*_[#'Z/hn+ZmK4ENJL,Yq[_,.LHuU
+!p0Jg!^gNIS7C3T:bU2K!-JbuKUWh`"r/)PncZ0*ZofL:9U_VHTLOU()!hTYJa.c)
+)>"1n0['sE\3a="%Lf^L+^G$PL]g$f9?D-XTK304Z7OoM:aZ9N?2bKs"idbG(`p!h
+h&-Kr9e\;hP@3o:T8!;hQr1j<B)j*8$!`/S2"9*O(6j#)q'800!';:[Wr~>
+endstream
+endobj
+340 0 obj
+<<
+/Length 334
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY0i#\A$ij*o*PUTcgjo5&crOnf<r.>7#:,Zr!;qr[";4opENY1_<1G(@L[#g?
+a[a-u8<pn[G&!pp*S&Zf8OKYWY+tju+48W7:ZnZ>D'UI3]*I+$=P].@Z+?/2<nlpr
+C9SVZkkXISLVl,,HXIj%J5mrsUOnGeGn4J:Sp<3![$i>8NB6W00F-.,4jO?VWNk>5
+EV<bB^sTheVH3\mLM22`,iq.ll3'$-Go1$3-urU_q^A3_Y-n#Rf9H1'#L-'+1Og=W
+/,SJAs!.E4lb#e">5(R:XQ6P)!9F9O\X+gLobtJ".nYti=i@3!@eB/71#NLi%KLQD&82~>
+endstream
+endobj
+341 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^80lFl_$q4lT#f%`V&22Bk!hub#dMAd:!mQr3ZlM6(BP4q9o20T4NueG1T5oPe
+8Ce&u*^ip(eDI?<-#:'_&q]LpcNaqd/0$RR^A#_-Gl-Q=_pr(FkNWp6Y-tMEJkP\Z
+hd8SigcUJZ6jptk6nLYl9@X00WWUd=JQ.1EeZM<Q<THYbVi3[!Z`6F$@@T'Fl@]H$
+5stsN-gRpiWR-Z!>.`c$k]Somd5h%r,\P":0fo4:aPY3\YUE_K0cQiM,iIhR/5bOf
+BjjKBpi!4&9l@:,Sn#&C5;g+6^B"=&V[mP~>
+endstream
+endobj
+342 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjD^J;[#&-hVWl4A&140msS!0X9p#ZIQ$&fHeR_ufua&g3S%8+WM:&Nj[(@a;]<
+O:Xi387Z[grc=D(q..GJ=+!tfIEKftmn.o#3XceZ<*UH11+1?6")V5aDn'+NIOS3[
+Dmj:`;VkaMbOb$_[HHno2kl61!Pa0Rh_G%YN5u\rAdSMM4$aP<OP.O%*e$'S0Jf[9
+5T83td[PT%"Zp7`c[b[93.]Pl3fQqo(&!!AjCdB]Z0)sNDUEsM7iG-dSV#8u-]B3B
+'6Ba@JX\L/M[\@Y]*2[Bg(]A9^nX't&f4VRU^Gf'aYE%SV/(Ar!'oEK_#~>
+endstream
+endobj
+343 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"]^J;[#&;Mq(;!F9.K'rjcF]EXn<2e:TQ!iSPJ<9j8/'4RJ;=Xu61ISeQcH-%f
+JS"_bm`tjH]pF`FjN:-J9*k+Lq3Ai5_2Um,f,cqGO"YmZ\U'@Ajm%L5=,4C,nQaUW
+H%5^9k5&+X7uE2Td0fJ57)/dFRcoqT;CcV9C',u_;YpNL:/d96%tnh6&iGIrLcmF0
+m+Bs%\-9"j!Yf!</tft@gTPS,"@`?cr=77Y^eZq:]M>;O7E71.Yi"a((6#+=`<fkX
+O%M+V2;4KJ2,e!n,%J)?eRVZ@gXUb%:>X+5Rd^&-!0HL6L]~>
+endstream
+endobj
+344 0 obj
+<<
+/Length 218
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZEQ0abco$jPY)F=:\a&^1FNotduE4fA_%6.!^UW2#!>ZTVKQdN`jU&7_:;\o`!L
+O:V=96_*7iSbBSOM;t/',Ip_D/%Ul)@A.KJ<!>#rFsWQ1Y/jSC.9eQ9alh,a:LV6e
+d\P#+:clJY!#UM7CNFd:2jl;%FXB$Q;X'?XRsrk>DtUE]h_obeo22W^$H+n#N"=!:
+>6@I31_6sjk5_^p>%d~>
+endstream
+endobj
+345 0 obj
+<<
+/Length 408
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.*_+MX"&;I+D:rjrs608?X?0QMEKYXTq%t^Cc$L6#kU?D0rngJd:*d]:sc6QOt
+('MI\ksmLsbl84@2qVSpVrqj^4'[")ZI83QDc*+N"a4N/$1did9lC9m4C[45k*BMg
+g"p)p8iOX.IXZ[XlJWY<!YFn6!14WD9`QYpj_]O13@`m21'Db*FYGm@!]HDL4H1\.
+$K"ZM3sjHu11q[ZU;Ik%n:)M:S*U#,lOc4QO!s<?9)>*?rHR#Y_9:qnr<b425BD"r
+%jB=DVr)0K=;P"lV9UWn$XlgYD<G?6*`2q!i$_QY<Ja)bK60?@qC)"<plNFH+%=3O
+/s./%c[4(^=Ro(uQQAaT6RJXUF-Z\m,pc](bouUbGZH*):Y+oS!u0jOgY<BDlC1((
+kjJNP#fq`h~>
+endstream
+endobj
+346 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmS?5$jPXS%[A11&XjN_p5iV:%]Y+>#Whb]lKFo)>eq6BUYI)9lqiMiU[$d3
+Wu+D&I^18&8dVnr$(?fe-h)pig75N)*=3W2G&.\VCQ(1t-,p>)_Dkms8RSWdF?X"(
+W+X%[aK>NW5k>!U%#j'E5WL[Zedtj^JV/f^^-g#^F1AIULQF$A6"EhpoMpZQ_=\29
+4X,+>hV`m6i/]8$^8A>+I0,pS>iU54=uY,^~>
+endstream
+endobj
+347 0 obj
+<<
+/Length 171
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)"_(sd"Ubut'LT#i/gHIF!JkNkB;hJ=!$m_K\XYdmoYVE&bdm@/J5TYK
+:'&WIL0XSH^'Z/TV5[^k/dhUtrr<#E;#gP+KDb`k%/aN2JUnghL8b3Q#O)?V-O1XL
+s3JK2M>mVHrult3(`;>]0pepg=!/;e!"YC<hZ~>
+endstream
+endobj
+348 0 obj
+<<
+/Length 310
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjC]h64.&-q\2=6(4:4Mo>NBG(aD]"k:Q$:1_.%o,b*7I0<8mA&_S;I6URm`p;u
+j]WI`+-Z':a55BF8J@_>/))"gXndV('NZ`"Y%tSJip6Bb]:R3ZZji@_nJ@P(k<#ZR
+m%<A)oD=OEHWba$Ud]Bs_-HuE1JrU]MpH?[/>2I))^$;2aP\M&;ZXoJF<)XVT/.<b
+E6=klO88o=I(pqO6.iq!S<*!f5s:SKBt\=,Xe23kr<.0glVeHDXab!TG]T[s`8$e8
+bt5F+?tr#NAbT[.k00&dA*RO4Yn:8kaq$YMnBV)>b*A.~>
+endstream
+endobj
+349 0 obj
+<<
+/Length 133
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)"_(tO"Uego'LT#i/gC`HhZ1SPeMC1O2#n92\Qhn$>l*Cd7M]8**^D/,
+IA['X"[anj:LAg=U=*!n:D\`b#Pe<T0OWmi5l?*Gj2;?7%/f=VbLMe,O:*`B!:-^Q~>
+endstream
+endobj
+350 0 obj
+<<
+/Length 293
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]]Yti1j&-h'N1)QQYr<Vp$5jXe-Clqn_aAAj0SL\)9!X*QgnR?s34@7's&O4%2
+MM\08\obHG^H8(T_')LCG82@t>?BXjkFh8^r/;A_>[7SYjdD]HFl$fBk/NgT&+"!j
+?S,O0Z<=cbO09@:mMqriT*(1,+dPu8ODK\,'mc!#@4Pg6V)H^;>n.`46q$\#Nrf!8
+@_XoWZ>=c;[FiXKU.^jf`#HKXaCS(^p:+d]irY$di$.T\!5e)b-.r6Z-PV?P,h-Is
+'#H:Z0\'#G3sL#gkbJ+e!/$,dh>~>
+endstream
+endobj
+351 0 obj
+<<
+/Length 229
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\<A75L@<4d>;\Oj!6`ra.1G^02!5pbF1K;^Y!#!Da>Y^kqqV_cnAmG0R5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVkoq#<Qdrr<!_!s:b!gOgAn5TC?q!s8WeR.3GUJJlZk
+nG`OLs8RQcpm_:J?iXp$kPtP_bi"Zi1?sE!*d];fU]19("9WK4Ijfp]K>C4aK7/sb
+B.s=\jp.!P-\fJ!lH'd^"W.5+-k21~>
+endstream
+endobj
+352 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^9YmS?%&;IB!&8p_WGV>_t@]EY+.[WNKaTkX4#=[hLdJ>8>KT7(kGY(F?`R-sA
+L"q0gjM,M',FZt%V//h'dNQRcar):]87j[rVB"W-J&4N\Z6MBIAAo]cMTqYh9[oN6
+QeN,&K!]tl?^oG.A-i5rj3EUO/X2MS@A-mMW-Z%-P%?@@EgppCft0&#<O(#W[KXsU
+7:9UC"kJefrPcpar'bSKs2A>f_`R8_?i9iRlef\e&cD,^H/H8q_,l,ApV#TNo\TG]
+`PD2hoaR5p\+gpCZ0rj`~>
+endstream
+endobj
+353 0 obj
+<<
+/Length 310
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQQ9b%1i&;@/PdSc2eK":ql0P2d(PF.&WPlkE.6!0VObu#HhQ562oFYgsjPur.k
+bLCkreZ[tg=qji/h4[rD9</W5f[I#UMIVO4Tbc`rDK(\FYb5<U_*i#T$t_j60hA1K
+h]::8N/4go($a!O:s6\"a8l&H5`S/GY$_toQ;\B$5WgE5l6GJ4"IRN\Ae_$ePZ4T1
+Z$QF#\G@/34/<%qB?90.^On0D1[iY86Ko(K!VSCL!f@D_C$q=-Pe^SMI5ck_`u,`:
+k3T]a!5D0rWa=ZF,Q\eLEZa<P5pj'J"-+%bj)"eY%BoL~>
+endstream
+endobj
+354 0 obj
+<<
+/Length 217
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjBYmS?%&-h&#*<N]L2htl1"Z-Z6F;1a,)$HLX!-NB[FD`0PO4$P^!u0``?2FUC
+g]p(D/a"+=A9j^hBB`mpNjdqPVJ)<N(+"%9@I6paaB#6`>bS;2CGMjeSt;"p(&`kr
+Ws0.:<"BEW5d;p%XQUqF>_['F63TP&<\6CKP*<((3W1@8a<G.Z4.5I,#Vtt0RfA'A
+r62+Lom"FL!6@C?a8~>
+endstream
+endobj
+355 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$#4\g_s&;Gs:OA)uN?nS+"`5UAGnu7H[-<bZp[C":o%@u,1.!l(h$H)2RJ3O`D
+f_:rmH+Gdl8<f<=ie;KF4LP+00ktrpmTeacX.A8?Ko\AU%h^*G2d13B]XsDoS,QIF
+h`dXB^CkokR":*O%$5oV(`1U/F(ISH`i@(T".0:#`4-D*E@34,%u5X.cCb?>FBX?[
+BObVsm9iW/b(,n]=HoZZ'YBhF%:1ECPWDg6JogHV.tpcG4]GHAF!uMumk"H?dmeE8
+R+sgWX4(IB,?//)b^V62Y$P^E?7dK=?rMI/o0%R6!&+#jao~>
+endstream
+endobj
+356 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR<YmS?%&:i^Q#N:t4K(f>8-:Bp2We))kSU:G)kb.-EI5?;85!m7!V=>1O$;qZV
+Dto&l+Rj$<-mhA-8Qo%JV7jelC4@(!P)pSThD)VEAd65?ZpM%Y'oHfj,Dj:=k^9u&
+B]eC2_tj,rXi"I\o3iZ@hR(*SGRoD8$!Q8,d,F<iT3J-Va^o;I8nbWj8tVtg.nKIp
+C5D^M)%?;^.muQL%"3"A*%hY;n2UId:Lo@~>
+endstream
+endobj
+357 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\0abc_&-^De(4ed@!ePIo>o29j,7%/_/Hi1<J6H,)g0(6@?s@l;*5OC!a>g5t
+YY[H4c1%+H9_/obI59=&P\;fSg1]9:[Bc%)+k+o'a]S!cFf8>O/ZP4,W7&YP1b(G^
+j5I@62^.lLEs3cmLq/$X;$o9!E'Ws6=55taImYRP26Jeh!PZD*I%b:B9.hD@L7o$$
+k0F'+%?pl.5kG%h&3j#WVZ^V%3aCZm!1of)=o~>
+endstream
+endobj
+358 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#HYtDr"&-h'T.i,!RH\J]q!h*>Vb;DWE<%s$!eNJFd=t&*2m^O(V]h'7gjVB$"
+bcW!>#WD:jr5JTXb0beJ\o:WNBN`]g_`+Yh=Y=Aj;K:qHPO\:&lNZqi<@-dO&n/M'
+\0cuVF&*nHT.ejP&--8-!WI-A_ot3c0G?N3\PnRKRCJTKH4WB,XB1D8ng"][VUd+b
+dAp<Um);i(eVj`Q;Hq[j0=&_?MYu,+;WRW??Bmj4+D@<Ba@*MR!Oc/'.ac/ENR!/$
+bj-Y[-\1p"%)@_Y,Ce@j;L=TgA?"ET7m2d>%6ie'!$cVHGl~>
+endstream
+endobj
+359 0 obj
+<<
+/Length 406
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY_+MX"&-h&A4TpA`2q[0pZs2f>4U"jiHP#i1"0<P,.!fdS^0(,(nd%8L:cclq
+Jd]1sUeLTIJWN+Fgt9$:m:Bjug2:[&>3QRRX=\pkCKk.Ge>(ph?#NqQ^=[&"b6MeH
+Er0ro.p]TEp?V>I9t,<^!)*p]AublWJHCtW.pP=_p>j?B*h-nb-dE;oEZk*mWmI:r
+MtZ3dMeeAa83O7k;]V%[f:@./#Nuqroj7!N$Si`\PLuRdSrYf$ML+V,bd7GX']NSB
+ac!Zr9lr?uKs!'g3X6u^Nm%,13&tUVEM&:+P2gS]"8^f27s;mlfu)4Aa,l9i:TkVn
+OK@[*K/e\Y5?q$@kXhk=9q5AqN&&X6]/X4*aYq7'WH4ie-1f*>HZjUNR2SHM\,'8-
+$ii9!X6o~>
+endstream
+endobj
+360 0 obj
+<<
+/Length 347
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:e0i#\A%#/%K<:\H^,Su!>%oLt'4[>_D&kj8F(m3ZB0Xogg8*LUHG,Skdf,\7F
+Ock)`jA4'Nh>#^mGd]R1lI*F)Gf7&PF"PGg7H;^0?=#j8hdQ3;gD6gpI_ok"FR'mI
+\juenq>H?0SK@i()BbeRJ-MSY&5hM"/f7(ABeDu["&4eaAf-/PUY%@R>TS0g"9n`0
+&EK'+$sD:l.23u):XfWI0L6]nAq42r!MI2hUqKJsAi,>5+%GiUK^Hla'pRi888#.b
+Q3pPDV5\*?`lX2jN5=#KT2tWX3Uk*H#9LG<+?kFS['&NNWg4c-/O?C68d0bFR/eA"
+!dNV]1]@jaB]);k~>
+endstream
+endobj
+361 0 obj
+<<
+/Length 387
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#HYti1j&-h&[)'X@rg<G'I84,bM<(&2YOT>b8*WR#p5d3/LqI8DXnd$*h6oj[_
+:2(sb90U>'r;XJT[7e-;VrsJm$[].ac`)4hGt+i->827'QLZANT3g'F;TY]Y1R6bD
+Sk:p8=#O&MF_<qq5@7B4D#ln3&+H1s0d8Z2&<RDCF=6-NE(<RfSck5%Zu!t;30G;_
+fb+OqB+8Vdp>j$"V:^nT($KD;-+Qj1k_h:!Mn"KpZ=BlTh@!TK7k,.0>Ajb5>$QE$
+=;u8=*FMa%i#Mj`@hA]jePG8I-CW]/F#uOo2h+qaF-CaVB+dRls!_M/NKL2"/Q8A-
+7DW(G-abo:-.ZdeF%0W-dRhM\?IseAWWQs"5\M*kTl)@QTY:X2"UrN!~>
+endstream
+endobj
+362 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTu0hTAL'ZT[PUf_ld*[,S*9nH6p.^1Ci6I<jWW253BouthC:$)^1[ugQ9msX#H
+8cCD"r-7;":OO/K]tX(12X%'!qp]\"]H#?gDkGVl4j;WnUiEToK,nZMGe-V%G4T5?
+rq^olq(>\;#>@<W7^99(n1-SjA:rT>)Uo(CZ:3"t199cG^s[NYZcL'qr5(%H7,3YV
+*k*\<!F^NpgmU>5;p5:pciPfG6<Gc$=ufZ[oseRQX6-W9/W1j=em_1fCcsLSiEV(X
+8Q[>HlR62DS$5SB+*aBokl%U/qEFu5RH\2~>
+endstream
+endobj
+363 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+13 0 obj
+<<
+/Name /T9
+/Type /Font
+/Subtype /Type3
+/Resources 363 0 R
+/FontBBox [-5 -23 90 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 11
+/LastChar 124
+/Encoding 364 0 R
+/CharProcs 365 0 R
+/Widths [53 51 51 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 25 35 35 0
+71 25 30 25 45 45 45 45 45 45 45 45 45 45 45 25
+25 0 71 0 0 0 68 64 66 69 62 59 71 68 33 0
+71 57 83 68 71 62 0 67 51 66 68 68 93 68 68 0
+25 0 25 0 0 0 45 51 40 51 40 28 45 51 26 28
+48 26 76 51 45 51 48 36 36 35 51 48 66 48 48 40
+45 91 ]
+>>
+endobj
+364 0 obj
+<<
+/Type /Encoding
+/Differences [11/#230B /#230C /#230D 39/' /#2328 /#2329 43/+ /, /- /. /#232F /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /:
+/; 61/= 65/A /B /C /D /E /F /G /H /I 75/K /L /M /N /O /P 82/R /S /T /U /V /W /X /Y 91/#235B 93/#235D 97/a /b /c /d /e /f /g /h /i /j
+/k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z
+/#237B /| ]
+>>
+endobj
+365 0 obj
+<<
+/#230B 366 0 R
+/#230C 367 0 R
+/#230D 368 0 R
+/' 369 0 R
+/#2328 370 0 R
+/#2329 371 0 R
+/+ 372 0 R
+/, 373 0 R
+/- 374 0 R
+/. 375 0 R
+/#232F 376 0 R
+/0 377 0 R
+/1 378 0 R
+/2 379 0 R
+/3 380 0 R
+/4 381 0 R
+/5 382 0 R
+/6 383 0 R
+/7 384 0 R
+/8 385 0 R
+/9 386 0 R
+/: 387 0 R
+/; 388 0 R
+/= 389 0 R
+/A 390 0 R
+/B 391 0 R
+/C 392 0 R
+/D 393 0 R
+/E 394 0 R
+/F 395 0 R
+/G 396 0 R
+/H 397 0 R
+/I 398 0 R
+/K 399 0 R
+/L 400 0 R
+/M 401 0 R
+/N 402 0 R
+/O 403 0 R
+/P 404 0 R
+/R 405 0 R
+/S 406 0 R
+/T 407 0 R
+/U 408 0 R
+/V 409 0 R
+/W 410 0 R
+/X 411 0 R
+/Y 412 0 R
+/#235B 413 0 R
+/#235D 414 0 R
+/a 415 0 R
+/b 416 0 R
+/c 417 0 R
+/d 418 0 R
+/e 419 0 R
+/f 420 0 R
+/g 421 0 R
+/h 422 0 R
+/i 423 0 R
+/j 424 0 R
+/k 425 0 R
+/l 426 0 R
+/m 427 0 R
+/n 428 0 R
+/o 429 0 R
+/p 430 0 R
+/q 431 0 R
+/r 432 0 R
+/s 433 0 R
+/t 434 0 R
+/u 435 0 R
+/v 436 0 R
+/w 437 0 R
+/x 438 0 R
+/y 439 0 R
+/z 440 0 R
+/#237B 441 0 R
+/| 442 0 R
+>>
+endobj
+366 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR<YmS?%&-h'V%`0fGK\d)M)mn1u:_i=>ki;iEUP#:^nn@Pfl5M]Dp%M@'d9R/c
+540%9E61V5M:'DB1)\9ln;6a'o.6\LBOm4h[QAM0F1RXLi,kqgS6"sD(f'C^>gCq'
+f5gsr_BT*.:uW_MTc`*u*5TZ:GfF]ZZf)B?AC6VnQ)_;F=k1497b47H2kUD;Fpkl'
+8DURYrp'H3<BgRo%#uMRk4'lRC>SGq!!(W%k5~>
+endstream
+endobj
+367 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q,K@1s"P1D>HV6`ra.'6>;R!5pbE1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnhs"XEVJd2_X5dK>j5>Zn+J,B9G5PY7Crr<"Nr;VC7
+8c/NQ70i*D8fJo6Ig!k!-)'N^R/B_\g$kU7"AhXB/IYH56]2(-StWlLJb]9J,;RC&
+lH'd^"W.4j`uSC~>
+endstream
+endobj
+368 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q,K@1s"P1D>HV6`ra.'6>;R!5pbE1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnhs"W%'s8W*"!sap(ps/pS?jDfYq#:B:&+Uk6JN\fO
+:_+`h+QS"X#u\kNAl+b'!!*ds(:MSR"9fT/I00TC!<u#(P0;C>/!(,m!+X_!1&~>
+endstream
+endobj
+369 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'="lO40XOY11KI%$j=94G1^".(-l?)8R-PV>(n9_l.O=1t3I,Z0LFX2[
+Ep7oNV7?/g!h:!U*)BpqP+pB(/l*:;L]8=Y)<r++JP[Bj)rr*drssbQs6W,ATDcP$
+5P9O*s7lWas5X.*ru_8jr]caM-W_E,?i]fm1Qh~>
+endstream
+endobj
+370 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju0abc_&4Hs7@2b2g\UZ#0;+q^\$>q##jT3lZ6I@hbMNhGhhuRkPG_;506GBct
+"@4Qka#:iZr&;M*47$ro.97LN-bONb8BPB44CR0:UAWaJ"e+ce.u3JFeAr,#;g-:6
+90St#HdX\S;W%a]W-jgQM@_f;";9Vn`'>.&Tb8o@22,tiL!Ynf0\kPVlh-/AkkmmA
+CKg;6Y1]D#D4]O$'/jPN[Y,G#,8/U+8M)?Z+tLe[0)F]9.Es`PkqrHtJ**g~>
+endstream
+endobj
+371 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju0abc_&4K6#RN*Jl!DTj4d:sgSQpT0B"/r&MU3-g$P[5e>\V@p.UeDBucL*06
+G-[0G5.gFcoOA@kk,qU`@NGr''@ECNaQAF,l:!%aHbH1"V-q7lUgPMe"j(5t&I%Eh
+O,)2MdKs^)#;/7Jgjog2JL3aZd:tdk4?Pmm!',#,>V-+uF(D3iqLq%Lr,5cTqhq)M
+%/Md*9c"9%;nNR1D/SGu;afoXc7Un1.pKQkojnH8$C[j!Uuq_\&`Ar~>
+endstream
+endobj
+372 0 obj
+<<
+/Length 143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\<%q-&<R<U)0Jc]_2-*7&j=94G1Je';+D%Qc#a>E(agkYOSm;-N5X@#N%l!5^
+i2g>-V=3ZL:f:8]b2ql^nGiOgTDp(m_f2Cj(r/BX68@uIBUJQ[]8q\'3*s.#4h1X)
+!!<4Id*15~>
+endstream
+endobj
+373 0 obj
+<<
+/Length 167
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'=3rh3:]MX@KbQnW67tVmTW!EnObJCtSfpW;81*M?3I,Z0LFX2[Ep7oN
+jgarR!h:!U*)BpqP+pB(/l*:;L]8=Y)<r++JP[Bj)rr*drssbQs6W,ATDcP$5P9O*
+s7lWas5X.*ru_8jr]caM-W_E,?iV:O1Z&~>
+endstream
+endobj
+374 0 obj
+<<
+/Length 115
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[:bY^"<%p.10JZKZ10-q#j=93ldNDsS"[bGGPaS,>6?4]FP:)]G3)BpJ^5%:X
+QbHCKZ[s?e^8J/$8Ps1OQ`#`C!s9bdic=_Q$KM6s!.PFh"9~>
+endstream
+endobj
+375 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'#@^&A"[`BG'LT#i/g(UT5g!?X:dN\580mA=3I,Z0LB@^joKC!c;h23+
++d]p@Y<kfXBe#IIMo*C3%J:2'%/(5<@R'e:jm'r&a9<C\2maFC~>
+endstream
+endobj
+376 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A76'<R<TY<\Us]0XFSH1#shF1,]/j)CS]+.[]K=Jg>nXE\<]B-^T:lK!>WK
+^'@Jp9A_26=TM'=qC7^DQ)8SI\g[LVs8QFhOSE;r,^pjAOOsd@!Q>![^kmghiZOaN
+$mM/!6p$34LD0S..hI@ra>*mLf38%*Lu5!"[ummbs3Co^>csZ'JR!^+!;ss57f~>
+endstream
+endobj
+377 0 obj
+<<
+/Length 242
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_#0b/e#&-Ymi"j&S@J[p:`lQW#I5u"./dE2QiV1hBS9XkqrKHj;k&AH%[BM9gK
+2Qta^B)W;Vm'G[8S-.$0k*)YmR7KMi%LnnqQC2^):m-u&Y_bnfA4.p#/Qn90[sYqR
+cBPIKm2/)GMLhLAJK,0\j_.r4d!-s9a/Cad-,aALgA=\PD@b+(:VdoZ,Y\3]i:='E
+4+;5&CmJ6kB/[<f^p_Yb@N2UYFfj%PV*2Ks!2SW7nG~>
+endstream
+endobj
+378 0 obj
+<<
+/Length 157
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A77R!+KGZ"Z&N"'LT#i/gF"3hZ1U&cneYJ2#n92\Qhn$>l*Cd7[@<U*^D/,
+IA['X"X)pkX&)\nR`aaVU@A2TrVunIJG9?\560[Iqu8ktm/JklE.\%<p'4FaTo9rc
+Jc9(cLLDf::Tcr8^]7U2^Ba~>
+endstream
+endobj
+379 0 obj
+<<
+/Length 308
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH80hTAL(^8h0MhSq!,KsD#9u=oWJQ9N#JlWpX/M.[=PJq"S]i&Ao1?&H=2H,8k
+h[>$<=Ni_JbkpQFVE><5-oLQl(#cm2-X0YWccbmT#cjKN4kcd<lo(pqb:\'Ng#i,^
+E,)PmbOb%P2<P#)(dROn^c@Hq)&Gh$2[<#Hpu!bg8UCHKHM9eqpVP1^LeChL6`8BS
+j@c^Wo]l0D%:(IY"Lo<Z2CEh*\0+A>8HjaP;))AbCrMl?Cf5(K/1EJ*(4eX*`Bihn
+@t%n2O,WnQQlfGtUZ3`GoV*S<qhn`:G%9D3!8NLaaT~>
+endstream
+endobj
+380 0 obj
+<<
+/Length 314
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ul=0i#YP$q4g:73jfP_Y=1o%EYK,["(OO,cE[&:f;h0HI?f8OgmsU#(pTdM"7f`
+#8!Vs-e[DVp:/rLL0Hi%j*&=GbmuZp;q"<9_M6go=u=(o'C?"(m^VM[\e9k"h9@t3
+<"7HlIsHI<iIVZn!5*;:&M+\Z(Pls3,@F[5"#)\?guL.Mhdc#drB^6,S.n7^`,QJY
+QiprU?cK0'AIoET+D?Co2ed_5>sX0HHl&]hCo-]B7Y2EP?^(kh$EoO[HtiG,YXcdD
+m&3s')90??%Tn\F?sY#MEh^)M@Vh"J\'iObEhHY5)?>nuj^J~>
+endstream
+endobj
+381 0 obj
+<<
+/Length 229
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk_0abc_&-^G5c6Y4^cm28k%7CB/&@D!.C2'AT*BZX5A<h4,:9`A=#eS@e1LTMW
+s1pHEbiVi!fgp/$1W,!,cBP5cQD^-]4ALV/M+UF_Nq8KuQ&I+?2fm7mZ"q'[DF^u?
+%O!f'G_1]k=%3h+oUs+[%30&H#1Q6rpgTo"KJ!ZmcmfL'Po(3e#CQbp:^7tbJJL(7
+%:TnIf(U89iZgk".($@gV9].jo)G*~>
+endstream
+endobj
+382 0 obj
+<<
+/Length 294
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`0i#VO&-^F?>c]bVNo7GJ36&t?V#V,\,)(mV!$t&XW&L\Rk"8)W>f5@4'$WnO
+r%gP@84YQo:YMAern/_RFf)",?"c7I.bD^G<`2n?Bu`Q`oA"*#_m@Q+amQR8,eLII
+AFnoJk)qS0I9F<K8TV!=?pG.a&3V@rcCIL^-W<nV(l?Y;#4R,^M:&qcpbnq(qpC!n
+=CdCCB5-&N"rjZPf&,$8=>K_[9Rlg]RhNVWIul]TQ&n.9hN8=<^6;?#A,EKIoO6f[
+K?)mf`^QPCr.>78VNEr#%KOJbqRu~>
+endstream
+endobj
+383 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`@5>K*M'F&NO%$f]/,NN,1dZBR@;?9&f"ABf.0I!n1,W;PZF)U%_ABYVXj,7UT
+8>s_Xo!A;o\A$>#ep;YFoj!taT1`<[eM,']V=e!51U;Cn74Z?@<fIg&4Ha1DE2fZJ
+m@Cu+ICr*tV*N6*Ql.U3/^V,$+UfFHM%-1HL>[52FDacS1/.=#Jg^(M#B0#:J*HkA
+-fia$R+7;9/9_llL'>da9,Th-U^:rZT-&mb00H!-O7"D>0dTB/4i&ES_Z\<*3dq9[
+iQrI(EP[AC,Hrin/;94+\SgM+^'4QlE7GO~>
+endstream
+endobj
+384 0 obj
+<<
+/Length 253
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV^C#R#'ErHL6+Di6i-g/So+,_j($#qUe,rZ[6W%njK;5Uq3:n+]0AtIoh7b*_
+\-.5tDn(RDpcP0cp3AW0cfJQY>DE^LL?`Gni3>Le<2S=7.8IrfZQ#&b<tSU*El&;h
+ab!=/o8\t_haP3[j:.QT%Jo;?('Br'aP4p,?BO5m!MZO3'WJkM'HkA*"q3d*7"VG3
+$4td]l6n]2TGc-]h@5j!om-81)pFW=-i)YadJ*5h95$bd!<=+/!qQ~>
+endstream
+endobj
+385 0 obj
+<<
+/Length 333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UT50i#Y@&4L5s,*IZ@,M3f_Ce.*4B`X&)85O:+TVMQRm6rJt>1oC4)l-/9q=D9#
++gu[EGl7U>RJ+M#D/2qnD7d5^D4bS9Wg\s//0!?8ea*m/05At:lG5BLWc$Hee`Q;J
+euJ"RmJGYYZg+_F@K@U-#DUn33gE5?"/<[SZU_fa"dAu_L"c_$0ucG&rYlji%"]"Y
+#,.^I[%d.;IYV'r7[+R=,^Hm*@uPHLi]'4t/k]S""d7`F&5<^^;a'q)/l7q5D%28]
+k*&+f:oK4R;],NZ*J8^:XG@6t&=<#4D]'%S+)[a>3>JgC+jJ?8o$u64YO9s8!0"SSAc~>
+endstream
+endobj
+386 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70i#Y@&-^EK.4e1L8'"p8Z6:BnV$/,B+@/GS`)9L;>&$.Y@Qo[[6-9m=5%Esa
++T]iolkt0JgIp3j.q][HDPX=E=48*GSK@()OnQH=Re$AKgRbE8Bf`83[7&R=r^pq*
+qE$_(hd<=s(<cr4Qmop`JRW4BAhhZ?^f9:q@u166_C#D:idt+A@TT;K<m(I#^[NVf
+&(6C]BeGGQrCb-D6[7`^(hS5+$tEhd4I2@:d3RW5p"qaJ]?qY:G_?_*b#0LDG&$a/
+FOXsG*`M684YUM/Y[lng)Vt&X5[OTniBYso~>
+endstream
+endobj
+387 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'#@^&A"_12Z'LT#i/jf^E&-R$uoaDRW%=gie/shbLQ[ZGrT`LLo#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm`6Ss+^B)H3S^%"L0'J-OsP5alVg0(!$Oq!;:8"HN~>
+endstream
+endobj
+388 0 obj
+<<
+/Length 183
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'=3rh3:bX_-0XaqO1#shF1,Mf-5uVh.F$2mP,`k^Fj`9qQdLTD51uQgV
+!6T<G3s@So(inkfqC7^DQ)8SI\gT]=hb`3,cX797+SN_Q_uZOVrs\Q/#efpBmJfQ4
+5Pos'+S_l6ci5*eJ,]KCs7?92s,[1E%tn2jSm6hOJ,oY\2Ik,~>
+endstream
+endobj
+389 0 obj
+<<
+/Length 136
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\<%q-&<A67-0Jc]_2Gm""j=94G1Je';,9m@j4[TB?6Tn(rjBO;b:G2Tb"Z$65
+I1MtbQbHCKZ[s?e^8J/$8Ps1OQ`#a.!s9C]6RW.f(_%/Y:M2r64^>.]>_-.1!<?PYK!#~>
+endstream
+endobj
+390 0 obj
+<<
+/Length 303
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000hTA\&B=7&'S0uHg1;n08Q^CW+TtgL;[?QP!4B2d79d*hV,n"+lnotn+Ef2#
+52YG+OHk*QpWJXBJ&X&dQ\BqERCI<`.X94@n8kbmij=f2gg?*q]W*r<&6Egoj$.Ol
+]"8Y@<4DG0H$e]=8c\JhVlO[hd^D_a[tu]U_;do'AJDd:FEg#*m6RVaf[c?QBM-Gg
+g=5[,?"04rNt',BK*IB)1jAG(n5*VbX4sM>SQ]e]VVo/FC8nb2K(j^;CjP8]B7?dN
+:kPP$eCMY'oNt;qU;XfFr*R1@pn%Ki!0J\0\,~>
+endstream
+endobj
+391 0 obj
+<<
+/Length 276
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY4V!&t'F4,j%O>uO#eUNnTU**UTI)F]ki;cod6XN`*0$_<"@`U4o?l-B-H*hL
+oLH[r:"'9c39O'h0qI8LJNG:!mC7)[V[6+-Y0JuIEemJh'LY#(Jg`^^0nCb1j7DfP
+6G>b%72#9L_@TPa^U6j:'"+=.',ok]SoU[,_BJB`_&o?llho`n[sOG"n2td'c-f4D
+c,gWujR?[cF_>3]FP`)JDHn-bQC>h4q\M9Jbi7Kf$AR.H3a!s?r;`F7%VZ1X7'Oqp
+#bM+tVQ;rU~>
+endstream
+endobj
+392 0 obj
+<<
+/Length 349
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^9YtDr"&;GD631)%ROElC5(NIn.:'FQ%>58/5H%k8.\\l;4=%]^d2(nY*8J`Q2
+GBPlr!F)&lfU:EBG5fT=?ErPP$"kd6:AI)M7rh@VEm<5WVim8(DF<`AP$<*iP"SAD
+ZG&N_P`k$`T:`P&<1Gap.`)uU(lJl;N@>eglf/m;,o/?B$bYiR07_':NMO^kMLjVn
+Qc&!_:a'kS*Mjg]6U6.^Z1kF*XeMD+Lch+4eV*]6]%s""4^e6iPB:JkH/!'DrGFQ`
+iA1o9K.uqEYi$`Cnf$k?;mR%7F^qM$a'<I%EjVRlQYQ=^SOJOB%d7q\1Kg"ClX3]5
+Y7YkRcjbC6!:c(emf~>
+endstream
+endobj
+393 0 obj
+<<
+/Length 262
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_$0b/dh'F*J.#*QH7"Ps<h7?Sum9i)KbR-<T3eBpRW1E;CLE!/Z96>\;mW&h.R
+;ne>?V>Ym(7tHAbZ9UFf@h'<:!o:)Q`AGVlYckq^8e$0/;?1(Y-/dm.JN7\__;"X3
+!kh!6T@b"@ACY("9[Ar;'>%(BVMi*A%FT'WpQ5o^hIkj8@W,%3?FNdFjfM,IgEmkR
+qBnf4s6KS)pS7Vk0Gfmml]Nqtb-rD^Y#Wi,l\Tq7pR$]K\t3?,@0`t:!5]dhUA~>
+endstream
+endobj
+394 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$#%CM("Z%BW'LT#i/lOPKhZ1SPeh^:P2#n92\Qhn$>l*CdVIj*0*^D/,
+IA['X"[anj:LAg=U=*!n:DX0=0T\f$r\<(*s2Q8^^S1Z,rs',#"$`1LK0oNh;#ddu
+rHP:$+R1[fl9>o((kl^Z:s<>4&"$g6^d:?K?n,U]:^qc17fC+lI>#*K+8$134[u+T
+UJT2`'K[QC+k.S>o`IND@#%,M4!Zl^;(4,!:Tcr8^]6D)3U6~>
+endstream
+endobj
+395 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+0<%q-&#%CLE"Z%BW'LT#i/lP+[hZ1SPeh^:P2#n92\Qhn$>l*CdVM8@P*^D/,
+IA['X"X(k7=.uFg1mQ857=bIJl;=O1%/0`$0\$,@W;dCF+R4M@R/-fVI\9MeYYkGi
+;#fX>W8lO0s-QbI$H3LPr^!J)@#BL9$O)fJWJ'P(1CU=4=K2>mT`-[eK.(,4n7,:"
+Y+AmL>^uhT]Ji<r~>
+endstream
+endobj
+396 0 obj
+<<
+/Length 344
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_$4\EXX'F4+6;_5RnNj.sRRRGA%#$(n+#[2KRh9nX;3e8lq<\P>HlidT0;M714
+1UASTfLhP/MDlXGj!*ZF$U-R\>Hg9RVjq)7B'_`t\N%hG_sd,`2AN&!Cbn\%&>F8f
+GKDkAeLePL^2L!^@M*>+ndS'Ra<(%IeK&Ib.sFh3ADjCT5-Td,a=$?+=KjAG*,KB.
+TW5od8P(aiP7GXHIZ'!lf6CS?-dG-W@.u17qnp*(9?Xk:iu^^F9XE73iKBQ=MJ\]K
+BYQ7N5BAfaUSFFRERr`OT0pGDZ[^'^06W+2IDHL#].h9/<cP9p3R#$mF'#WRO<Rt3
+FAG+'!1=:^_>~>
+endstream
+endobj
+397 0 obj
+<<
+/Length 162
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+.:bY^"#%BA%"Z%BW'LT#i/i,j;hZ1SPeh^:P2#n92\Qhn$>l*CdAqjRe*^D/,
+IA['X"X(k7=.uFg1mQ857=g#@_>XH;"$8RBO$WdFrr^LFs#8I-s8RY"#h)$\0jpa]
+g0M(Z@I](&?Fa<(\H9;A!s$RQ=]>~>
+endstream
+endobj
+398 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<\R?(!b,XA"Z%BW'LT#i/gC`H+3ZUj1K;^Y!#!Da>Y^kqqV_cN(0p\W5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(Bk!I#(@Eg%n-F.fFLadnfEs$\Qh;.!kA:5!6HOpq#~>
+endstream
+endobj
+399 0 obj
+<<
+/Length 333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!]h64.&-1WK;?WkRDifAJ:#[0R]>0th.0QcS&%**N'Wr"RE%dN(P<;1S'M$06
++,`"<Hn:bTSXinbY&qkVen\>o]&sFXZ!N-,aiid7jj)'=H$[G(MoDHl='474/M&gS
+>?>7\hRUsnY8;#Y*<7qW+o1R83RJ*Qq2T,lOIDWKfr/DY%\t/jK:/`\VOhgn_c[I^
+3Li7$#;]@+4=K1)WDgi,*R*C6^&8K,c^Eqk^.Q?B?@=me`8(j]ek?CGY)L$CR@=ZY
+<r\9#Ncr_tM3S2<rX^RbYho6?XfoF[M5@t$/16J?!e5AO[moKcnjMJ3M\#SE!;d=:W;~>
+endstream
+endobj
+400 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z="mH)#%CLU"Z%BW'LT#i/e^l#hZ1SPeh^:P2#n92\Qhn$>l*Cd-C.p5*^D/,
+IA['X"[anj:LAg=U=*!n:DX0="pXf$s8SilrtshsK0Vg&8>H16';U(BWW0K-&(mfc
+.+A8'eGu9[^skS<0_L&1(]j@1%krU0K7O&oic=_Q$KM6s!'72h`r~>
+endstream
+endobj
+401 0 obj
+<<
+/Length 319
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`Bbt>l=&-q\RKeCRq^-Ulb1l6oS:P#NR%YC;K!:!G.U?BI!%q8lpi1[=dkR4c,
+4bOhg@m/m_ZS6lX_sUs!h2=:IA1P3dpmdp"I)@4q5.'_T/>CTiipd0g)$W`+@LR-c
+$\QFs'h&sMGP&WGGfK*=!)f+_Ji=qW^/^l&rZo&JXA0c3P-\uAQG08kqUM:a7&9Qo
+J`tIZ(f6VVn!pCgr,"saTk/VdUKXooSMF-HF/O9"R_('E0VU>[oi.dB&afPAJGc1L
+f2k+.7q<b2M<,c3;ZDp7nn00VNCq.iMLW,;qhP$bRg^D.G6"3U_,1~>
+endstream
+endobj
+402 0 obj
+<<
+/Length 306
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!0i#Y@&-^F;;HRu",K(CK,V67b+tXq"!XU=d!*`?OG&(>\+EF:uAWMp.7?l-:
+PCcA75E.5mOo3+VYPaDV\G"n(^X`%qL77:?)0_FT^SppRICK+)Q7kGO[X@!\>OJ,$
+4V-qT5CT16[_;9#?N?33C0$6<,!-DK*AHZX!FSqii&_a)1@6`Oh%KYCfSFsL4ZdX;
+g+aDA9KSFD%T`.P,R5iF6'?kc]HG>48m[V??u9_u^<iIB3#M%MMc6LD8H_%j>jXJQ
+?\DkJkY`^o>cMIWW=6++'`qT$f_a5`gV3ahmC./?~>
+endstream
+endobj
+403 0 obj
+<<
+/Length 321
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^:4`5m;&;<CaQDWUHbQVf*$L8>H5>imR,ukG:UeG4?Y$'Y@UMp?.$KUa&/@,LW
+b(/D;o*0A_Dmq#.=Q0)_9nh^I^IgJ:.?I>8YhG=:F19I;fJSb?TID"5E>%?E[lp%=
+2m7Hd?b`9p+;*:cp_]c.f[jEP][=g;4eZT/E_=7ZK.C,>,N;2,pt<qrm!J3<'u*NA
+JOu5JM-*^e.BaHip7?+S6eSp>XI&QHgW\6mmM@+ooY26odlIEcEpiFH$P)0Oo3pc0
+I`9.48c286YKeU1e'rTd6$(GD1cN\,'aL-qF4T.F5(I,Fn*h.o^L<*\~>
+endstream
+endobj
+404 0 obj
+<<
+/Length 222
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$#%CLe"Z%BW'LT#i/lN>=!5pbG1K;^Y!#!Da>Y^kqqV_dY`a&?]5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(Bk!c@/p6K6o!1Y./EoC)!q8E!/`\as8TnDVZ&<%WW*A<
+$A_!t!IG(uO%_^p8"nSWUej`N[/k"oe.E,1%YQn;!'cPHHGpq!!N!R]LCWtf(^^5Y
+Z!rb[EOgC9"`aVJ!%\[P'E~>
+endstream
+endobj
+405 0 obj
+<<
+/Length 315
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wka]l(\@&--+5%$>Gt,PYRF6:b\-85LQe+OR/!cn]bE_/-kP?R]2d,?8*DCltZD
+[Gsp1ciL*engWao]<h/MVc_l%L0C@DiH#KUd"N!*;;Ye:ao.b04MAP)K'X(l!SQ1&
+6+5Du0o)jai:1d?6$87*O-5<N#qHFHo223/^`$ruZq[94'ID.BU:)%FX"39rjo&4c
+jY=[N>`[o+gQ_$e5/K(\Z-T*01bSbHWnF8.Ie(3R%aY%;9nrK?HhjGHV7C#[@F)]b
++4ZeJkM:h^Zg+<4elkP4oW>Go?UKb$/IJ72Yc?U^^'=Z(2Jqj~>
+endstream
+endobj
+406 0 obj
+<<
+/Length 330
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um'_+MX"&-h&q!Z'p]8'&>n[[";Q^oCcQJt@>ih4k3DcY;X%Fm4eup&te0H3bO(
+\u^f\i+'hRR6P7X)3o;h9gqWR6*E;_A!)nVWhT&6Q_*^;L>*WqB.>Z1n"ka&p@3lX
+9^;r[r:nuSI7l[AroOg0JK(i2@U_)\bAB1b*mGCD11QD54``H,k/F^OI&%E:o7u;K
+7Q@Kb022usY;i4O'TgQOUms]m)8L7q0Y@D,-,IbBE6"!9A1@1`UN7bnei?T1'S[?H
+RWG?5Z2`K)-ee5LqM`g7'$7L+Os+#Ri%>F6hDV&<G(^;dNT0V,GZWo=rX8eZmcL/~>
+endstream
+endobj
+407 0 obj
+<<
+/Length 198
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;_V$%#%BA5"Z&N"'LT#i/lPCchZ1SPeh^:P2#n92\Qhn$>l*CdVNtK`*^D/,
+IA['X"X)pkX&)\nR`aaVU2YV`%-fQ\rr3Gus+#4irr_up&(EQ9#LO(K)o;.Wqdq84
+%]986d/@AK+$j'O9`LG,7/r%hs$pc3\j7B(1[p%<+2HN=`2'qK4h1X)!!<5Vc@\7~>
+endstream
+endobj
+408 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\]+)VB$jL*0'Tq0]KQmO=$_?K*"d$4q#q?,Z8dZ-ZA-5k!@Zdl\aqW5@4/%4g
+Rc<bag%s$Kc%KQKBUFr#P=]JTi"8[-`E4YD.$:*+gB/3,UCEUoUP6'/.TTK2LL&@(
+FP3F[&HLl#i.(&8A8Zq.]J@)b0Df[+It.-o#%B3>T/s5Tj]#Z,/[hZi)Tan;6sA84
+c2DOO,(%NE[HuJ?K3Y)#JUSaC!$0;m?3aQc`js&G^'4QXKUkX~>
+endstream
+endobj
+409 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V0.0i#V?'ZP,_*?r0C8+;_0+\c,k[R^QI1*FEO!EqsI,+-i=Yu`DakV\6DJTT'H
+jl>#[MHsf80CgL6IriM+cM95.F3Q&p<CUaZ1HCu2R<*hBaX3YA)_FZS?eERNI?9<6
+`R?DOPa7C.nc&>VjW,kJJ6GD)[RpXmd[dB<CaqDgmMGZtpF$g:O%e-<Vqf</E3O3b
+lU96oZ+M;>f"uJ0ZsmgQ#.mDaGcG)+Vn`YSkhD/LL!=b6HX@*7"t$R22H0q$S[4/i
+k$U9UH(ImnllqcTW+m^0.<MmYo:gFFO*aF;X`\;UN9`7`^8,E<)ZUfWWq-~>
+endstream
+endobj
+410 0 obj
+<<
+/Length 416
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V02YtDr"&-h&%-Q[)4>.`T,cs3;9%LrQ<Jggi)HiUR]:pdnF=Bq7qMHJpsm^O(S
+FX`W8ZSRNt`kZ3$b\Zl`B7?^j3n#IET$R$tVOpc^.e=X<pj'$KdhI0(H@1ju;C2o8
+cXh-L/X\0Y/p/Y-nlEN?I6>^D8dc4s-%tN:pn(S$0F.h)VLnm($@kSX.g+-9#`/dI
+4GT2V=aBEu<QM%FmRF9ei^PZW&W`j./nWZXLW+p,AR`"?<(+?SQkQ^)#R7*t/;X6s
+r">Aa7'n<%*`G(.`Nb2[4%r)EN8oB*(/lpqa/ri=gbIEbM4(B`JDZA+@`s]bX/Egb
+`%H576QQu0MV'"3WfRGi;\:V<kMYblTV%$)j>eq<,<mRN&0^,QV.+o5qAO@5CWgh)
+gi&;+V7`-Z!rte0'm]~>
+endstream
+endobj
+411 0 obj
+<<
+/Length 377
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!4&3^J&-h'L;FGOkNaQ2onlQLO=^"'7"VOcS!%99]:ab(Bm$/auM/-Y0(C6Q>
+/&U!q'Vo\33>m,%J!paDR[R8uDOT9A<U*RA)qpWe>G"pX[%tb&MqYV>GVIB3'fYbV
+(#->n;lQM)2=GH*c`4Z64b32*H7_I8#V"bpdF*hL:9-aPBg3bf+<AuP8Pf#S\0DeT
+gli!ak3Sgp]j5GnYb'CJ$Vn5?i1/,0G)3a%.#q/sm%OmS`HXL&ctmY#437:J?^ZbM
+e;7N=q[)VGW$20'@f*+5gq\-h^e(;()Z7O069+<KUI+m=&VZ>!4@Vc[a/Eqh6TCcj
+n+[)^SE0s)1Di.gCqPT4.J/-UZ_KN-CXmR.ma^b+*dN7I~>
+endstream
+endobj
+412 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-JYt>*a&-h&!<s5B\bB2DRd(:$uUcXA>?4kQ,#;DGZ#42J9>tSHQ@$0&3n-.,*
+MW6&`m-T\':LGo`h_=ErXIG^7=HmmH?(.&?(NqUY\W6C#Re%NdnX11>B+N#,34m.e
+Zc1acZ(.(Po=BBtipte7;'d7:DtK9O#`V:<.Bk<(%M]2e;2=ck5#;\@a<&kYB\Neu
+G9\rXfo\h/kS8=Z3=,RQV5Oc9p!g2mil_F4a,!M%V!^AW[Z,P+5\`?1I(6'I",&R$
+6oCX/#OEcME#*C073hn.6p(AYM#V4GP!?cA-/\<.!3274('~>
+endstream
+endobj
+413 0 obj
+<<
+/Length 121
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A77R<7!KX<WF="$\]9^Y!Oa.';-aMgebgbcO_?.,a3;[S34@S_\ESS\F_q7
+Ea8H9!R;$;b0sFcUo6,8bL8n2JJeObrso8=F"N`Z-W_E,?iVfRBQ4~>
+endstream
+endobj
+414 0 obj
+<<
+/Length 123
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'<7!KX<\Q@10XFSH1#shF1,K#h)CS]+.N%H%-%TTI/shbLQ[ZGrTa@("
+#>gFRh^Q?D!D%M4.[1X4VK-sn-nm>Bi;^\^!Q&*bjm'r&a9<C\Mn,Rr~>
+endstream
+endobj
+415 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH7Z"h01&-cO#%#/!Y#eh*gCa\M<i$8jEKm)_`U_tta,`qEkBSO6W*l6Md#[`((
+0r9jT4sBmF$+X]OGf``=43+MdO.+@I]u"k!?I!=si,GEfV=GWa<:1>qft;2>L\?ET
+T@Y<q>Ljs!N6Hfc]r2,AL$Bf._I>q"m5Rb=q.#b+P#7AZ&+j"N+A;Pnh/i_G(P[>&
+j&a?/-DqTtr+G`X:<+I:3_D'AhpCu_.h22f0Z`g8ch+9c.d^DcU[J3`UN+<_~>
+endstream
+endobj
+416 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+3srhi&-h(2'S/RB#WijL\1uBO_$?>od)lHhV1kXd'FV+0UZ;\0;ojo]NF9P"
+E/UpP@;#Sm=Q9BKltMEu3#^dO_\&VF/dF@n0^NSS$/5PU&dUB4`=OSr"MnV+71DPg
+`:N6!LLc/#YoMrMde^?!T<+oPQTM0k0,7DY;4#BZm"m1K7-9HM(";GJ?>D"ueZeqU
+XS%(IdAP[.Ss?@##1r!WD*l?i[@(<t[NV9BURncLH5)+UA<-UuT,HbtXPl#:/&<Hi~>
+endstream
+endobj
+417 0 obj
+<<
+/Length 243
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk_0abcO'F*KQ6fBU[6Jhr'N<qQ[We)5oSNME`3[d%ui8D"hPSPoK[gj_!0+-_*
+ODi44]_o#@-Z"%'fhC(6hJ507Z0\seK[!Ul-L?bWjeT>$/?,I6UpBZP25tuBQh0l8
+q4-CF!,W8L'ggi5"ti<'5!k)Y6;Y%o-Pbo"<?\@25Zu2,&$ccEa3PH\9Qk-8$M%C#
+`n0D].Fe0.:LCC.L:GE@(\o_[J/\KqaD"#F!<B#-X*t~>
+endstream
+endobj
+418 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y")3srhi&:i^K!<Z8f)sCNlP9ga@'V^1."Kae:>$<=X7hIjbn0C"\aqS:)fo9CT
+;R#tS).rXgM*;,'O;O!3%WEfS#[tY=+6*obU#[6#4[>0^\%sa"Do!snP1:6mGj,je
+Vop.0)%r(;)%p:W`nIBjU!Qi7`thg5^!W%OWN`@FFAM!:qmretkc;Rf2eLcZ>P]as
+nGT9X3H*S-E0%.WD-Y/Q[7d>bb+XF%h!#t%b#Oc[`L'X@?bnjY27s+n;lCk(~>
+endstream
+endobj
+419 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH64UT%k&-^u_MSM&/_Ti<Afd(%;i")2Ad)lHhV1kZ:`g[.E8A%72/OH&(0r/hm
+5+!ACpTg/r:3`j#ST1P&W9HY5PX!Js_T>3h:,nbXSl<#ZF@sqa<YWff$e?$R)noVH
+-d%d7Fp+K3$rAi*i3raJqN0Y:Vbj*'Ci*#%8hd)1h,3gC!^5CjS0*oE^D$cN.!q2S
+I;+t"[mmqc`eAB?$/hU.?BC%?8?i/6T'Cd#<DGW%%fiTMT`+~>
+endstream
+endobj
+420 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"!b,XQ"Z$gG'LT#i/n5IM!5pbC1K;^Y!#!Da>Y^kqqV_e$7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnh+5$Vnhn]6k+8b$s5NEd`J$<S\s1jZRs+*3Rrl=NC
+!JLJ/!b!krs!J%-0JL9s\RnYG"+BdU!U("1k&U.U$KM6s!1*c&#Q~>
+endstream
+endobj
+421 0 obj
+<<
+/Length 326
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WRm4\ipL&;=ttYiI-$LcGIrLHlem!JqL]:iQK.6imM!=`L_59mhW@GpOu%2dWaU
+Jqc8\CsBV<1JWGZ)V;O;Y&XEFlW\Sjg1SUBiAtg]GLT6J]R.#ddFPc@g%pjl>Hb3U
+*4PI\]tV-Bf^[aJcNfQUU4AorPK.u5#Tb=\i)@2Q)(QD*bS;rg%p2aoi;Gmq<UCdE
+NG[qXc,HK9B2'+Mi&$7H@;KLCI/`.'P<O%!7]!+YG"G:TO%&.A=ltMPALJ,B<+Efa
+/cU@=#q)*'_]LFM<g4Q6%_mjr)]NAO<6?`/BXouI,pc,;?nXurA%r3JG`s3A~>
+endstream
+endobj
+422 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&#%A6="Z'YB'LT#i/e^#`hZ1SPeh^:P2#n92\Qhn$>l*Cd->$NZ*^D/,
+IA['X"[anj:LAg=U=*!n:D\_7bl<6E!JC:N-NAV<Irln70nRIg%/)sWi=C2Vg&?aK
+8BUsBs8S/%*iSEI;a#qIW;k0L,l])[7O4.BE05XcNauO*DdZsB-FmAE\H9;A!s%oh&W?~>
+endstream
+endobj
+423 0 obj
+<<
+/Length 157
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W;_V$%#%Afe"Z%BW'LT#i/gCH%&-R$5oaDRW%=gie/shbLQ[ZGrOTCf_#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm`5fr;Rl*+S:4&JKQ.%.:U(Wk5PlEoRlu>+(gT?NR/ce
+rsT>6&B*\qaVDl#(]\/@OI-~>
+endstream
+endobj
+424 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY_m2-&!\Zr@#L1F%Sf6`ra.,86`SJV&TLK!'s%,tM(_:a%icbK5r@5?u%G
+KM12).*8=S']?%mUca&?8r?5>\NF.3rr6p:s,RbFr\,H+6j+o,'PR:!^]6h')#jPJ
+!/V*q3r$GjjI5p7L3c<C@V2QKDtqB0r.k=2&,QkGp&CEZF1HU;"`aVJ!'[[2!W~>
+endstream
+endobj
+425 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+YmS?5$inZ(%YZJ4KZam>>?f(K:_gW/d)f9a7gDKGG4W0mr^]8I@gBPj8XH0`
+#PT@O,`kZ2'[kXjA4"b4NY,SOM/=5Q3$(LF$n[5jAf?:B,r#TSqh.8DR8\ci?IS:f
+5G;DFEEdeJa$tH7k.^uY?^<>-9-r_p<5-;+kd*a`:!2$I>KP*e=GXcgJI'2ZYidX;
+=f7BBNG%p/HfLMhLM]=.3ch`'fr@uU[GTHn5HGm;LgP\tMbB%6r!WR@1DRh~>
+endstream
+endobj
+426 0 obj
+<<
+/Length 136
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W;_V$%#%Aej"Z'YB'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H#?[Ig-bd_>O<DoDa;m)uX4CcbR=+6!URa>_-.1!<DJMKe`~>
+endstream
+endobj
+427 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-JYmS?5$jPW0-QZg_,;_'HD/&O[K;r;a5pma>*?>ibgWe,I&pt>L^p1ds0gu8^
+2\7U^pCe0q*DoG>PV&h)Bp7KsD'h:1@Qr"LONP&h@9I$E,+E!rP85M,@S@E73?8X.
+/QNMl-7EJfB3K6q@_oa;+$L=-I<5jO>8%6_@ElOTJrWuRkgr,4%_\=IE?gP[FU.^"
+[J(W/A`WmLeba(]dt#/aq?9VE>iKf)lcet^~>
+endstream
+endobj
+428 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&#%A6="VUul'LT#i/e^#`hZ1SPeh^:P2#n92\Qhn$>l*Cd->$NZ*^D/,
+IA['X"[anj:LAg=U=*!n:D\_7m/Iq&s(>a>_-dd!+9%?,P3mbos8QJns2Y-=&"EM^
+k5YJ6l9Q[grI79Zq&`![J4W3UP'M#/J&%(T?smn\?q)KR>WoV!\Gu^3++^$8~>
+endstream
+endobj
+429 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O0abc_&-^FG'S0t=KZjUAZXKs<;8FgeXZV,;=t&)OHF"S;7nC0ZaEOp*67Njt
+`==]qf.K)DSEGWDcIVL<d#Dk]A'%BX0[^V0="56T,MS1L<a)<BrJD%u\)YO-Gp0Y/
+5QU@("kkF1hGT0W@S"krI0s?V!e&c/8R#\\"-!iq?8=^60WnCT17A)X%YSWVGectF
+[$PIF+<g&hgnosZ:*g1<ToGfLI0K\9PFNi~>
+endstream
+endobj
+430 0 obj
+<<
+/Length 255
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn4V!'/&-_!G/P)bt#g<GdQ9_8#">u=Y6n8e@Q51C@0sU4O*/,V6;NMoST1"=&
+Z2':OP*m+:$o#VV8hc]B'];9n)5<MI!944"WG5(LItBKZItpl0re`f,e'/jIpt6Rh
+QeN+X"WH&b+sBUAZ]E6R@=*u,NR1.XiRD=nmURlC,3NpLe=GINarO\J^\`G]p[_mg
+LK.BaYhqHWf#AkCHaQL94tFkng`'BXX[N2qZ!)j#7`$p5/\D8fKr=k@~>
+endstream
+endobj
+431 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn4UT%k&-_!W/VGRs&Y'5B&s>L0KrAAd5q<J=Q55@drXeR(5msk.n,fjf&U[=d
+$UH9TQESq"bWOKiM]H]g5.gA:T%gUrf99R"4eJ:R?%h3R8O5o0P[0?oTk%[<iuZrc
+L*PQV[gNQ?$n0n]9Q`!RZ8]](Xq@=HMicP1O,t5MF^_/02N_c#V/c7k6fYENY/9XV
+DQ@YT-KXp#O-o05:['FQ^f^b0SA][(&6%*k+#SmOmf0&-X\c"n]/0e-6I,Z4r1=+g~>
+endstream
+endobj
+432 0 obj
+<<
+/Length 174
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[;_V$%!b,YL"VUul'LT#i/n76khZ1SPdPFkL2#n92\Qhn$>l*Cd`eIap*^D/,
+IA['X"X(k7=.uFg1mQ857H#?c%s\BQ#ODlcmEH(+Ef<68lkoc,eM7&5!TAMnr1Ed,
+_uK?.)#sVk@qOHR5="fX(`;5!bLMe,O:*`BJJ3)j~>
+endstream
+endobj
+433 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SnC0l"Tk&-^Dm.MdbhN\GO*6sdt<>V4S76q+noHiQ6>MM.dk+bc!9X!m`e3eBs=
+@_]s!(N3^\04sK^SS>3e?L(5H?MC&+\6;uods7e_PIJiWmZWtHQWpR->eX@[j`8%4
+cXl^N5Ms3tgq5&HE/N^e%%[#-j<(.e1!-%J,)T$Tj<c[)eH,s`%i!BQ6VeR(,)ep,
+U_F._.Y-@acBc*+M?JdJ.In`"RGB)]J_IAWY`FHXKO2Ht%<)"s!+lmZ4o~>
+endstream
+endobj
+434 0 obj
+<<
+/Length 191
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A76';U@:#0X=Y32,d%#j=94G1'\.).%$GR)!Mn>ja]a>/shbLQ[ZGrOZAcB
+#>g:Nh^Q?D_2q=IdoW6=W&0d_dm`6qj8].aikoH>)2ah*p`C(I!TG1dr.'@7ScO`K
+605&$jU'oG+O'W,*fM';f`+2*VuH^K$D?DrJHi@YkAp7V$KM6s!6#PV)u~>
+endstream
+endobj
+435 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&<mW^'0X4S20i1Cqj=94G0`qb$.$ti$)!`%@ja]a>/shbLQ[ZGrM&DYo
+#>g:Nh^Q?D!D%M4.[1X4VK-sn./[TSs.AgG"7uNs<:U:cs$)JBs"OKQa7paNArr,S
+0M%ius22o"N$)[r)?0YSr;VnQrr7QLO+I:U@,DG>Ik\qGao;eBN;pFn4h1X)!!<5:8ZQY~>
+endstream
+endobj
+436 0 obj
+<<
+/Length 240
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTr0b/e#&;B'h'I;.HKUiK!+D[\d$#1Z<M,kZ_/M/e_6YGYKke%,>$XgFIfl8]s
+2)\h3?Lb'&L,d%9KPHJ9'_`305fGj?W;%6"r%Yf.U_s;><&"MK^*#tu1Q3Ht<d6W3
+&!5%5#[%Q2X*1ERe@7p7=-!dUPAsc_Q(<L8>EDE;bIkrD'?sR7VTrAZXo=O7ri<Nu
+*`i$T)Y\,l36krH/WtV,gfi+?D&*m)Cu@)LVF88q~>
+endstream
+endobj
+437 0 obj
+<<
+/Length 316
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTtYt>-R&:i_mL^PZe8'(H*\ee-DJe0mVgd3tN+$_C]'a;5)@:?^M[!9R(`i:\R
+1.B8DaVGpUo.fi<@gpT>#S&\Y3Qt:W:<P#!1`^4J9]])LUN-/R(ThLk^hDD+;Nf:6
+Gm:X_=7GeYH8"#o@-j-JaK#8dNkIbkK>>lDmp];8.*u2r_F,mOabD"cD@ei))M^OY
+fe,?ePMa@9OXg5W-AUSo#E`irK26[V8:&ggU<BRN=K=WIJUBh*c]5tM4$JgieCbl*
+Mp2!F16J;e+cBm=/]UsuA$!.fa&Li%;H`jUPS^I7QG3M%[Q*H#~>
+endstream
+endobj
+438 0 obj
+<<
+/Length 283
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$c5t]*M&-h&A>m+bJDd_`0g'7FB=+R9$>mS#f#>ga>'O@W0i3b%@V!eM-Qc6l"
+RCIO(Ht4)VcO=I7Mq:%\b/q1VG^ed`V0-^Q5PB-I/,)iP*kC%HYi>(S>MQ?!0>qoj
+hT5$+gEVcG6I[R9m^o6U#b[P*0Hmo?bQ4(uNkc8?JCORcbuW*W>MZhcos\h_8r#6t
+3!FA``U[@7/`!rd3qK+k:g:eFAHoI$0\J,,,#X9MQJjLQ!dI5dLg%:7Dinh2apq:=
+amI8Q,N&%K!542hAc~>
+endstream
+endobj
+439 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt]l(\@&-m/E)'[nR,PYT<KTI=m'FC^+"sc8&!SWPB<:(Zm(jRF'%(o%@6eAPf
+Y]AN%c%d/6PNA"sJ!WiKKO]CdAsc7GT&F;b4%Nh0*T:Odj'a3%p1"L%%)R3^@L-%?
+K5eP-?j'oH`h2_W0?BHXPcg8=CHSn[XA?5W;BQbo;!j+XlGc!;BkqV>F)LTh1,[R]
+/%3n#<\q7."pJdp95Epe3^&Mb8DUgPT0;A`QIL3KH$.u6L%EaaaQJU0p>AoUB;=hh
+Y9t:;_72_4ET*@OJS<i'n=%0449bd_L*0+~>
+endstream
+endobj
+440 0 obj
+<<
+/Length 247
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SnC3srhi'SYKX$fO!HJp.<ca(Sm-p]+4u>.FX@Zr"-$/5<?f)\G#jEf,t=RD`Pu
+R)dOD8YV&R>^!,jVPdCr@]bA`DR4>_UP'U?ZH+=UW3m7VGU;lh\("C:I&m"rj"1!u
+94NqH(kO^aP\>C<T^Ljpi<OV$MF\WD%DI5M3@@7R,6eG(+'&X^:pi]E'j0"hUMt@C
+<P,-)7p('">6aSjntE'E33Wgt$@\0J^\gUQ\a8E:!2W)KF8~>
+endstream
+endobj
+441 0 obj
+<<
+/Length 113
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A4D>,@^lj'*TUZKbQnW67sAo/>usLB;f3KUh?ZgSBL$Tae^'h<5k^&TjYg8
+mhF]]@*#25l)RWY<1:tkl(Yrn!rNUmbLMe,O:*`B-H$H8~>
+endstream
+endobj
+442 0 obj
+<<
+/Length 112
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW/<%n;=,@^mM+DIj;@`VQjASD,V<%uZT<%p)UZW'K@j`9qQdLQS_imRQt0]LN)
+$?0$"jO3ep<@B:G:$(qf;.)WhHXo%$X!^sk(LR7%D\.F~>
+endstream
+endobj
+443 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+14 0 obj
+<<
+/Name /T10
+/Type /Font
+/Subtype /Type3
+/Resources 443 0 R
+/FontBBox [0 -19 52 64]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 98
+/LastChar 121
+/Encoding 444 0 R
+/CharProcs 445 0 R
+/Widths [51 0 51 40 28 0 0 0 0 0 26 0 0 45 0 0
+0 0 35 0 0 0 48 48 ]
+>>
+endobj
+444 0 obj
+<<
+/Type /Encoding
+/Differences [98/b 100/d /e /f 108/l 111/o 116/t 120/x /y ]
+>>
+endobj
+445 0 obj
+<<
+/b 446 0 R
+/d 447 0 R
+/e 448 0 R
+/f 449 0 R
+/l 450 0 R
+/o 451 0 R
+/t 452 0 R
+/x 453 0 R
+/y 454 0 R
+>>
+endobj
+446 0 obj
+<<
+/Length 296
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`@9kqO1'F4+uKRpW&#kKZFj4Gci)R'Q\+k2b^cn;qDWU!.?!ICS-09RPjRDn+A
+2jlQ<5rZQt]Jo:pApD0#IP<l?4FcFeTf:,lni5TRcASriQuI;HAO5"@o-n5i#uS-Y
+IUYZIZ/q&@dgHm@7caX"agHqjs2@-bcG;ZidI`a,!dn0C-*L9XiJ6-&pr&_g#c-sB
+?n;&F#h^NXd@XFg7@U7D[F^_Q%_CBN2NccipT(CBldJTDc6H&1V0H\tho,rtdP<B'
+[k**X:FeSNdiI%q[:rpnN\1D6M52Vg~>
+endstream
+endobj
+447 0 obj
+<<
+/Length 295
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V00YtDr"&-h&%.0@u"DfG:LGB#?/)nA&H'S9@LJ6E:0>4;<"q^?`C/Q42<ru3r=
+8[eDO)4:5D>0#7Mn^_^G\@^^$8"\;<.&,L9[r^baQZq-o<'PHQ;LOTAebdAh40"&@
+rr2b>UZ':GQRabZs%61eV0:\%FL1DFZsPWB#YbVH2+B6uT5M?$4rZ/i8EH[9hp4"O
+;sL%QK5M11-g1aZ3_:n+P@1nB/hfl9J'3!+dd"\gFugT8!2n<^O_(nU0@@qL&Y(Z3
+q9&>-V%4E$"Hu8^\f9jirWW@N:a3.~>
+endstream
+endobj
+448 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%k&-_!G'Z)[e6KS?<`;HtM;8Eru<ZXLX/JP<GWOu9IMo6R1g`kf>M:#L/
+^4eN4c:f3s^^3e(Ne_ZaksA7iI2pQnR>"NP%VNq)o(O-#jKGCJI^WO$8:J;3g\$#i
+I*"Y8!M,YZegl<ke.TlW&rhVjBf?XX*p]PC)t-E_TS;Z$@:2Ti;BM,(T^X&B8>h/B
+=+[F45>rLXOD_7NY,=sGL\0n;^p.'TmU'1$K2t#"kWJpHoqDQ~>
+endstream
+endobj
+449 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`@YmS?%&-h&`LVbWkK\d)M)\(e-W![,JFRfI^d6Z11#(3[<8pu>P*D4YR;61$@
+mXtPSjgagh;k03e!iH)1*6o\:af18`&]\<pfUj:QOR,e_860=+8\UUf$$)$WbO#RU
+JOEI-#1A&[GT*#AgH&rd.UrWZfr=F@e_4>lF[2!_qUdh2T8bZ!=>L`lqS'7Rjc"VR
+cHN20(-\"II'W2[rb]6K@Q(H^Y`uAGf)T<96)4~>
+endstream
+endobj
+450 0 obj
+<<
+/Length 189
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<k4UT%k&-^u,MhPk-Jo^tKT7g;R;8FgeXZV-2Zr"+f8)'g"#aQ5Lj&<"0mgVBc
+1U1E8"VMVV'mpL5V-'JhD_:+&B--5XTfS;tE\,=L0p/O2.h:XgNpjGI6YXdh=ZRf'
+B.tNZ,@uD1dXtQV0Mu.1<B=53)4jG.U?HfI,H\4YN297C"+:@RFc_UG~>
+endstream
+endobj
+451 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V_T4V!'/&;;8A,h$]8joUDWYVkquOhsL:&"o4()QhD30t[f_TVN\mhk5g*mO$i:
+baZ_e9i<!GWe4E;M'fJK@Q=hR&T9GUF;Rq$p*Z8>'(+<rd>F)TZcuaCA8AkbDF_ea
+$<.%N*1(>j11t$!:Os-Q#e\M^p&H2:Dh4`\2?FE=Ts5g1*&<gC(AX#8A)8FMg\Ho4
+gS5"_,NHf,oTs^I0gl&K61_HLIY(WK4mcJ9*M,8[iG_"2/''K0Xh4l=/t^3X~>
+endstream
+endobj
+452 0 obj
+<<
+/Length 228
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um&4V!'/&-ZI#Kul1,5ir-Zr!:_fJss3'M,kZ_/M/e_'2RPSXLuOk07_joKQ4eE
+K]7?tHd.IXoJ+<^JC+M["SVqe+AB<;0qMi8%X@$d*?e?([MU>6Q99`>eh[_"W"iXa
+f)qs3;OPuU;kou%dal=IYoZc]%+C4]*NSIHDj@^rQ`7N$7EoU(UqI:Qg%Jlnd^^Zr
+NC)Ki94mBbjlFZf==Dh;G6%Yr]Xe~>
+endstream
+endobj
+453 0 obj
+<<
+/Length 289
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTs^IlF0&-hV5.0@u^)e<8?P=5R$#_>pj'S9@L^hIM&LUM*%/:F@[.t!?O"t@"e
+q4*kZ38K'KQ=[h!dfn@iAN-2VcM56)R[T[fb1.S\5-!^H4jgR1lCOK6WbZmSC3b0B
+SuV45T/SEae6VY3>hcma0,QL`!_>>+&t"=PbW.j1ACq71n?2CC0LDbWf@Dnlb-6D9
+BLo'3#rN'"qBb#HAc!R`HXkf7k#XB'U(o-_AM1Ab9^SdSOL1j(=(9gIGdD5NI?Mt<
+FMYL!?1AH:lKF7W"ouBNefX~>
+endstream
+endobj
+454 0 obj
+<<
+/Length 316
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<l5AJ(i'F&Lo%tV4"3Iu:'eogsW!hk>oKmG/S;\"n"m*O1^;7;FtP+b7Gd?4ks
+Rg7tTl$Y9G#kSdVdO2`U`&tVNT1mLS@"qUd8a)AnddN3%nKIEk2m5GZSl*.@k9te!
+22^R8$^4DW]peDnh3P@C@AS(B,#?md\I,iIb]V!$-u]\blus?W;PEfo$^R1_Y-,!J
+nYhb[kKn5N8&=>Z_F?cuqc%eQIV2]K>[cS$oS#'5U"?,uDU;\S'\G%dJ\)CEi")?o
+$#?6m*<"s^<K^?,aU/O]8.LcP,O>+L'_kadT?qXKn+8gEP'pNu~>
+endstream
+endobj
+455 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+15 0 obj
+<<
+/Name /T11
+/Type /Font
+/Subtype /Type3
+/Resources 455 0 R
+/FontBBox [2 -1 74 63]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 46
+/LastChar 116
+/Encoding 456 0 R
+/CharProcs 457 0 R
+/Widths [29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 79 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 51 58 46 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 43 41 41 ]
+>>
+endobj
+456 0 obj
+<<
+/Type /Encoding
+/Differences [46/. 65/A 97/a /b /c 114/r /s /t ]
+>>
+endobj
+457 0 obj
+<<
+/. 458 0 R
+/A 459 0 R
+/a 460 0 R
+/b 461 0 R
+/c 462 0 R
+/r 463 0 R
+/s 464 0 R
+/t 465 0 R
+>>
+endobj
+458 0 obj
+<<
+/Length 128
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-<%q-&#@\oF"[`rW'LT#i/g,!2KL![bcVQpZ!(\BuE]JDcl%]?E\b&&#Uf2fM
+Jg$JpVlrEY;/%MHVi/CsqZlZsp`%j'Qk?QRr;cj"q%*1(Y+AmL>^uhT](6_$~>
+endstream
+endobj
+459 0 obj
+<<
+/Length 335
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P5t]'L'S,-N>nl.m7qaNJD6[2T<>ZJ;6I:u&:mWdKB:TNRZ-H'aKIjG8M(e=?
+L(Z&)ddi*Tp?-R&=j%TLY*HITo"BT-k\:tggpYgo]W1Mlp'J>3W`Rm(:d*egW-6L2
+Z@Qb8P!@k$%iF_G^m0V!S`)LVS61I[.Y/31)RLn+9VPY,.!!>tN(hHPq3\t\,IdMY
+@^on,6s",X78T`G0/*g`c\Y+oL.5"6%Mq+EKV67^n;II$&s"1]^c[Xs*OU3EC\&oY
+KNQ*WEE"ER`[Roi3fhag"XmOfiX,HL)+t(@SsH&5"!OR?C)&H:s-ilkn1_Wcr!i_V<LLu~>
+endstream
+endobj
+460 0 obj
+<<
+/Length 284
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH7Yt>-R&-h&WS.HNjHNSIu5kj:+EM[V(\:pU+4b-^>-sH'T5$/jPO0I^]bDq'm
+@Nh,uKB/ZK0\`6>D=fsSG,+H$4pQ@sG/m*Z)f72/1\1/fqbHF/[QCJW(eMDj\CMdF
+GHW+WT.eXKW(jcWZNtKX!&0mVDj-Y.N8@Ca\?`WQj=L.D>5`Sc5I-GI5.acsSte"J
+d'5Q@(HA9JWr*\3DkC/.`6r:#B5t<Tf2QK_WTUA!gD>203Ishj:,rS>"1LVC_-E3n
+M+a>nG4I'=!rrWOSLa~>
+endstream
+endobj
+461 0 obj
+<<
+/Length 263
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y",YmS?%&-h'V%#%p^#e_&$2UiGM6<17BTT]nZNXgrL[ZBRGoFW')"OB`ABL-SL
+1ZTbe3W;[qLa%_UYK72%M.r`)O%.<)7*1PMJX/*[eiV)r$s-srL,1j,0O'K-(AXJ\
+LXR%1#r/Y'n=@/0rXfDU2(1ru:^A@4._lpL61Mo-I'/\Fn?jX>>WW9/ff#1S%]SL^
+RG]I*f<e>b+^P0kE@&84>Oe0%9'K-&P[s*f:&C4Q$6(f4_QH'Y:30\"I/m%9/M-~>
+endstream
+endobj
+462 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WRl0abco%#.\A4NR)Rcs/ijqMNYa5uk.ATT]UW7gDKG<kMPJaZDi0%](mUl/3tC
+Db.a;0A2j.1,MQOS,#+BGX7Nd1SN$SRAM_Q*6qZN)"5T-(p@M(ENreGMK-2#g\$$4
+E_4K_B'oYd*J!5i+C`\m%oB[6#Bm*T\-Z@M(QN1YLg%oXA@,Oe>EC]@+8#m(#85@d
+-5=NmIY\"h47N_@W!6,*]k1(no$5h@=7SlN%Du2&4+%P=eHq.5~>
+endstream
+endobj
+463 0 obj
+<<
+/Length 189
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<\R>M@1sb=<(Jb).c`?C#P,]9@m*0_>lu43SBL$Tae^)^?u4,bmfA[4dWZ%;
+<WH$h^'Z/TV5[^k/dhUqs"XLc@/Ri;cbT=,6(WYt!<YOgj+.G#UA4fd%n?6pm!flJ
+JHUTfS?RLY%jX?[s'_l+@1OX_s$nF8e!sfR@),NV\U&9"EWH@E]$60!~>
+endstream
+endobj
+464 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TIS0l@%I&-^Fc[Qp9nO2,!C=c=r/ZpKS5/W`Mg!t\'3:f;X=j]]r(Q5`Xu+?hTn
+,*MV0q.oshHC7?d#;>%-i`nZ1ml<daS4O,%*kc1.B#fgqRh#gfRl?>:=fbuKF47;Q
+lgVULFt"ii&Qb]>S;A4\7UMc-9"m?.JAVoi$om0`KEe`E!78ZW.F8Y9,SZsk4_^^g
+eQ@;EMj8*M[]=Ei44:<-->b5%T;mCrSZL9dlV)j^,Md]d<`^.r-Cm%hp%.+nQJ_Kr
+!//^PcN~>
+endstream
+endobj
+465 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<%q-&;U@:#0K)c^[89CKj=94G2?F4(.%"0f)!Mn>ja]a>/shbLQ[ZGrYn<>:
+#>g:Nh^Q?D_2q=IdoW6=W&0d_dm`6q&,ZADp]DF`J:nF5E<?n2f`1sV`'8eI!<WEK
+!uh.DQ)>7D5R@C&O?X#j%J#MY)q^SY+(/I]3fG0E5^B#4la^7`\H9;A!s&%ePGJ~>
+endstream
+endobj
+466 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+4 0 obj
+<<
+/Name /T12
+/Type /Font
+/Subtype /Type3
+/Resources 466 0 R
+/FontBBox [1 -25 71 75]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 12
+/LastChar 117
+/Encoding 467 0 R
+/CharProcs 468 0 R
+/Widths [54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 38 38 0 0
+0 33 27 0 49 0 49 0 49 0 49 0 0 49 0 0
+0 0 0 0 0 0 0 70 0 66 0 0 0 0 0 76
+0 0 73 0 0 0 0 54 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 54 0 0 43 30 0 54 28 0 0
+28 0 54 49 54 0 38 38 38 54 ]
+>>
+endobj
+467 0 obj
+<<
+/Type /Encoding
+/Differences [12/#230C 40/#2328 /#2329 45/- /. 48/0 50/2 52/4 54/6 57/9 67/C 69/E 75/K
+78/N 83/S 98/b 101/e /f 104/h /i 108/l 110/n /o /p 114/r /s /t /u ]
+>>
+endobj
+468 0 obj
+<<
+/#230C 469 0 R
+/#2328 470 0 R
+/#2329 471 0 R
+/- 472 0 R
+/. 473 0 R
+/0 474 0 R
+/2 475 0 R
+/4 476 0 R
+/6 477 0 R
+/9 478 0 R
+/C 479 0 R
+/E 480 0 R
+/K 481 0 R
+/N 482 0 R
+/S 483 0 R
+/b 484 0 R
+/e 485 0 R
+/f 486 0 R
+/h 487 0 R
+/i 488 0 R
+/l 489 0 R
+/n 490 0 R
+/o 491 0 R
+/p 492 0 R
+/r 493 0 R
+/s 494 0 R
+/t 495 0 R
+/u 496 0 R
+>>
+endobj
+469 0 obj
+<<
+/Length 225
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-L0abc_&-^FG'S3e_joW,`OC5Xb<,`42.hA;=(5g\4UW&]*]Kkg7`:%LVdGE#s
+H15GN[b*-B_hiJIG\D=BduMj]EYjp*b^C_;[T$GY929QV;d#58k9H!YgDM+,`sp]V
+"*XpJ<^gKZ65]nc"1JgXi#8;SAUt2%$7L\`GpU1)SNZ`rSiZBdCSuQ.l0#5dh=Kbn
+oKQ1fPmSG+5,F+4"[*%iF#tu#~>
+endstream
+endobj
+470 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0abc_&4Hs7@2b2g\U_]$"RQ7f_%_K%*^D;/'Wm!iV"@9:7BU(g!^`=i_=-`&
+'C:F^>O9/lIt'035'q_G.\?s'LH]W=g65G*X9\Uo4?]!W]q[8*GK!1:44@,K_o8!+
+EhbW:&#V!J'*`L8"f/pKE:=01"t3rnTuhh?+T^:^#9UcJBda&+4177[\Jagio+.1V
+efQ_AIQ(>X<W=s3RUAk>._-s`M!/NOUissiX[QShO=I%;>t\o^b%VdAP.h"u?:b2l~>
+endstream
+endobj
+471 0 obj
+<<
+/Length 263
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0b/e#&4Hs7PA)uXErfQK6aS((9r'JjaoeT=Kgohb$VJ]T.(k:f$XcIjpb'1/
+p*MFkbYMjMs-"<^m.!Vm/>kW'pu'SgUf:QR>t8U=[o(]2T-st:lrZjmX%"?HD!()I
+#hOI;gl<($fEZ48!M2Od]R^,4,?0+ZXY`Za"*Yjk*^BqB1e#nlqCRug@5ZPhi>;+p
+rh)@DHeJ<PIsW-JZ/2L#T'7As%McGj<EPGg`@l<J\ZR7+'rdp@):Fg7!ru]Ro8s~>
+endstream
+endobj
+472 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<\R?(<%t[U0JZ]`1/URsj=94G1'7k%.$uG#l2da*odgi@F1If'\b*cSN6Jg(
+4VWF";h23++d]p@Y<kfXBe#IIMZNt_K0;-:jm'r&a9<C\p<+&'~>
+endstream
+endobj
+473 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W="mIT!+J;'"[`BG'LT#i/g(UT5fuF>:dN\580mA=3I,Z0LB@^joKC!c;h23+
++d]p@Y<kfXBe#IIMo*C3%J:2'%/(5<@R'e:jm'r&a9<C\3J/0n~>
+endstream
+endobj
+474 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+5mi3/'ZP.3L%$uA_0:GKNBq;*=@"Qk>'5@1fqPE^$=1kniXoG,&AOe]<((S5
+i4!tcoB*5(*3eSALpc@nia#)FdK+P>)RCK>1)%)$8lAP+ecDb(N(>7q.>O_I-(du"
+4f'q=/-**>"6J&:m^N9-$FDG.XS#D$NK6-'@l1on'"f\]l]m';-j8]B\^JS'q]"@D
+f&-857P:1a+,dm_eGo)2/Id(@U6-_+M.8=6_+Zm'Z-,`1Ph,ID!"2Ki%0~>
+endstream
+endobj
+475 0 obj
+<<
+/Length 337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTu0hTAL'ZTZG[KsMm8'"q#PE=U3XTGPT.0Qb8J88lXZIT>,J.s'?Wrsu^gabcD
+dRJ%N%.j;/8.Z3R%jpliGfesh-?cA(OkJ:-DGthDCp!SfgZ<-a:D2dg;)X-HG;`Yu
+I&0=GDf3j;.WKHFpUfSn.5!1,$p\TKTJ@[<d*LZk5Jp=7i(MsnT0SSjD0/Uk,LD4R
+'"e64n4JWp2^QRqEW<"_g9AI_0[Yr7*+U=`BQPerJEYF4o\mHSpYC(d(C%<2gQl]o
+m"MYD$dZ\p(g-FG2a5;EdI6?s'?rSA=m%V'%%871+/!M21#YYj.\b*SJ&l1E\+2<T
+BEIg3~>
+endstream
+endobj
+476 0 obj
+<<
+/Length 264
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.h4c7*Q&A[hcF,A*E1l4[<X"8^M.0Qb8J88km\97KL*[+V<c8&H4/CH"^&dX>>
+Ipiepqd=k,bj]3]J#'7@S+$YDr6R)mp>Yh8gbif\lY4CVf^*,gMR-?u-dK@RM)/I5
+e.X37kje/UQ#NaG?'eFeB9'He(]8.GK@\3Qb>4o]`r\'0@YtJ`0ZLn14cPCHZZ7TN
+_^hUOi!Eo#NE(LkZ$a^V"l:uO'[N.SN&Fl%"`</bn:*%ES<KRPat/dB49bdp+A=K~>
+endstream
+endobj
+477 0 obj
+<<
+/Length 328
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH85>&jZ'F+%CV?jhHNf\Gc9d2sO.^1Ci6I<jWka!",DOl"RO'q30@^XenG_+MD
+)!:Ea>]E]`^i*W;r;#3Z1F^8ad>9h1<@&/%5Hu^aNp9U!EN(hWrfL7kkBGnmcEFUn
+q<I*I9$WoAffX3)gft+=)#ufK6oDXI)5[fX6]E+4i#OHV#)SXRFE^7jDh$0J4rlE^
+X!!upUi.&kJ&J;oAC4,R!I`o/oSK9<*QFOS2$:N\oQhHtV+R+0eGb!ZJ3!XmmU,Sh
+oa?pk:Ip68`jj'eF+_VGA&"G?YKKD!lG)trY65[k"['a7cnp.'n1B,#!4R(;&H~>
+endstream
+endobj
+478 0 obj
+<<
+/Length 329
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH8:J/S[&-hVQ>njU/&Mb0L[M"J#$;Ui;&9R"7oIX>s\kX=g^ajQj2'VJjEEAk+
+F!a]$5=j_A8XT>E\Ke91n_O:.a)0!YNO^jJAj,N)]DY4eK^2jKl:lE?Xu=gu>a]>L
+EQjEAqK%+qIpAKBKE2-.OTbe$^u08V`s,1f&T`fe-]?VGMog]ka'=Z(P@F%PF9%Uh
+5sNG4pqP0/FMKhGHt&t7OM)>S!D/r.jc(PCQ6b]&i<dh`ENt0f5*OO<TSoHtPl*1U
+nO4<YVD<R=PlE'k+o!(KZlrR1Gh%,K>#3XoU^nuda@gtf'2$'1p?'eN$inean\"~>
+endstream
+endobj
+479 0 obj
+<<
+/Length 372
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y!B0i#YP$q4fo!m+/?](#qHabgY<MR7n%$7)SD!'j*VJds6o36#99WOTr?>Te,S
+MWSEpCo5j:OsVifrVq-/WH-:pjJ+`-SoBtdI6gY./m-$ASBKqZEq6bfUh)pHMTZ07
+=-B:oH#q77A^**I4MO'VF27kQ)6akp;o8[30r_HS>iLF+)BVQrTf7laOchMYi;dhP
+(4E2\Mli5:ZW\t"Mlmde:h1cWDRO&L*:121g5'15[tBV2[QrncT=*jnqjT;,s)L/E
+O0Pmfn(g,Nj*fCl5-UUqk2[kt@?+j`-Mf_5#]p#3fY]Yb?G7!EoI6h;_ftl=6N5M+
+f;uhT2'U\Q8"UoK)\[PEGN'9^'O<V=9>:Q/hc%f4~>
+endstream
+endobj
+480 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#IbmK%f&-m0nK.p(U02QD^GS@/$%mcb4JEkd\W3\og-9[4X!dR]UVbK[Uc&[S3
++2]YQ/q;JA'5^V7"C2O^(*(0\6uRNXHYhZ^'\i<]5mYI7*=n*_(kE:#VJ(Mm0(F>#
+llhmm;D"GM9>r9ilCoJs9WKaJC:pk`p*lDQQk,Qak#?Fn]r$r!)ma:UU9r\!^ZUf@
+H[FW.[p)>ps+W(8l.8W"-(.<Dm#?'c3EMJe<]PBk:RHpALA(]#N2g=~>
+endstream
+endobj
+481 0 obj
+<<
+/Length 371
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um*Yti1j&-h'n1/th207[TJ!$m],KS`5'"<!;/iW0B26P2itW6*,H="7\#CBX//
+Aa9ohYg7Lqkn*1P7@2nT>i[fN$hk@'btm^oL25!@2c'BoEK]#8e.&H+>ZR6IgUt>_
+g:b@6H$aEb9WB'/o)/??eV+0WP"%AM@K]%d9gn%L6sDTcC6)Qf8V/TaVe?f70U@<a
+(@4W^XlpJ$_?d[+K=a:VgZ)B*UZ`Do_?e"k*!WP3A&1pfcNW&on=_h1"`2I,i-chp
+,7"Z];\PJ.;I&b.3Q0EgL8t\sg<Fb%d1jJlpC:,T0TW*$K#9]1iu^7>:Hk5!_tZ1,
+'H@lb.Z@U=Ll!e,#SHU7klK!On?Tnmr#5Xiq97C~>
+endstream
+endobj
+482 0 obj
+<<
+/Length 326
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!Yti1j&-h'N1.9o\\PrD-O@G329T]ZQA3ba'#G<)!Zml/V_](9b+F'1@-K,EX
+Q:b#7ZS+YY>.-ZK-iH!Zq92N,cDS0kH]d8*$hs?Zq,q<)VgLY0E*cuLBSmeY>:s>F
+^V;NAVU_6jDP!1s>oS;7OTf(QB]:<c5tlFF[QAen=A/\.L[:Vr,LCmkpuR)<X\5oj
+Zu%AJ8DAi-+(tljM1_)K^rsPdDW'Va,rb=6Y`]rM3ETLP@ZtK[=L=4!$cP<V%NlCs
+B^8<rR:t=gd0A<BZp/RJV$#Njl#lWfL.J[h>kCA`Y4-f!T(&Vo#Q,M@R=D\c~>
+endstream
+endobj
+483 0 obj
+<<
+/Length 357
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um(]hZI1$jU`A77=^5O)TOK83^";mA'dr)3A7kM?JkH+ILWX06Y!"*oY*I;?#4F
+lA)tKU=_[,cLZq64Qiao=#[c/o@q33\nWS.0e]Cd^RdtkGl;U)g6F1kB!-NCPUi(r
+[leYArQ*l'5OYbh@gn#38E;iT;D)S&&r%BC6Kcb0TF9s$WR9E8!$R58r/))U]e-\T
+85)Ns-Y@`&STNr(JbBSN=(?,_.9b.r,3qPkdh>=-JOki[6!lp3(/\t+Oe'r7"7;PU
+4Z+"\Gn^`eUY5Y4oom\f:@r07C/@jM%lSTt-F5:dm7lb^E$:31\1Dah`>3lQ,)51;
+jV86;>s'6%6[)nLBD4=b;h.=C~>
+endstream
+endobj
+484 0 obj
+<<
+/Length 269
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:40abc_&-^GE$GmqH#%fK\8MDl$"epSt"Kae:>$<=X0:os0"h[Bd@$r4_31G_]
+Q54B.MZ)o0Ho;D[_ZBIY$p>SjE9"hWJk.d_N$RZbOpUFp,Up5R$mKY'&qQN'`or&E
+cLH-=D'>Gm.@+On=]C]PoEWXaUi)J6YD"3-W6Nh6pag1*QmBj4=j2.b%Ha-ic5*h]
+bHh)DH:bN(T2hLB^VBQ6Un5pM5A"dfB::m82!W)^QlOk&N2sZRQ[\T<^bg`kg]mh#HT_W~>
+endstream
+endobj
+485 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH79o?eQ&-_!J$_]I"+a!gFTjtl<K0N`Z"67N+W(Rp_kdod\jp6$nGQP&[DieN`
+6Cr,:"@98*^-rc9]hXM]eEA;]1Xfm7qcLSNUhid_8_&c0cH,E%o1Ym\RT-"=7hX'2
+(E,r2IH]qmI#r0DBR0Z+@"GU)!Z1LFG<n#M!HnhF&>cF`XXkr+r_YXS+n7-E)<U,g
+?=<`L>Big?`,ub72r8EI@1<&h&44^]Q6@3j\@#gc%pX,;BA<KcK<X/`X%YGB(]YWMYuU~>
+endstream
+endobj
+486 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y")0a[tJ$jG"_>"IZcbQW*#2Me36.QE-TPm:,Y$UsBPU[:nm0AlkA^IbgS@'Re*
+r4jZm3,kiA;k=.V7_4Ze>H2I!M*)9jiCm5q^Ln/LCH[f`[L8,VdtVemqh`aaJbKF8
+/qCBT!hWn2;6KGV4/Gsr,GQIc"2#'7KQC>Pd:;e*B^P9Tgb6$,[%m'ij<bOF~>
+endstream
+endobj
+487 0 obj
+<<
+/Length 208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z;(tg##%CL5"Z&f*'LT#i/e`:K+3ZUn1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PR@_s+,\$KDY`ss+&4@"$liq"Hbncm"+68+8eCppcipE
+fah'OO'2HHOCYZscNkf^5pShrrrsVA+$hYkON`?Dqu_$a6TkMRqZ-mjA<P-dP:M_&
+0ED$r4(&~>
+endstream
+endobj
+488 0 obj
+<<
+/Length 156
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"#%Aej"Z(4R'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H'm:ru^SMoRRm2+<j'",/HM+rsUURKDGNhArm9=cl^:-
+$k2J6`9$:+(!$Oq!0C<O&H~>
+endstream
+endobj
+489 0 obj
+<<
+/Length 136
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"#%Aej"Z&f*'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H#?[Ig-bd_>O<DoDa;-%K0`5cbR=+6!URa>_-.1!<@-KO[]~>
+endstream
+endobj
+490 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z;(tg##%CL5"VVQ''LT#i/e`:K+3ZUn1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PR@_rtte9B41_T?k4M)rnn$Ea8`FEs2!LjO88etB)2JN
+s8Oh,s(;ItocTEkrdP$3r/Vs<0hCHC9E"tf[[r&$r;ZpE1<JYCaVDl#(]]#Z^4u~>
+endstream
+endobj
+491 0 obj
+<<
+/Length 258
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju4UT%k&;:cq"K'9QS."QCB,.KL;8Eru<ZXLX/JP<#nRD#83C:k&_==X!5d:uW
+DeJ5"m^uggAY11g#->ilp&U^TLM6Oc-QJ*IBYa%,8P3a@3[D+d6n2?c3$=Khpi=(i
+.%R\8Sr$!JH!h@Ki'U-+/enLjl<'XL1]nC^:nh*D:<+"%DGl"1:E2$lK%Ve/_tZHF
+h.C81T6"3a-!]-:6[3dM#$kq*'1brCk1c5gYmo9M$bh+C(+F+a2#sTBgEZ~>
+endstream
+endobj
+492 0 obj
+<<
+/Length 271
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFp4V#=_$jGRB%$eKt#k\@oXVsGu8Gl##5_=gp!$_ROk/%G7&eZ#F&NY*6Cn-4d
+7TdAJ:N;uT\!UQXh/n>K"KfXK$:h<f3DFIS@Fe(W-uKPLaW]N6*C@E#%-#BDMCHL>
+'$mK!*qC23Bah='Pq'^b*JntI\F)bdR5tLYR3[+nUmT=[Be^gB;gC`Cm1#SFf6g3e
+=2/DE(Z0u95.^-YgU>Q+i@Wh#2q_lgL<5*C+?lhs/1'idi$SBV7QZkB5(n1kCNp9g
+]CQV2~>
+endstream
+endobj
+493 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+1:bY^"#%:F6',-'66`ra.@j<,R!5pbG1K;^Y!#!Da>Y^kqqV_e$7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PP*?J+so6+##LT+$Rc]hV[gT?(U!cRm"YR[X*[X/0Ol*
+&VpttA,-*(+!V\9VEOn\[$Q>p&WXD,4h1X)!!<4/]mr3~>
+endstream
+endobj
+494 0 obj
+<<
+/Length 269
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$b0i#VO&-^Fc>c]bKlk+Cn!7#<gU9bP!_?CQO*$A'UJ=q'^$=>;37BR6&Zs0E3
+r:q*W.,ISnkDprqg!#VM78(&=(\SjA9iGR^Zhi+uH/sq1i`50D<_o$U<d,Nt21N+o
+IbK/GGlN0=p;X<HqbbN'+mf&a_>Rb`)o/S+^*a/%O7ne.W$(>TAO?mW'!RQ4=Tetl
+Ae5.jSfu]4RB<0!0G[o]I"afB'E8Td)jXRTo8XKCrhLLMWR"jP(21"/hR<9Z^B4HQnUJs~>
+endstream
+endobj
+495 0 obj
+<<
+/Length 201
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+1:bY^";U@:#0K)f_1K6n"j=94G2GaB>1F!&J4[Yk^O@[[YEq8;>%p(GCi6q?"
+8oa)W"ZS"LEp7rI.[1X4VK-sn./a,@s$$_eLkZuqiIaDN#fVc&s8N2\+$faSJUsEo
+MF$5Y_Ol\%NW1+#Dts>PN">hNrr5:_q>Uulqu?\XQiI)H_>ZYqK$2]./!(,m!<3GPkP~>
+endstream
+endobj
+496 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR6YmnQ8%#*Yud^`ci0*%>;/kR!1JA`0n:b_rH;LkF#WE:[_YQ/boU3d_G'JKR4
+-eZ7?Gg8;3Z/[$<ms4*[8A<TMNWnSZVbPhcW"*>slq=Vl9k<S?PTAG]jR_WAV_I.u
+!WnR[2.(MUU-Z!5@(?#>c*-X^"r$Xo'qI2XnrsJ5mZQL*h;mB].\m['4OBO'!s&=Hbg6~>
+endstream
+endobj
+497 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+5 0 obj
+<<
+/Name /T13
+/Type /Font
+/Subtype /Type3
+/Resources 497 0 R
+/FontBBox [0 -29 81 100]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 100
+/LastChar 121
+/Encoding 498 0 R
+/CharProcs 499 0 R
+/Widths [78 0 0 0 0 0 0 0 0 0 0 70 0 0 0 0
+55 0 0 0 0 74 ]
+>>
+endobj
+498 0 obj
+<<
+/Type /Encoding
+/Differences [100/d 111/o 116/t 121/y ]
+>>
+endobj
+499 0 obj
+<<
+/d 500 0 R
+/o 501 0 R
+/t 502 0 R
+/y 503 0 R
+>>
+endobj
+500 0 obj
+<<
+/Length 397
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;R5u*+f&-h&9/=L[52eXk;Pgt+BP,BY40[Z-j:mWM)UMDSjX@MLe=E`(gB;PiB
+5`ql7,Gd*<cYfqGDN$broU]I_6R/5bc=k*'%?@b!Qgo1t,S-HIn+=oHqMH&"ICM;h
+3-EjLp#YR<Fr*4%UJ+SdOT>Es3$IuOWXSbdqBaWL@#9%?isOX%&QTH%i?;PT=AZ`i
+>!Oc\jb#:DkSR>hD[?-,5T"M(G_/cqM??Jb(OL[O'l>@?)[Y:;8"`Y!JfhlI-`#I.
+=:nJ'L`rIL6^cmKYafICKZ_^@!DEf3-q:h*nH[d<aVM`#i]$][</taKAJ?$3)t(2)
+@#HH@KI6bnUppte`Y>(16Aj8%<.f&JVZWS/]O5sa`P>h*-=B4UTY0XPXo'(;oQR4"~>
+endstream
+endobj
+501 0 obj
+<<
+/Length 345
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;QYti4k$jL*@)(KpR,K)58]ptanRjoF$d/aP#*WR#p5VP-XejnsLFM&csEL[E2
+dLC<^B>o^*s4qO*6[QE6[.DdRdAt:uCq#XpgM>MMHKiQ;jW+jp2UBljZ+62:2M]<l
+o%<RFo_&%YLA`\Yo)]#lB7a:jW"Q@ED9S:n-]VI^R=hlp7bP-cWD0OVBasjEB/lG"
+dP3m(L-J9DoLcT'D62;0NER.]@\'(@R^$PXL@`uX5**baC9t`CG?1&a@^f5J/qtpX
+;04h`0e(#?1?;EA)FoffRQA4%W,YIr)S]gm<;]se?N(*\h_gn%;+CVG;LYs4`3UeN
+G<J.KcN(JZH`I~>
+endstream
+endobj
+502 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`A4g)XU$io4[%[F\G"FL4ud;,R6+n6f)iCP`:"2Gl5!.qa(%`"?;iYn)l5hHpR
+qDh<++<V^h.<4DoG+)k^eJEBDV?piPXq[r\;7tZ(Cr!$AiZtl.K2E-K%jhYC)<W+`
+c,[n`r#<,7h(Rh&,cZX<;&/PJ\/IoQ=?9b.%ur5//QSPZF"G;:\2Vu)A?#kS7IVLd
+OdrnhII=3XT7M.KZ#2*T<fQ21@HBCP5H<BMl0u#rYsUQuOpBYW;IqG=4?RMfQ@&)u
+OqultS*;?91CZB<$afkkR1W,6=MXq:Hd\m2~>
+endstream
+endobj
+503 0 obj
+<<
+/Length 456
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V03_+MU1&-h&E4V[UQ8'$9pXXU"<'W;B$+R$oPW#e*$'KcXMGj)t2?Rb!.Y7^",
+e6<D+j%Qa7PLL/rHt8Dn5F]pNM*&`;E&)S!OZT,DLWD)!P-.RMF;.Raa8(pi-$FZs
+pY#'of'IX)Hf=IYgpi^6f12<83[fqA1$$?M9(:&\4%$EE=:;'^"-,*$8HU^OW2P^m
+L]\fZLt+Zk@21]=4r*_lW;F#j$4BXWU]B@l_e#0=:RpZR\S7ES=3@ou"q:Md+)ruD
+fja5,jBsha_/@>.3ZN)mU(7IIJ:eG89Z+]&4q4Z0M]AhAGFo(@orUXo/sMLhJ-g(Q
+H5R!T/V_EXO'110ki7_EgWPRsV-GN.R&l\AYs%ZU"PI9B[D>V[T/'1g9bn+V%5pfg
+L>-gP%##>1`2-?U(nLC7^6g!enAJnRbRM&#+'.6l)G4moQ.S1q2ZROj>)<~>
+endstream
+endobj
+504 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+6 0 obj
+<<
+/Name /T14
+/Type /Font
+/Subtype /Type3
+/Resources 504 0 R
+/FontBBox [1 -30 94 100]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 69
+/LastChar 119
+/Encoding 505 0 R
+/CharProcs 506 0 R
+/Widths [90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 66 0 0 73
+0 0 66 73 35 0 0 0 0 73 0 73 0 51 52 51
+0 0 96 ]
+>>
+endobj
+505 0 obj
+<<
+/Type /Encoding
+/Differences [69/E 97/a 100/d
+103/g /h /i 110/n 112/p 114/r /s /t
+119/w ]
+>>
+endobj
+506 0 obj
+<<
+/E 507 0 R
+/a 508 0 R
+/d 509 0 R
+/g 510 0 R
+/h 511 0 R
+/i 512 0 R
+/n 513 0 R
+/p 514 0 R
+/r 515 0 R
+/s 516 0 R
+/t 517 0 R
+/w 518 0 R
+>>
+endobj
+507 0 obj
+<<
+/Length 305
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.k4UT%['EI'AKCG0JU$i':G-Q3?p]G[NFRfFskb.-U2b1&NE:=bL02T+fU!M6:
+(PG[2"qnWqj<Z'sJVu/WWX]7N$ut=D*rH#];:Y@:*qijhXEQ@U^fd?QJ2:,&i/AF]
+oY?=GGW_M)&5?!NjkMI$*?lt*-!_fh77cZIP!rP/.q,9UN0Q=m2T`+%(lJ=?[F3T1
+A0T2j"\Z.A<lU"IPn.CL^#C8oNi[HR-SR^TpH*U<lG9[n]5F]sX"K.4g/Kn"ZLS32
+r52E5bS%=Z;OqBBQ$H75S$Ohc(JH&U_J9-`Wmr0~>
+endstream
+endobj
+508 0 obj
+<<
+/Length 360
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY4&3^J&-cN4.4e3"2o*--A0V[ZgCS'"M%iKWE<);f!X,p;4lT-f3(OAdOOAho
+oD>cr!=C#2T/?8#a0nld/X8G9V<Xj;Q+N?RW7rH):6C_UF84QUdWV;G:3IRkXtW;h
+p?#Vge-st"jn\S#L'nlN=bZW2<[DCuFO]qP7/+Og-kEHb?3D>d\ip6$/JaBaF%V"p
+LoM*q9Y=JofIt5RQHhVY6mrNBh_@2J?4Otr1sLBEPIAd&Vc@p,Zab^rJ!K?Q6XPcN
+OHq`_]-n=-9A)W0e+jNPP4r,EHkbJ4f^HNII=0!YLjo7>7%[L]:>6+O_e_I'*]K4"
+_r+?)'BsL!@TEWC*9`^&"opJ?IAQ~>
+endstream
+endobj
+509 0 obj
+<<
+/Length 361
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZETYtfs;&-1)1OPD-dG^gk-!t(O0_q5sNWJM<9BB9AsV1hCnKD9!s^BFReP(N$[
+ZO=]BU37:b?lhuYAnOo*R,SI6$tcDNdM2//Iam&>hkp<fE-5tVbI?42]e+>HK@sEU
+Q]fh>G'AZ\MCX('HF_YH3KcV`6QiErCuK#'1SC5QrEDN)d(hcZJdR%VmKHlam7,IJ
+aW1`RQtRhN3ROn#.Z*!b+DKA-Q[ub>^/Vg?!1+"UD\mg@c%(+.r"XBChP9oVar^$g
+)#sS0LN\Qsg.1p(Fe@WJl,Pk0)CDZa]cal`mSj9>G;f&>Q'49@E5c\s\ZaZPJ_/h1
+.OUkrU4=0A!7(++qP)?gqI9NE'@jS~>
+endstream
+endobj
+510 0 obj
+<<
+/Length 443
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF10i#Y@&4Ise&]p#n?s`ml;-&fmYdApK$7)Q0!,P4-Ji_SBL-'@>cuBI9+_?NZ
+_p$cFLbqr49(LOhpA"ZU\ore.geh(]HHjcaW?67g;RCBjCKDOCS>>W0KAJG2FmJ<j
+Y:_9%=.AM37uQNP4[6VrF`ZtIIXR,6.@e6&J++["6i[lqEsb_.A'/dJR(X+;Mk)-u
+O1cphdGSYi*HDKA6f*.IXJg1=bt0MDPT-%Ds7('kia(hPl94nR?UXV@o%J*kn^Hu.
+`&GZs&Dr&.KkRH(_AJkmm-Lp_$^q7j85tGM-\1FE+:@=2+:s),%nrI+@NLd/S8"aC
+%iLCTmfYV+*b[nk79f:U'COtfi-.CFfISc")ZS%[\Q!3KcZc@;]!ms];obZ9?(;?5
+9m"j>k9n)@NlcZFHtWA]ak.Cf/i@9ElAJ-hkcY!eR?fd6~>
+endstream
+endobj
+511 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\]a=fq$io4AK9519i;sKaH7_H`&.AJf2[DJ?!:&d@kcC8WeOT-A*,d5AgR^?\
+io$\fL+b,%OEB2%aC!IB.0Qb!mSGA,+@=q&8SSSK<a-Q@Qn1fX9W%e"PMpmW&sIE,
+L])4Fl'U+<%OZl6hui$dq"t9dgGm4W/6!#4!"'PQ;`"9ef/Oo4>N@NcSCKau-dI+-
+kq^unktlXJ&#bh.PjkN`LP]=^ILZ7rfAO-1_oX3Bo%*1I!$^`\IKQ+9\A7tAa8s7F~>
+endstream
+endobj
+512 0 obj
+<<
+/Length 177
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A76'#%7T;92gNY6`ra.,BFtLbVds-<7!K&'$7[h:7b_ei<i':>l#L,.5$%H
+!+uI&/q$N&Kp&1Y<%^r_L&Zr.s8UF7s8P<<qYu$^m'1#]*(UN@/[`D:qu8m2Fu5lN
+ImEqH!K%BrESMZI$pXak$k*R8aI(0$P:M_&0E?,I.!k~>
+endstream
+endobj
+513 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmS?5$jPXGK9519T`GBGD+ihe&.bdm*<_p\!-NB[FDa$EX,l6bFR3s'k,KHf
+jQLRAqmd)cb;c5HgsK'K&KO6OT[o8.(Sahu_a)B'N,aIKT!Ut:/Q_/VgBE;p-QBX&
+mjCep`7Ani0lmZ@6<=.p$@k'U##jQu:ToN468;Oq2dH(;;)V(XFD]]affJ2fT^tHL
+UYfJ+^pU`k\S?oO%eI`ei3luY.RAO?b.[mA=XiJ@E0]>k?NU:;(S0L~>
+endstream
+endobj
+514 0 obj
+<<
+/Length 356
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjDbt>l=&-1W;4Y5qGO-&T.BG*[BL#PF!0F+;CI"9eC#=ZsqDmk^i8*D[_cuEZ@
+NM'6s&qhP-mGI8Bk.JVP90>4=@)YougVQ//C<iS7?5-M5(,F"hc')G`2LE5SDR3Q=
+Ze9)AL"t1%q"jRTB^9H0_,9NSW!CqlPQB]'J:Ns$.1C?U@$so2M"\&dBTUb]cFo'B
+-<p9<3nuEJoQ\,H"DL8jL5n`&lqCOUKmrk=_rMs6E"&08qEl6HZ,8g$,7,SO;4>)B
+*,77L4HGmH89qTk+@V]P1Weh=..UV8#u#g41`lJ9,R!f.>nSOS+DViV0EE(EhWMYJ
+9d:d;/O]O=HW/[Gq_8)WR!JK~>
+endstream
+endobj
+515 0 obj
+<<
+/Length 227
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-J0abc_&-^D]Mnh/rKUiKaZFGct+=asVW0IUD@O2jgYRibO`V(]?6HU"Y0q1K\
+_uj->#G5B%JYIt-c\R=(g+(<Cq]>R5H]#C36[HPd@(7A^0q:09L<41($:D.moBEPJ
+1Eio;*H21j"9u(?il4J;!Uc]O8gg3LZVGIgAae%4ZIY6Jkq-CgH`idmN;;kH<I?3E
+)ZPkDqZm665j+Ur27UZX!+D9AAH~>
+endstream
+endobj
+516 0 obj
+<<
+/Length 354
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ul=0i#Y@&4Hh%6uldTi4/h5@?VF3U]i#A+@3C?!(mS0e76G9_G,C\QROHr1Z!_b
+BV+>]IqHDX>[iU14R]Mh_JP@[SU!$i+N5,*")]_Pd0*7KAiH,iO8WIT4-<4CHaq)@
+1t+U:]RRY_km!QlA`<tq,5)!EA`1p5W]?Wti]%%Z;-Xfkg!e0h1]7R]I0h-HY?2*t
+InXsi+rj-G58H:/Z*0G!RQ,iJH(_;D5a2BoNEIY]P1-F&"d-436^_.>GZL#5Pk)OD
+h<>NQ1*0Q`NhnEM;1mpS<\*IDCs-$6r6^e2:3X]TG=FXDOJF*`fCEJfgG$X9X^lVA
+ZA'BF(>[b@k0a):!/4Sc1]~>
+endstream
+endobj
+517 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&<7!L%0JQG/YY[kFj=94G0a7t'-s0S$)!Z\5J4+E1Q]ie`I^jud0pfTZ
+:l7p'.DT*&OA"K[=.uFg1mQ857H+:Hj8VDq(pY.eac9-q_]\t%O[$YB#;GrRM/30U
+$m>*OR/F`""TK>n8>lh^S!9g+q1neG5C7MCO8]*.N;rq-K?,/-^qfpK!u0,T++WDQ
+qhLi;kALQ[1aLT4_=:A%T?GcK/!(,m!1YL@h>~>
+endstream
+endobj
+518 0 obj
+<<
+/Length 462
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;RYti1j&-cN4)'X@J,M4XLBdg!Ga\i.r%S/9.UVb(PK%\g<p6?g_oJPFt"k"ti
+PiG!_O\jSZ_9qH@FSb#j2:E4ElAJPAf6VV:?VC2<X!q@MoPCPN90U7'q(Ch<=Zl"b
+.Z8Wna^Y6oUJ"`@*q\(IpR>FCC*A7Q67<Hjqi?)d'@eOo':+:pC9[.>noeu5ZPm`?
++o>cNk/89E_,stYm''[%3AG8Qo^63"a0rh]dAYkG94pW,+#X:@8#(5X:eMtt$9gq_
+lfa"=Ba5/f%NhEF'.qjk2D>G*LUY[NNOH'c't^n;HQ?tXd0@lFB/c\tX(]5??j11q
+[o4m5"<XTbS\o11h<$f-%6i,m3eNXA]?<*K$:`gu.4eZk5"0R5N(2S`3aodJ%gi7J
+b@mJZZs]fgjIJa21s`[l;[sTX-@>$4XeIiB)*>85jpCb/I^8n9nnoVCjR3)GIm;!~>
+endstream
+endobj
+1 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 3 0 R
+/Contents 2 0 R
+>>
+endobj
+10 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 12 0 R
+/Contents 11 0 R
+>>
+endobj
+18 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 20 0 R
+/Contents 19 0 R
+>>
+endobj
+25 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 27 0 R
+/Contents 26 0 R
+>>
+endobj
+32 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 34 0 R
+/Contents 33 0 R
+>>
+endobj
+35 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 37 0 R
+/Contents 36 0 R
+>>
+endobj
+40 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 42 0 R
+/Contents 41 0 R
+>>
+endobj
+43 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 45 0 R
+/Contents 44 0 R
+>>
+endobj
+46 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 48 0 R
+/Contents 47 0 R
+>>
+endobj
+49 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 51 0 R
+/Contents 50 0 R
+>>
+endobj
+52 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 54 0 R
+/Contents 53 0 R
+>>
+endobj
+57 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 59 0 R
+/Contents 58 0 R
+>>
+endobj
+60 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 62 0 R
+/Contents 61 0 R
+>>
+endobj
+63 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 65 0 R
+/Contents 64 0 R
+>>
+endobj
+66 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 68 0 R
+/Contents 67 0 R
+>>
+endobj
+69 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 71 0 R
+/Contents 70 0 R
+>>
+endobj
+72 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 74 0 R
+/Contents 73 0 R
+>>
+endobj
+76 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 78 0 R
+/Contents 77 0 R
+>>
+endobj
+81 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 83 0 R
+/Contents 82 0 R
+>>
+endobj
+84 0 obj
+<<
+/Type /Page
+/Parent 56 0 R
+/Resources 86 0 R
+/Contents 85 0 R
+>>
+endobj
+87 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 89 0 R
+/Contents 88 0 R
+>>
+endobj
+93 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 95 0 R
+/Contents 94 0 R
+>>
+endobj
+96 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 98 0 R
+/Contents 97 0 R
+>>
+endobj
+99 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 101 0 R
+/Contents 100 0 R
+>>
+endobj
+103 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 105 0 R
+/Contents 104 0 R
+>>
+endobj
+106 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 108 0 R
+/Contents 107 0 R
+>>
+endobj
+109 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 111 0 R
+/Contents 110 0 R
+>>
+endobj
+112 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 114 0 R
+/Contents 113 0 R
+>>
+endobj
+115 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 117 0 R
+/Contents 116 0 R
+>>
+endobj
+118 0 obj
+<<
+/Type /Page
+/Parent 91 0 R
+/Resources 120 0 R
+/Contents 119 0 R
+>>
+endobj
+121 0 obj
+<<
+/Type /Page
+/Parent 124 0 R
+/Resources 123 0 R
+/Contents 122 0 R
+>>
+endobj
+125 0 obj
+<<
+/Type /Page
+/Parent 124 0 R
+/Resources 127 0 R
+/Contents 126 0 R
+>>
+endobj
+8 0 obj
+<<
+/Type /Pages
+/Kids [1 0 R 10 0 R 18 0 R 25 0 R 32 0 R 35 0 R 40 0 R 43 0 R 46 0 R 49 0 R]
+/Count 10
+/Parent 55 0 R
+>>
+endobj
+56 0 obj
+<<
+/Type /Pages
+/Kids [52 0 R 57 0 R 60 0 R 63 0 R 66 0 R 69 0 R 72 0 R 76 0 R 81 0 R 84 0 R]
+/Count 10
+/Parent 55 0 R
+>>
+endobj
+91 0 obj
+<<
+/Type /Pages
+/Kids [87 0 R 93 0 R 96 0 R 99 0 R 103 0 R 106 0 R 109 0 R 112 0 R 115 0 R 118 0 R]
+/Count 10
+/Parent 55 0 R
+>>
+endobj
+124 0 obj
+<<
+/Type /Pages
+/Kids [121 0 R 125 0 R]
+/Count 2
+/Parent 55 0 R
+>>
+endobj
+55 0 obj
+<<
+/Type /Pages
+/Kids [8 0 R 56 0 R 91 0 R 124 0 R ]
+/Count 32
+/MediaBox [0 0 612 792]
+>>
+endobj
+519 0 obj
+<<
+/Type /Catalog
+/Pages 55 0 R
+>>
+endobj
+520 0 obj
+<<
+/CreationDate (D:19990929132817)
+/Producer (Acrobat Distiller Command 3.01 for Solaris 2.3 and later \(SPARC\))
+/Creator (dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software)
+/Title (full.dvi)
+>>
+endobj
+xref
+0 521
+0000000000 65535 f
+0000309415 00000 n
+0000000016 00000 n
+0000000406 00000 n
+0000290993 00000 n
+0000301598 00000 n
+0000303916 00000 n
+0000174013 00000 n
+0000312118 00000 n
+0000000523 00000 n
+0000309495 00000 n
+0000026816 00000 n
+0000028309 00000 n
+0000256757 00000 n
+0000284009 00000 n
+0000287731 00000 n
+0000028463 00000 n
+0000030669 00000 n
+0000309578 00000 n
+0000032601 00000 n
+0000035841 00000 n
+0000211807 00000 n
+0000238388 00000 n
+0000036018 00000 n
+0000039072 00000 n
+0000309661 00000 n
+0000042394 00000 n
+0000044813 00000 n
+0000044979 00000 n
+0000048444 00000 n
+0000051586 00000 n
+0000057463 00000 n
+0000309744 00000 n
+0000069970 00000 n
+0000070446 00000 n
+0000309827 00000 n
+0000070613 00000 n
+0000074509 00000 n
+0000185245 00000 n
+0000200613 00000 n
+0000309910 00000 n
+0000074673 00000 n
+0000078389 00000 n
+0000309993 00000 n
+0000078531 00000 n
+0000081501 00000 n
+0000310076 00000 n
+0000081654 00000 n
+0000085860 00000 n
+0000310159 00000 n
+0000085990 00000 n
+0000090347 00000 n
+0000310242 00000 n
+0000090466 00000 n
+0000093894 00000 n
+0000312620 00000 n
+0000312254 00000 n
+0000310326 00000 n
+0000094013 00000 n
+0000099539 00000 n
+0000310410 00000 n
+0000099669 00000 n
+0000102968 00000 n
+0000310494 00000 n
+0000103087 00000 n
+0000106286 00000 n
+0000310578 00000 n
+0000106405 00000 n
+0000108618 00000 n
+0000310662 00000 n
+0000108748 00000 n
+0000110424 00000 n
+0000310746 00000 n
+0000110543 00000 n
+0000112990 00000 n
+0000183104 00000 n
+0000310830 00000 n
+0000113131 00000 n
+0000116183 00000 n
+0000116313 00000 n
+0000125285 00000 n
+0000310914 00000 n
+0000135544 00000 n
+0000137257 00000 n
+0000310998 00000 n
+0000137424 00000 n
+0000139750 00000 n
+0000311082 00000 n
+0000139868 00000 n
+0000142891 00000 n
+0000181146 00000 n
+0000312392 00000 n
+0000143043 00000 n
+0000311166 00000 n
+0000157935 00000 n
+0000158769 00000 n
+0000311250 00000 n
+0000158912 00000 n
+0000160119 00000 n
+0000311334 00000 n
+0000160249 00000 n
+0000163456 00000 n
+0000180573 00000 n
+0000311420 00000 n
+0000163588 00000 n
+0000164351 00000 n
+0000311507 00000 n
+0000164471 00000 n
+0000165639 00000 n
+0000311594 00000 n
+0000165781 00000 n
+0000167352 00000 n
+0000311681 00000 n
+0000167471 00000 n
+0000168700 00000 n
+0000311768 00000 n
+0000168808 00000 n
+0000170022 00000 n
+0000311855 00000 n
+0000170130 00000 n
+0000170943 00000 n
+0000311942 00000 n
+0000171051 00000 n
+0000171881 00000 n
+0000312536 00000 n
+0000312030 00000 n
+0000171989 00000 n
+0000173757 00000 n
+0000174132 00000 n
+0000173889 00000 n
+0000174084 00000 n
+0000174475 00000 n
+0000174583 00000 n
+0000174727 00000 n
+0000175356 00000 n
+0000175967 00000 n
+0000176546 00000 n
+0000177301 00000 n
+0000177724 00000 n
+0000178055 00000 n
+0000178303 00000 n
+0000178861 00000 n
+0000179429 00000 n
+0000179825 00000 n
+0000180525 00000 n
+0000180781 00000 n
+0000180841 00000 n
+0000180875 00000 n
+0000181098 00000 n
+0000181402 00000 n
+0000181480 00000 n
+0000181547 00000 n
+0000181950 00000 n
+0000182363 00000 n
+0000182649 00000 n
+0000183056 00000 n
+0000183361 00000 n
+0000183440 00000 n
+0000183507 00000 n
+0000183949 00000 n
+0000184347 00000 n
+0000184713 00000 n
+0000185197 00000 n
+0000185724 00000 n
+0000185942 00000 n
+0000186402 00000 n
+0000186869 00000 n
+0000187140 00000 n
+0000187408 00000 n
+0000187618 00000 n
+0000187882 00000 n
+0000188199 00000 n
+0000188617 00000 n
+0000189009 00000 n
+0000189471 00000 n
+0000189886 00000 n
+0000190339 00000 n
+0000190627 00000 n
+0000191007 00000 n
+0000191449 00000 n
+0000191821 00000 n
+0000192191 00000 n
+0000192558 00000 n
+0000192894 00000 n
+0000193305 00000 n
+0000193636 00000 n
+0000194012 00000 n
+0000194408 00000 n
+0000194789 00000 n
+0000195136 00000 n
+0000195549 00000 n
+0000195860 00000 n
+0000196293 00000 n
+0000196671 00000 n
+0000197013 00000 n
+0000197416 00000 n
+0000197746 00000 n
+0000198086 00000 n
+0000198411 00000 n
+0000198796 00000 n
+0000199156 00000 n
+0000199562 00000 n
+0000199940 00000 n
+0000200355 00000 n
+0000200565 00000 n
+0000201004 00000 n
+0000201187 00000 n
+0000201529 00000 n
+0000201749 00000 n
+0000201998 00000 n
+0000202421 00000 n
+0000202837 00000 n
+0000203070 00000 n
+0000203524 00000 n
+0000203904 00000 n
+0000204213 00000 n
+0000204684 00000 n
+0000205126 00000 n
+0000205602 00000 n
+0000206069 00000 n
+0000206452 00000 n
+0000206809 00000 n
+0000207180 00000 n
+0000207479 00000 n
+0000207780 00000 n
+0000208033 00000 n
+0000208257 00000 n
+0000208603 00000 n
+0000208898 00000 n
+0000209257 00000 n
+0000209625 00000 n
+0000209914 00000 n
+0000210285 00000 n
+0000210592 00000 n
+0000210892 00000 n
+0000211330 00000 n
+0000211759 00000 n
+0000212283 00000 n
+0000212636 00000 n
+0000213549 00000 n
+0000213800 00000 n
+0000214106 00000 n
+0000214533 00000 n
+0000214803 00000 n
+0000215142 00000 n
+0000215473 00000 n
+0000215800 00000 n
+0000216034 00000 n
+0000216298 00000 n
+0000216518 00000 n
+0000216735 00000 n
+0000217100 00000 n
+0000217373 00000 n
+0000217750 00000 n
+0000218148 00000 n
+0000218474 00000 n
+0000218841 00000 n
+0000219251 00000 n
+0000219581 00000 n
+0000219963 00000 n
+0000220379 00000 n
+0000220604 00000 n
+0000220890 00000 n
+0000221130 00000 n
+0000221460 00000 n
+0000221790 00000 n
+0000222132 00000 n
+0000222512 00000 n
+0000222853 00000 n
+0000223131 00000 n
+0000223411 00000 n
+0000223791 00000 n
+0000224047 00000 n
+0000224341 00000 n
+0000224600 00000 n
+0000224940 00000 n
+0000225289 00000 n
+0000225601 00000 n
+0000225925 00000 n
+0000226291 00000 n
+0000226545 00000 n
+0000226881 00000 n
+0000227232 00000 n
+0000227572 00000 n
+0000227894 00000 n
+0000228127 00000 n
+0000228362 00000 n
+0000228581 00000 n
+0000228946 00000 n
+0000229298 00000 n
+0000229639 00000 n
+0000230006 00000 n
+0000230366 00000 n
+0000230671 00000 n
+0000231091 00000 n
+0000231398 00000 n
+0000231668 00000 n
+0000231974 00000 n
+0000232342 00000 n
+0000232580 00000 n
+0000232890 00000 n
+0000233185 00000 n
+0000233527 00000 n
+0000233897 00000 n
+0000234270 00000 n
+0000234577 00000 n
+0000234936 00000 n
+0000235236 00000 n
+0000235516 00000 n
+0000235845 00000 n
+0000236175 00000 n
+0000236532 00000 n
+0000236929 00000 n
+0000237234 00000 n
+0000237550 00000 n
+0000237760 00000 n
+0000238075 00000 n
+0000238340 00000 n
+0000238803 00000 n
+0000239014 00000 n
+0000239510 00000 n
+0000239745 00000 n
+0000240010 00000 n
+0000240482 00000 n
+0000240959 00000 n
+0000241336 00000 n
+0000241788 00000 n
+0000242290 00000 n
+0000242728 00000 n
+0000243270 00000 n
+0000243701 00000 n
+0000244076 00000 n
+0000244401 00000 n
+0000244935 00000 n
+0000245157 00000 n
+0000245446 00000 n
+0000245953 00000 n
+0000246305 00000 n
+0000246768 00000 n
+0000247297 00000 n
+0000247976 00000 n
+0000248402 00000 n
+0000248794 00000 n
+0000249209 00000 n
+0000249614 00000 n
+0000249924 00000 n
+0000250424 00000 n
+0000250751 00000 n
+0000251014 00000 n
+0000251416 00000 n
+0000251641 00000 n
+0000252026 00000 n
+0000252347 00000 n
+0000252725 00000 n
+0000253127 00000 n
+0000253436 00000 n
+0000253841 00000 n
+0000254167 00000 n
+0000254496 00000 n
+0000254901 00000 n
+0000255399 00000 n
+0000255838 00000 n
+0000256317 00000 n
+0000256709 00000 n
+0000257276 00000 n
+0000257621 00000 n
+0000258527 00000 n
+0000258856 00000 n
+0000259162 00000 n
+0000259450 00000 n
+0000259714 00000 n
+0000260065 00000 n
+0000260411 00000 n
+0000260646 00000 n
+0000260905 00000 n
+0000261112 00000 n
+0000261322 00000 n
+0000261610 00000 n
+0000261944 00000 n
+0000262193 00000 n
+0000262593 00000 n
+0000262999 00000 n
+0000263320 00000 n
+0000263706 00000 n
+0000264098 00000 n
+0000264443 00000 n
+0000264868 00000 n
+0000265261 00000 n
+0000265483 00000 n
+0000265758 00000 n
+0000265986 00000 n
+0000266381 00000 n
+0000266749 00000 n
+0000267190 00000 n
+0000267544 00000 n
+0000267884 00000 n
+0000268191 00000 n
+0000268627 00000 n
+0000268881 00000 n
+0000269103 00000 n
+0000269528 00000 n
+0000269806 00000 n
+0000270217 00000 n
+0000270615 00000 n
+0000271028 00000 n
+0000271342 00000 n
+0000271749 00000 n
+0000272171 00000 n
+0000272461 00000 n
+0000272802 00000 n
+0000273218 00000 n
+0000273726 00000 n
+0000274195 00000 n
+0000274600 00000 n
+0000274813 00000 n
+0000275028 00000 n
+0000275380 00000 n
+0000275737 00000 n
+0000276072 00000 n
+0000276424 00000 n
+0000276764 00000 n
+0000277042 00000 n
+0000277460 00000 n
+0000277754 00000 n
+0000278003 00000 n
+0000278291 00000 n
+0000278642 00000 n
+0000278870 00000 n
+0000279197 00000 n
+0000279483 00000 n
+0000279809 00000 n
+0000280156 00000 n
+0000280513 00000 n
+0000280779 00000 n
+0000281128 00000 n
+0000281411 00000 n
+0000281706 00000 n
+0000282038 00000 n
+0000282446 00000 n
+0000282821 00000 n
+0000283213 00000 n
+0000283552 00000 n
+0000283757 00000 n
+0000283961 00000 n
+0000284274 00000 n
+0000284373 00000 n
+0000284495 00000 n
+0000284883 00000 n
+0000285270 00000 n
+0000285611 00000 n
+0000285941 00000 n
+0000286222 00000 n
+0000286574 00000 n
+0000286894 00000 n
+0000287275 00000 n
+0000287683 00000 n
+0000288091 00000 n
+0000288179 00000 n
+0000288290 00000 n
+0000288510 00000 n
+0000288937 00000 n
+0000289313 00000 n
+0000289668 00000 n
+0000290010 00000 n
+0000290291 00000 n
+0000290656 00000 n
+0000290945 00000 n
+0000291445 00000 n
+0000291640 00000 n
+0000291983 00000 n
+0000292300 00000 n
+0000292657 00000 n
+0000293012 00000 n
+0000293222 00000 n
+0000293432 00000 n
+0000293781 00000 n
+0000294210 00000 n
+0000294566 00000 n
+0000294986 00000 n
+0000295407 00000 n
+0000295871 00000 n
+0000296217 00000 n
+0000296680 00000 n
+0000297098 00000 n
+0000297547 00000 n
+0000297908 00000 n
+0000298268 00000 n
+0000298554 00000 n
+0000298854 00000 n
+0000299102 00000 n
+0000299330 00000 n
+0000299619 00000 n
+0000299969 00000 n
+0000300332 00000 n
+0000300602 00000 n
+0000300963 00000 n
+0000301256 00000 n
+0000301550 00000 n
+0000301855 00000 n
+0000301934 00000 n
+0000302001 00000 n
+0000302490 00000 n
+0000302927 00000 n
+0000303320 00000 n
+0000303868 00000 n
+0000304240 00000 n
+0000304355 00000 n
+0000304510 00000 n
+0000304907 00000 n
+0000305359 00000 n
+0000305812 00000 n
+0000306347 00000 n
+0000306704 00000 n
+0000306973 00000 n
+0000307319 00000 n
+0000307767 00000 n
+0000308086 00000 n
+0000308532 00000 n
+0000308861 00000 n
+0000312726 00000 n
+0000312778 00000 n
+trailer
+<<
+/Size 521
+/Root 519 0 R
+/Info 520 0 R
+/ID [<5ee503046503ded04f149152e177d82c><5ee503046503ded04f149152e177d82c>]
+>>
+startxref
+312997
+%%EOF
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/fdp.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/fdp.1.pdf
new file mode 100644
index 0000000..4cb7399
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/fdp.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gc.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gc.1.pdf
new file mode 100644
index 0000000..b63220c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gc.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/graph.3.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/graph.3.pdf
new file mode 100644
index 0000000..f0d705d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/graph.3.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gv2gxl.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gv2gxl.1.pdf
new file mode 100644
index 0000000..9fecefb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gv2gxl.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvc.3.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvc.3.pdf
new file mode 100644
index 0000000..5931290
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvc.3.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvcolor.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvcolor.1.pdf
new file mode 100644
index 0000000..342c46e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvcolor.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpack.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpack.1.pdf
new file mode 100644
index 0000000..386f5b1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpack.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpr.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpr.1.pdf
new file mode 100644
index 0000000..b1af7f4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gvpr.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gxl2gv.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gxl2gv.1.pdf
new file mode 100644
index 0000000..9fecefb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/gxl2gv.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lefty.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lefty.1.pdf
new file mode 100644
index 0000000..57e45d4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lefty.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/leftyguide.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/leftyguide.pdf
new file mode 100644
index 0000000..aa10fb1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/leftyguide.pdf
@@ -0,0 +1,9368 @@
+%PDF-1.2
+%
+2 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T0`5u5BP%#+0L'fi.HFEWg:bn[?IJdW4*;(dg1$Q;uJ1JRdoS7X14oCSV=gCF]S
+-EB]-&[3"(o$!s^\aoR1Dk0u-%B*mk4hd)J=4)Bq4aa,sIccC"^k]Wm6kZ$aTO6+j
+?SBl3U2CoSgfqq!ilFlp4)KrNloZ;0aXI!D`n4?sapn"3*Pr.$U<qF;-eE3%HJe?k
+L7G,6>1U\Q/,/8jjdOe47.T?No+Oq:.UbD?0")LSiSu!t2$RR(M.(3YA750O!$jQnp]~>
+endstream
+endobj
+3 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T10 4 0 R
+/T11 5 0 R
+/T12 6 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+9 0 obj
+<<
+/Type /XObject
+/Subtype /Image
+/Name /Im1
+/Width 395
+/Height 279
+/BitsPerComponent 8
+/ColorSpace /DeviceGray
+/Length 20031
+/Filter [/ASCII85Decode /DCTDecode]
+>>
+stream
+s4IA>!"M;*Ddm8XA:OX[!!*&R!(-_l"pP89"pbD;#RgtD#Rh1M#RCbI&.K'Y%1Nj\
+$k<^U%L`p[&ebrm&e>fr)B'G0,9e<U,:=id-RU8h-RU;A^]4`J!>bcp!<FAEs24oc
+!!!!(!<E3%!<<*"z!!EH-!X8Z*#7(VC$P3:>!<WE*"9Jc4!sAZ0!cnAD!tbY9"X+L5
+5u@h"@3T]B'JbfE#8OL1,Jd:*iA26Yn0E%+nKgOZ;j*l\@roLE6mn1nZSiV!A9>`;
+iWpl`#mqLeKTnnpUpO1O<@AdVj7C4=jRd#+KpALB`RX)CAp/opVRFLqk4U`(=(c`4
+Q`%=5fB;lf86BPMLmY-NaOo_O.60t&BmGQ'WO^.(l1lei8m5tUMOLQVb1c.Ws4mYX
+!#bgj!!iT+!!#4`/VYDo?DA8ee$K_-)Y,8/8NA,nG%:8VRb>3['UP'q)PYZorr=*'
+X\,j)'5b"S-pMo<YH*/82uEaW!6nZ\XFHCJrrB"4o2]e1Iuu\f!ri8FH+pE[7,Hf&
+rrC;h^8ugIDtjM9!1NM->Ps>WrhBDmbuqc^J!+RH!3![(?>lloOZ31>rrC;h^9.B&
+hs_$R!&\BbZ2R=qrhBDmc$@%*r^>99!)\7.]\caSaZ',!rrC;H^9.B&hs_$R!&\Bb
+\+p\e^b>W;S*J&i-Em9(rr=q=qR?86;uK/b!1L6B=T8@Hhs_$R!&\BbYrr_:])2s9
+!&\7s[pY.lAIJV!=Vd:"ebJuP8s%":7dVD*RW3I=DkqI/'=_CBcmVU6OeQgQ!Xbj)
+fUib57r4>Y)cGZeAMSWF8H`cD1'MGSHiF((J,djsCa:3_%F?Jr2`<&PfO_II>1OXd
+^O*!lq54mAGa+<3E!lQ:DY3EgiL+QCHLOR^TW+dESnL5]fVd5$rrBV_^Zd5cqI]S^
+Fn@<d!9kuNrb9Lj,h**;M&RQ/Wsu]9Ac4p0h\Ue7Q!s[m2!4XeJ%dPK^XB2Jk+(=*
+Dth6&r?YQq9]&]b^4kB-jsn:JC!H;Trr@FPJ'q>Pr6q/#%K?.7p\t4cYl=]lF+$Kl
+h\Ue7Q!s[m2!4XeJ%dP9rr=cS+4E0u)u];Nrr>Vk+7i6GW&OV5li*'K5N\Kn:iH*I
+fDR!tJ'C!fT\o3r^\UR,rrAL/I6kGj(KLJ8R&^b^P\`koN&O!3^Zec@dk'bOUoQe)
+#hY3?=RG_TEAt:-<4'bdJ@SZ3F^V!2K>sggl>n8a&dBgu:_h&[F(ZWVMp?uBNc;&b
+F*iDLT"e(Uci;ApBL%S2N$8&ReJS!,^]8<uNDK`&rYCH@Z,BVFm1"U$O*i%MbiNCO
+NZ(8-W)ltF"''k\74L3u'H;Ht+:n.lo85V!,pVc0rS!J)r(!AdDg\Cde;/ub0B4k,
+#81PmEqhYXC&;5)mBC*Z]!,>o6QC)oFXW3V,!r\+-D(P_&uT[YkBc0lD/X;;OMcJb
+8'F)/82R&uFs<YL"ai6hE*D,=FW?IAEjZjn7JSf8$!pRG!3Y'u-Omb&J)?1a!!G*(
+nG`L'(]F\PoqDBcIP:U1c0Iarr*T4BS(EGopqQ;c2m!VfnUKJODdFO[ir9"p%,S?U
+n&>;,Jf278J)?1a!!G*(nG`L'(]F\PoqDBcIP:U1c0Iarr*T4BQBO\\O/Tg%^M&*P
+?p8T^=.[+DEiX78.aSns2FHM`eM"$J]%#`$4$9f/6Q@jP%8g3o7Z>#NNW`*a;6]0U
+^9K%8orloo[D@bX95b`:eeTcVJjq!DAn9rONVho=dNsK:Q?\j(?J\f7LH(PYQ5qDT
+Sa#1`"R6d]QQ[,+\2^S5,HF?8@#(*a(&ad8!fed,;-J>19dY4Bj!+CpeHsj#:u;-T
+3FL<0Z-+`[/47YQ!8qqk=;=<_F^?T'r_\MD"A_///ujcoQ6[`P5UYJg7;_gm?N!1[
+g$qQ@E6V*T5H[WK2qAD&g--mF'&<lTC"%P@Ym%NCl4qm#-fU-!?ePbDo`m..i1N&@
+@5Y0`ZGSSnQP'h:/'&#R!Cp)H55jtPkmJ$tC5`'#J$*_<(*E+t(]95!l^RO#L]"PK
+rr<8<f/Mq%&,Bsur^JR6c2'cEr`Z&r!/"YES+MDir3\un!$`<Vk5?H3rr=WJJ&oV.
+\\C[;J'1eun8%uDIZUf6!1'RujC8,h>i2>.5NSmupbi&]^IVIVb>_j<C]/='OKe`b
+QDhRZ@fHF5:2B_?%"MU%;QW70Hp2h"f66V3Z:1_2*)XA?ZrKTg!SMoS?O[M?NRjq;
+'QD7\Ul(AJ&K<5X$qce]GM`I(h8=B6>u$-1n]A^(!74%J[',K+rrC^VJ,dt:jD.t(
+]l(\;W$@lm]t"W9U:<=%5nse;BR4;urr<RC+8'BTrrAj>^ZM'$nFhG5!*6-bqF?JC
+C!-GU%qm'XC:!p?Uj0Z:SDW;m"9,E'J+Sd<r6q/54eR;TWmC[,ir9"IF+8tP&,N\:
+rrCJ0?h7$2nFhG5!*6-bqF?JCC!HVucp-gGBE%s&nUJeD^Veb1rE?<&!9kOXq561H
+HU.T2X&Yej,K9Z_2!4f<%qm'XC:!p?Uj0Z:SDW;m"9,E'J+Sd<r6q/54eR;TWmC[,
+ir9"IF+8tP&,N\:rrCJ0?h7$2nFhG5!*6-bqF?JCC!HVucp-gGBE%s&nUJeD^Veb1
+rE?<&!9kOXq561HHU.T2X&Yej,K9Z_2!4f<%qm'XC:!p?Uj0Z:SDW;m"9,E'J+Sd<
+r6q/54eR;TWmC[,ir9"IErQ-Wg'@R[XT&:b*\[>e3EP?S[C)=&@rGu_G4:Ys`tBjR
+I5]r>"t/K!k*#1eZ?hiZ<PJ=@d0]J;N$07G_:Q^ls4$Ad_cfj;*BQm%PQ7T6-/aH>
+'TgNa2;aKW$>iO?02K$eH1%.u[=og)Me,j[:_p%`S=5I"RXBi:qK:GsP%aW=HdXC*
+ZuIp/TQ8i'U)h7h([9OtS@41I!oh?<#$;UL=Q9l94:LZEddc%m!$30M.#VASN(IGn
+&t=bL@oQt%/&l@+EV>Tg@XX#:<ol1@c>+FT3An0^'Ggf^X"f*`)hX?q+n=U%>[lB$
+lQNc_mFbZVX),#6!ZsZ6GSYGZeicZJ*=khM_ATNpk.A&;hcFEG6BS3LNs+Plmh:rg
+o&2r.Ffm<-D)\DUhHNFfD;m2kN@8F%]im+)pjU"""S;eFWG2A,O8]00VJiJ<J%d0-
+!.\G@S*H<3mtguDi"u6%qPC+ei]m2ArgCL"C&[mgrW.MGDlQuj^*EXXJ7%Q1lB\(2
+M#RJ5(]%b?V5O4M5PPE]RD,Y7rqMQR!IptbW`jnd,Q@ao?g4'FQCmW%rrCsnqI]T#
+Vu,I<p]^Yb^8YiGplGCTJ#7.a>(=72rr@RVl&j:S`>-.SVj7HfUf6co!3A@"kXKjl
+rl?nqeMI-;rrA)YSc8[E[pSe.\_?WFZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05n
+VuBE!-i&8b^XH4j;tTm)\b/*l<&+!*QsMop^utaKn(DthH!,DqH*XaHZLY<lZLY<l
+ZL_X<A'b/Tnr6oPrrD([cTV:.f`ls+f/*?=rrA)YSc8[E[pSe.\_?WFZLY<lZLY<m
+AS't7j^mObj^mT"48H#Y!$05nVuBE!47_/*4-ndoL@>*h*e44:n(DthH!,DqH*XaH
+ZLY<lZLY<lZL_X<A'b/Tnr6oPrrD([cTV:.f`ls+d51^7rrA)YSc8[E[pSe.\_?WF
+ZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05nVuBE!47_/*4-ndoL@>*h*e44<n(Dth
+H!,DqH*XaHZLY<lZLY<lZL_X<A'b/Tnr6oPrrD([cTV:.f`ls+dkgp9rrA)YSc8[E
+[pSe.\_?WFZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05nVuBE!47_/*4-ndoL@>*h
+*e44>n(DthH!,DqH*XaHZLY<lZLY<lZL_X<A'b/Tnr6oPrrD([cTV:.f`ls+eMI-;
+rrA)YSc8[E[pSe.\_?WFZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05nVuBE!47_/*
+4-ndoL@>*h*e44@n(DthH!,DqH*XaHZLY<lZLY<lZL_X<A'b/Tnr6oPrrD([cTV:.
+f`ls+f/*?=rrA)YSc8[E[pSe.\_?WFZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05n
+VuBE!47_/*4-ndoL@>*h*e44:n(DthH!,DqH*XaHZLY<lZLY<lZL_X<A'b/Tnr6oP
+rrD([cTV:.f`ls+d51^7rrA)YSc8[E[pSe.\_?WFZLY<lZLY7\mNAr6<oR)93n'UX
+'N`/RKc7D',1s8kH;@B,LUe#d6q3FD[:_kJ']lnN;m$AQ27[=%,ec(%=X&+QA6C-T
+l<2`g[u*3Mg83;0L,ib3(0FjQNOMtU)+aHG*LE%XQ'[c&RlKm!\,:G$5+hX/f^I"%
+q!M@9`Z)\fS9b._n(DthH!,DqH*XaHZLY<lZLY<lZL_X<A'b/Tnr6oPrrD([cTV:.
+f`ls+dkgp9rrA)YSc8[E[pSe.\_?WFZLY<k)iLb4<=O")65sLu_.n?$HJj:V:G;Ue
+B.JV_8\]50pC_rLr^l8K[J]pWh0LUNqR'-`L6>;C^1nGuLJP7cIoR[%2(@k49TmlB
+e<%#cg:5C4OepnaRQQ]pEDrj"60ZCagp6u7?i`Lm:^qpl&ktF?jCt@uD`\lEYVD*A
+nSgZ.Vtj`\CT6(]$%!NW.2:;-+5OL(:h/M7D.J_pb[J"C#UTa7-bg5MCjW9S^'`'+
+bKA#QS9OR/r]?Df:]-\uGNH=3G:gSi%H%(Y4TEq"fm-_G=a=.qZEj&,o!7hlo!7hl
+o4;HBci4"9NElD]!97,+4oYN8#(Q['1]4ue!07&Lrr=d_?hFE0g@Fg?o!/QR^8CmA
+9/u;I8<"qM9!'(O1<D]#27SXiW]1jj-l"hpJ6+$T9r>f]VQkPQp%DshqtI#d=N.sW
+GcN_?j^m?j:ZG)]43_gU&,]mTXIm?SK6$OfP/A"(R&>pTNP<h#%&`4t"o<nVmpgD-
+NmPuHke?4'_!h]hHXL,H>*DLcCRn)JKPJT"X:2BX0&[W6E,iL>.J_o&%7P3'PX\Q5
+a#Z2%OWHNnn8r?sJHpbBfi`U,NrEgDa)])^rrA7"Nr6?c!060Mr*d5;!/\ags46Yl
+H!,DqH!,EuZLY<lZLY<lZLY<mARo;srrDVL>l=U%j&XJhrrC^VJ,e+Vr4`12NrGUL
+!&:rio`2PVo('*WY`e>2]t)WR23ZcD4bOq<Q(-j$%Xrta'13K(R&<B92X6;'#O",`
+lIU3omhEL3A#6TV0a%AGW6RW\Epsd`7t2D!K&p1iG1gAkP[j^n'tC9Qa;Xi)K.mb\
+mklU4\o8<ffA.0LVu2mt\TeTY;T0ZN')Jo5UW!;AcDUT:LbW87)tf]r^YX<%8UoWa
+:)@EfQ8lQEIDZcuS*G3]J%\pB(VFq6+]:E1'-s2B]&5/=8^kq^Up0k!UsC<+`Gs#D
+lMSPGM`3:eZ%_B7]4:cPVqP6UR-g0*dqLCaB6U.po#Qq;M&Eh%;m7*YQ'[t"n)h+W
+G:YqMq)6ldOD`%?[pfJ91X)2*`uKIV>N(\4,9m)N4nJ^#ll(YK/G,p)%78Y*#p`hj
+&"m[Fj4.a$'E!9QIjEqB9E(sRrr=-ST?0%iP5bN^\\H2=-h:"3!$o>EY&Ek(M>WQe
+aY3LkS,@]/IjEqB9E(sRrr=-ST?0%iP5bN^\\H2=-h:"3!$o>EY&Ek(M>WQeaY3Lk
+S,@]/IjEqB9E(sRrr=-ST?0%iP5bN^\\H2=-h:"3!$o>EY&Ek(M>WQeaY3LkS,@]/
+IjEqB9E(sRrr=-ST?0%iP5bN^\\H2=-h:"3!$o>EY&Ek(M>WQeaY3LkS,@]/IjEqB
+9E(sRrr=-ST?0%iP5bN^\\H2=-h:"3!$o>EY&Ek(M>WQeaY3LkS,@]/IjEqB9E(sO
+iUb?YEAVW%'^[HQ&iKX5m)Oo$bMmJ"SaL*ZbI8uJSCZV:c;P#Pd-^_0A2X3>Jc>`'
+#(Q[#1]4ue!07&Lrr=d_?hFE0g@Fg?nur6/Ut8e?;@Z8C,.aA!(mGViBsKhRU.T]*
+!GEf-WG%>&BDm-s*leIp-&O^XBVn4]2AB\@)+aK,!e!gjD<rSmJ*!8BdRJ`:@olI=
+W;^%Z6g!-[]YH,Ud7^MtS3T:U_.f^)b0JdBl=#^G!mBLP]W['j2qsKG76;(m1I',j
+5`-)s%WB`qcb8()G#-g*\R[oa=,^MUQnCAYM&&(8+t01[J,gVj%";4Y5Ns)Z*FlF9
+VmuD3fRL1t_>563TCC+(6pAh=-]e-aU7&dTSD`b8]\1>T28A1^@J'R"agT&<%oS`b
+e24j.(tMc>Y/lUE:d[^oe-"a's3d4*Y'KU%>g!D]qPpV>6JV9sM]!ME?\N4K'7VLr
+nbOS,<Di0!RLmlf$`]4TWg'\]a,b&I4K#)G%$Sf67ZbM`=I"334FYZ9;>,]45>fC0
+nj;+f/Zmp]$rVC,'LDjY7d\DO5cne/`?30`a*A\XC'lSj;X0bleO=4uET0$(i-W3d
+7qU3qf.;=[2%%*3'R>Tc1tbbb-fqa2%?'fJ8V=<T:nojXZ8um#L4RiRGS.4$rrC3M
+S,QV-Sb>:s2uK^j^ZD_Dq`>naS,QEph0ulAmV%*IDu!G>o_RS;n=fiL^ZAZofB\?$
+`eXD&rrA=$2uL*:rr?hErA/rG[[[8#(5&L)qI]a-Q#/`mY-0Js+6f9o<OBG'\@d2;
+J#7/[<muQA@b8'/qI]a-Q#/JX[P%N%5LVRhX''asEG='%rr>aMnu\hUp!r0a6iAfj
+b-mf=>8EdK&+n-H!%Q]@q.s?NcGsk@(:3qR\[/o"nLi4\#ng&?1aNtm*BgWNSc6D'
+*P2+!UVjR;b-drBDV;i*!:5>&s3ie%^Ae1nrgj&h0t1N_!4ghSo!7hj'peT_Mg.pP
+pH]HorZ<tH\CBZ!p28n(YPRd/L0s^S+6/!Y)iL)#O>NkY4Ace.AoHd")j>jO$]Ej0
+#GZ4keQT'3nX7nUrJL"%:(rU+9s*!I%>4oE\rkND']ed.MgL8q$b9`L5jm9@OA>p/
+RWP9+(^:OF`KZ#%`@o0P5(&->0mG?\RJdm1%D^c8-joV:=q[o"e<,><nsP*/Ai'Ke
+PLp9KV5\6KXZ3,CN,BQI5^I`kIF^*PIT]Nq3k`Vu*o7)ui`5+N8&uFKd=\a1o4K*A
+f)G`1jbM=b!%-GEf)Ga?j\P$Lrr@l<s4!Qf>qF4ohMd!k0c:\//kS-(#3(p<_hcU2
+`_TCRp<c!Bb9`@X;hKn+&SVc$#mR5A?)pX8H>[0"\qK:p?TP92;PT3<5\e?fidN7p
+Yh8A1WMgPG2=*-1VN-``dLu+=at*A/;"Au_nJ"=GpF89rD4[T)hFNc)V].E98c/']
+_A2qV5t(%I`.NY[/PK441fc<f?;'O@K>o`'R//l\5I:50S[!CICM;Abk`Lm$1m"^<
+lFS`npo:]6hQ2*?L$u'X*j)egl"3AOIe$C_)TGF8Ws=S@!#7@+n?-$mY-Sk=P9uI@
+9VNaO,#>Ym]U`dOOi7/T,*b7:<8afmMu/\gbobJ6hFC<E=j3lO.`b.Zd\C2okuqsS
+b$!l6JnpbP.HHIl=L\'-J4f:EfX>*e?<1B5?<1BKXGhH)!<,irT:c$rg#p-I+OC)<
+1]4ue!07&Lrr=d_?hFE0g@Fg?nurjiqph\G!6e(8!7Wm?,HT\<@[>X:P!'\5+]Y%s
+F_-nM$tuVC&,Ng"[7.jn*gR2>0ofD5NR8qYe2"cCB&Ds9Ul5rjRR5#+At%\4)L3`7
+T?=O6<VB:J8Ku+mb3"S3ZQER)E&O%%8#KPt"XRj58U]ZLN^NHF'90<t!(N8[4RB?P
+p=oR$3Vu&4c)SM$`rs_,"j2.4`["Aq/(>0YPk>0&,CBs?qTo&ED]nJ.5ab.</O6N=
+b(oniMqd((F;rVBZ;]84JQGJ9k)9BoHW4GmVsba$0DTI)"+S<G$d8:aX9ZHL^bYgK
+[B"J6$./Uf7*GT1)dr$6]\1>T28A1^@J'R"agT9u^\iA#hWOk_TE!K2GlU*5ldpui
+UlZF]:qmgInT2aD?PBjdH?N_89\sCjN=<[+d"0C=)+.)kV07;<7bbGGVYFalUJs[_
+7qZ]`LQ/m-*/F`<"Y@hF'Or>r_Ou9?ou0d;qTMY\Y7&MogQdb#Y:a3P?tEL?-O6Jk
+YO(2DP0'd<f$Htk;d6rR+qVT-!i<DHhj%^kHfK$]X_-"`ik2g8Xjs+hH\r#HKJs3c
+?L:JQJF@!>c?LSFeYG[FR#>9"5RY43W7@&l:"0N!fkPA]`MM?pgGJWXQTqTUQkF.-
+ksd;I.P"aErr@?"PIAD=f,@DX4RX]JhBdTgEN9'Ye)8"/e$?a/5QuHkE5m6S=mb+5
++$rb%N@Gn*Gj'>ncWj8+Vs..1K@][/bL:o(^[kCRYG_@oC[[-LDs:%[goKb+492#o
+=,hNpZ17=Vm>9M!Rnp,5@Ee=*_79"[RB7=Uo&J(;[`uijoSE0JomIARH>gjUhih!g
+YG^<dYJ+f<1O-,PE1W$9ccE:7qmPTS2&o3P?OGhpTUO^=PKE)\?:bM7A-!p]Kc[;9
+h[!t>VgqXK':"oLQ^]KM*e41iP\TCErr<tGH11aR1]Q&_r4`12NrGUL!&:rio`2PV
+o('*WYSDoe)N4<)O\b[)6AP)9$a3aUI^Z[=8?p>`Nm(X!YG:>E;fVo#rL%n^%oP1T
+]4j*fHV9bB6#bf@R8_R1KbbgB'$inF(niPO@C?6fr[g<9J*!?"Ys&6Jedc%W3oK?.
+W$A;glmc1C;I><=Zc70S0F$[7E'K^B$V*c#A;u3d!6WH!#WmVD`3(`[/HBRcj+'&'
+b3FMLDF@kOM665=Zo47,8sT&2N=65\r`LU'<-WsjHnmLShs3%5*;(an.[O&e>9?N4
+>Wkt*AT7bt85or=e>f,]kBI42!9(H:V!+ju<St"k%&s=mjZ-30V@Lblc('"L>Q-^M
++&Dg(Cl;Nt!6:GOkPc]us3R9b?2FK&I1?sm?D=qWi:shdTcY))E6]=dCQf!iV@D`^
+_9]%^."H;o`4QJ@C7a=hgu4g>O48IC[/!nh)e>8o0dru^U,,7%Z]W44q/JP%k(aj-
+j-o4Lk0^>A=K\Gj-;`Jhp!C(j_N[N"l>O,Hoc"En`7S861<&P7g;NMM)G)jt/DR`G
+;5?;#DF*OGM!J+Y,>!o(@(.o%;YI:3\-dJeI@l%^L]susd=YmWW1u2sOKcsp(p&6H
+VVG28b8kdA*C)]=hZUb(G0m(u,E-W@6kq&!D:PX^du%^Jj^mObj^mObj^mSsaN'qQ
+!9G-0q>UH7Xe'n>!4!%5d51^7rrA)YSc8[E[pSe.\_?WFZLY48SbDNejs@e%$(B'9
+-<YHn\j,Vb^Z,qIgjd=5ppTJ#E*TY<1i3r-aW"\!#D-)$EG9OMR+LWp+896(pn.>d
+7pck<mK5+,H$`s"m-eo2r0Yj/r(^8.Np.H=Ot]9h=l#&;"*-srYcdtPSOUW]gImHm
+Q73CuAL9C:b#E=:/H'`7EW6"h$$;^WdFF135qT/g%'L;;MVKn0M!uKaIV]UKD!Yi3
+7ug1nm&]SGCM4rLRq?b=)#jT;h+uLY]p;IMg-FG+\E!aQfL;^;-db`qq*]DFI]ID[
+EG<47$DA1nfIoi<[2q;m['E1Le?3#?Wk>'jop.J./nt2T>)i:NVDD9,bF`IEJl_mO
+<]Qq;^BMI,=a@?6rbI#(El7/A!0_8^COc-MVt40n!5rsYd[GF`lJ1f]__S^##Gb>/
+XHe57qL(l?D25AdX%I9)I;0'h=QN&2R]l0C"AV86+@<7XDh=5J-O_V?\ON1U.u4pb
+=ZKHLTA`o\aEXd\nB.lK&2tQqQSa$$(UiI#=u<^SE_I)OQ/,,m<Z'/\]b?;'!&\u^
+K;A.Air'a14$bqO0hB-Y.EIr6[%)m5Zjb^__"WYO(/`d[W@CIQ5hAr8,\>Shl8K+9
+G5O$VD5l=&H5a.9/Fp`20cP^AUT@?''b#t_<!KI#?*U?>Urqg/:,upr[<.6g=N[_&
+c33?@J9(Np&ekAdPW_@^6`n[Y10a#ODA3<f.\lOs)_*FG*hK+UmR\MDgsUGCOmUsH
+MT$r'(NI]E3cWoiY]$9<rH@Yp+'miD`*7Q,]iX1XJ]j%$*aYK7>\j=6#e*=s-Fi2d
+.JP`>OMd%h!_@ahT&\S%CQ5X/Rc!EPUB`PJntYb$Q"*fpgMT5dFkC.9l5(!_M`TV3
+1fg>ood+^98[r/>BRo`kVo@9,7PB1./]tl5[f[Vtb0Nrk<,PAFJCfnXBR:_AP$H$4
+)n4uZGoE@H!En*<6/nMJ80'nn\0id[.k`e]7Qg\Nrr=Itcd2SJD"HQ_OD"UB1]4ue
+!07&Lrr=d_?hFE0g@Fg?o!"ZqEuiIY0j-/IjGGAkm"GIOEUKEf;uEY(ZuMlrUerOB
+j%u\LTE%dsIKI6oe&!uEeB/fI+sf+4]iC11Y>BEG%_3(Wo/<X5[D]u.-sc2jF)*J&
+/LqTEXB`F]6:[mhW2Rg<U=`dC,^Z?%\;Z4$=a7qP#,qn*1d)4H^WOGV$)g>mRU&1T
+VmUG?'mdI>P"4u_H@M2U$sB`@>ApX1"qC]#+P[\UTSdlqCeDi!#<Su?j)K$(Aa@/H
+T2$uQPTBc(asR@%=#TA`JOq9R_;^Q!7i`FpoKFL9#B96?Bt(OR[(BFH3?qi/-:>bI
+nQ,UPoQ:BD5q:1hF"%9'<HTO*6ON4AbKZQ$o3;2UQ6/p#Rr"!errC*)Hu=Gn3WIU!
+IU*i/?AMH!8Vfs_MU;qe6r@-cgM`Z%H9PVMIVES<d*!N2o#3#"p_%*C=f)!]+a"fZ
+HLHJ;2%:loWMZo*\heY/F6Gstpi-6'=r&E>-Md,^%-"d68ZK5s*n'/FFcp&V"F_O[
++t[+n3<a_W`jr81ZC=`ok-L?9RNT@O7JII)As$0F#--IfgY3'JLJ5%Cj4CT")f$c4
+7<F\6:?L+ge)L[Xi`N\TG41<VoXV,7[Z]A/=lu#@j*;AL@juY.J2:#Wk4E#geFCO]
+?>._;(S]a6l:;]TQ).QHEG'o^T2UffDI0/q"2@QhD(b3u3Qji+`Oe[G8gP`*O@AEW
+a5D.@!.P/eJ]M]<(p"5YXhn543>UaWL++E2Ua6G'8tN$tM^jV35X*#J9r8pX97(_#
+bQcIkNWjl$=A$pqYcAgn3I'PpP_Rc/2cAN9YV.dU8cp7j.:9&[r\#6iKFgiba`?B1
+H!VoU:UeKLbJa@U5^"6T0c#[@eE#bUM'S\KGdK5f`nj2HaU0&Rb5J$$lCpA.+ER_m
+ijOisf636r+GVJY!E'-sA!`IIQ'[sj,9D@7!0h6]kPkN#[X%?@a><kH1]4ue!07&L
+rr=d_?hFE0g@Fg?nI*O$W`e+_n`T+(o'ib3_+R\<oqk3#I7!^D<tJX$ma@ldXhU\)
+<F;j!Oc)u=.1TlaZ<Lo(/%PU9BtBZ`(V_"i\HfpB8Q:b7&*(Do,bOO2`7I1&n%f;!
+B]0Pu%qZ&'Wt([#MS]YZQ=^F+8>0"pIa\FsaoQ,J(^T@eI[bIgHPO2BWk1VUa[Hgu
+>^s@k^tkSY!C,Zc27U$$]25t57ll9!,t2b`q]KiBkfD6Ojdpg/fHc1#%fm[LU+#gG
+gbi2_`3A&GfIX&L^WiR8R\,\#A4'/Com(Zsm3R?E/7H8\(>]Qq\Rep?=R.Q]D%e=7
+j/%'#N_BAdESjO%qr%GeB)Nq>]XBaRT_hO(*hVe-GoZbjS+NhdqsNYHOY2.KQ5Ai_
+`O2PKl;8hm4fXYRQM1ZDPoQQ]bZ%DdHQE'Eq-O'[lV=mCinNb\.naMYZPG%gj7no"
+N3DtUq&DN?c('"L>Q-^M+&Dg(Cl;Nt!6:H&f0AdFs43Y<?aL17Ao!$;n\N!G$-fLB
+O++aS11)-uJnoVmN`]AI?IDi@91]3m"9.S`DmbrQBjQe:f6H[b8*Y_6:.j?-"\7o?
+X[)42O(eI3osgt`!n5^R0CJ-)T;^OT*tm&s>\`#b?JAktLHR\eIF#&eDariY4\\^R
+io=OX6\oJ$j`K..QYC9piqgp;YlLsNbUXipG4!`lAb-isEGKY'lqe6aFQF'!h8dFu
+'2JIRnKo1>XR5=&PNnqh9[SBRekS!2&bk%Wh[/b/gb5%$G;dbU:n>rt`-.0@U4^+J
+3AoRXdg+\"odreW&Ue$C.5WY?3@LrfGu:R!0tt?iV9eFV]_$LGI\QiBHiEj&:\\gp
+kWM:QFA.7\%#V<BaJ%OgX8KB(pjSjhfe#>-I^eT5-?Zh]Kj:hi?\'Usi`0Xtn]1M#
+^6*oErpW7W,P;lMdosZ3S\LYk1K#h@e41pDc-/F/3C$(fM'rYka_IMsEEb)tQjLAh
+]eW2FWjNDMH>6&%MM.Z%-a!cubKA#QQ'%+lrrC2!F7]D3NE\O>rr?RIs49()^Ae1n
+rgj&h0t1N_!4ghSo!7dG@ZG]/JlUnPMG`!E=AY'j$S?13o_hq8F)S2$au>Vh,pCX8
+b-dM'SCA\rlbrQ,2U$@"i%%%aW=GZ[AXA+Dn;*0!r8\tBOC*B=q?(kS1^\K>.J2Bj
+>^T*&h,j_5eru#m=DgBsR2+uFa9,55'u9RM]J0SEL>lh;Xjlc!\*Y:.<!(+mB""tQ
+[7+3X?;"1-+EM.0Q?I"c@S&O,.^TpR0G2$5cQ,&$ES0%^irD7A1!$p*!)t!4,\(%O
+L?24q(,p'Ip:_5:pr&&='B%Cmmu,q&gY+a2(GbOb=*\A?;F2-K.k<a_jEb3m]\1>T
+28A1^@J'R"agT9u^\iA#hWOk_TE!9-r`tj"HDqFV(rWT-",`[MIuCKPCb_)9('l(L
+5HUE5HRYNdJk=uk:JgV+<Vo4IWDgRfNKVUYJh)]N"*=.6A#-^[&i7Im&o\JWEWWHA
+Y^@gkjaprk/AlN6X$#7O!@"sTM/i_t,,gIIoQ2VD9)S2T3UQKQ)?Fa#B-?.l,O(?4
+H-i_=\12\$Dk8c4ddC4N^6gEY@Zb+G=:Q$Yp0u;@N$dMXIf=-#4DM>A*fE1,"!#\,
+,=hX=,N=\^:nNKSf!MCi6V&g4Iom<k7tuLg(_TV8R91aDC8ua9g4T41VCQutK-ZZ:
+hRp#A?@*jjT%ooe!q4,_=B,2DHp6_4>Ztlr-&\.+=7m5g/,#+c%7]WY1LaDOB<kYM
+Te'cWa=dIJFeP_a*.!!"pkj%rC1?`r(6V7.&#gh[_[N1L9(O5`'^u;%I3di:%6A1i
+U8r]gGou#g"=sta<.s,+E"@$A*76f8n\1bB]%_mP&#'q4X_pjCj2h/.mF)f[JfE(A
+47*HU,GLG\BZQ;Nl4#\IFuT_!\Ul)"0F3tIY)+BR"k#a.&]%qT-2N>kRdZ",=a=.q
+ZEc4JrrDjaY'tljX(S%(!:5>&s3WY#^Ae1nrgj&h0t1N_!4ghSo!7hj*i?$IiopJ!
+=gurr%ESq_O[/GMb:*,$C<F[:81I%o)hJT?JF>_Nj]siqG0B/VTD5Rr&cVjW64!Sk
+<&_5pbJ6##\Xr65oLV2jrrCQY--uLS&n'JuBE"/Pl4(C:)!q8&itfV0rrAXL5N"m*
+i7nVbqA3fs&D^*YN2T!05OiQ\(Yiob$?;fZmQN3l:K2HPbHrMV3m%BEDde8`"(ADS
+#&LrR]\1>T28A1^@J'R"agT9u^\i@Y`om=GTE!?/ra#Y0nroFG-qspgO*:KZ`Xges
+h]teiFmWXB4#dcj=np;jU0V@nr@k8[H?<Z4RV[?"(V#OM#gXK16$ZB?'29Bq@p&$o
+MTCI[Xh'N,*^0os0!=e<"dQTVb.t52%aF^:MnOQR!kTLAHo,#h)LH3`<D1#1V4<D\
+VmhVgU]U,^REm,+K`#,iGU=3>H`8$S#1M7)gGEK#KTIZgrJG`o0X]M;M-68QmiCP]
+TiMc*_OdD3pJQ9,aHO0:4n1P/ell4YQ5a25Mg&j).MB[c)l([r<7+3T:Jrq<rfddN
+\'nh>=q[F$_ug#T:<PRqOE'(B%c"%oNIeenrr?Ac36oK++[JJ&K`"PB^,U_$(>Zsk
+M7K8*F"p[JM(6H2(R$N+l2tluVRW_%@ditl4XgN](R]quOZjja[O&ABX1/AJf^$Jd
+H0ia!YcO\(!!l+8:D<WNgq*%52:i2]b/LN5F7BgH+&l7TE'6]pT(HbMrGcM\qR7/h
+`-IA@OJ#3j0?,u79g6nB6aqddfd6Q;5dNiI<p$\%MipP7(mMCFZn9ng7^%+ZVV,*t
+=a@<Y1$AQ:q*qN9J+9RPT)SfWK0TCb1]4ue!07&Lrr=d_?hFE0g@Fg?o!7bjf&8/3
+-FT!O2GNDRMq-4RD:NFZMZij.Jun@r(s>T?>YKQ;fQ?2(AUhg!n;hL8&XS#cIrTsR
+E].'G>>+t=pQ77]Wle:jYF>*QL0Zhr]Y_,d5@tsr^LI3CA:5_F`?r9M"r?a.RW&KN
+BL"0T@VSn>Ha*YdqR+l)pTf*brrC5!$tt.N,d^TjP49SN_/[L8.'Z0u*,DjSJ.rLo
+#!4Ig0.S\6ESo#Zq!M745OrZs/T:Xh*`W,STD4Frs4!J4%TjhioA%2o8BaiS'j*oF
+RIs?"-l9g?P%Y#q`,W[0qb6NI/56O-Zr4Z;hS-gnEAWQ)^--ZWgW_A-f%,3&X[;1'
+-P6OEd^b*c'i.R`A_N^rHBL2(Mjq=A3MDA[+g2oA.+LfFF*V:DO$U>ADumJs;biZP
+(TucW3>#h50&O>7,,"SU<4=,\X45U7)>[)g;3EA2-%]?GVNKeUUs*=d.Na`*=TIdW
+f6g;8>CW`pDJrLd9`G+)oGeX*T1Kic5Qm%@eEFqhG,&e*0)i'?(trauLmEi-'m>C(
+jH^b`OJ8+U"TTS_@Sg;Ti_CVK'=;Wf>-H)^7fNJCNO-2hgM$#M<^`0m5kO0YZ1pt7
+l\ja9?)/.g_!8u+/BX!G'b%*QUMn=pVN_pn18OE[3X,m7LJ[9We6u4r*!T@.7<)#&
+]WAcI]\-F)oD\ggUK9ZEpsl^sJ+c1#s4&q'^Ae1nrgj&h0t1N_!4ghSo!7hlnft,Z
+ITrpX9gU@E"jjc5iOK$GTdZLl)F5SS^N[Z\&tOJNOEt*Nr3b:/dPRTi;k')W]5Y3E
+T=)s8q0USD]RKIAf@<CFZ\\V]`]Jd$rc'8#l^,2P=Y)J"FK9O0Z%u^R"%FP'lCjl\
+6:W:B(u65r?M*)4W9\4IR8ubc'TfMp*/PPN;M5B&5@E!3_[bk6>Jk9KS-T^B;r!O^
+ZP0ks`8[21=a=.q=a@?6rbI#(El7/A!0_8^COc-MYDpm+7mI%)S,Qa5,f9KlPXkVS
+<F%VA'BA0p#o)L]P%/^7,"hk8U.)cSKpa9@HG:+[A0Ra%:DZRML[BJU%"2?\WNICu
+RM>CeG\*0ViZ3rF(6?>I#[OL95=R5Je#^"7NMs?br+0nJH>%J6*/Gt\$jnP&<r;1>
+</k_m&5kB:4Z7VrDJd2<MRLBsm2ie5D=jLFO'o0UQkO7Q6ZrM`,U!:[G;T1;G/[q"
+Y]!Q5X]?eZgu$Kd`RTSW'jlj"Tn2YuJSi))i3p4N\#g%S.$@`.i`TST)P\`]*unak
+[/'t;CE#3EAqDe`dE'8)WH^rg1&"#/Sf"c-+QA7m&m0Z4.`AY8Umg:4cI&bcbeYCO
+U^XF3&\s2!5d*oJ^/J0;]/qhT>"K?>@\T_jWTgtf?36Mi/`<%L9,bDjAQBoh!Q>m)
+l7+jV_[KT9,S3GM6P>'41]^TV709KKJ--M.bKA#NbKZ<7O$EXEau+83rrA$_4SSjU
+A/YF!1]4ue!07&Lrr=d_?hFE0g@Fg?o!7hlo!7d7Xl-aK`H)Yd)5/K'L0BV,2+CTZ
+[C*"Om9rNsSjai"J=9BC:cI,Eb0.rNb0.rNc('"L>Q-^M+&Dg(Cl;Nt!6:FSmXO4V
+s3R3`?]/t!?W`/]UlZG1X#C9aEHB1eJ`:]HQBL%:ZWV'"b86o#(Q:2T]VIJ8?:B:C
+iQH)JOd<RPrr?$.dk16YNr7;<<9.4/1ju)RRT6iY?0aj_&SVWH;5hSoo0i,d'/dBL
+(Q#-WD-HKU')a`)W>p,'_5T_@m10761iqn@2>E'[K^XJidH502m]CC9(H5"nOJ%%.
++nU1;7TTCn]_c&O[uO`DokkCLdP<XFMoc?Jpkpjk$S8>SJr1@emn2SZB_V#4%D(gH
+$s*B.=6<CIlpIgpB5,P,X2NA;^;OkS<Z6D:UPGH6mV87t?F1t/C94)7ESX`cFlgA(
+MT'Ep'!k(PZuX=;bT09(,rgSe(_;=NmIk_t`_1/qF)(F#'1=uc%!"IMYTd*^/tA^o
+?NJd9+/i>3lYihZ$h;7`?$WFAh.5Ng<N'dll\i9CaVg)"7QGdgPa4CY4@imTqWr2]
+(@W(8bJ_<I;#Zn=em8*WnogaP%_h]Ll*Cbc-]2J$28iEaMQWQ[CI5eJOa/`$<4:<T
+PD34c=a=.qZEc4JrrDjaY'tljX(S%(!:5>&s3WY#^Ae1nrgj&h0t1N_!4ghSo!7hl
+o!7hlo4;LpA`[LbA`[Lcc9(j(rr=(_&#]D$[RI=u!9;9$CS1B^J,dreIU.9tmsPZd
+@eEBGC7c:p4@o7Q94b%nDe*@`dj9_H)k2MiOA/(nCcJ1\dIi]cVorq_jOL&\H^fi`
+=W0\g)VlSKA`aQ0O59Z.+@"'(T\Bt:qSsH^geC?p"QU(8faV-_?Ru3lf,!'[ZGUJA
+cYj5H$Y!FO8gu.uaWp@$k&>=M=J1[WM*-`4<CYf?+U>jR1@EupGKL_`1F`I]SjnE_
+#6UCrc+b/pMKe92?q^Gbim)c,+0,`P90XLn>+&6Q@o#u[PO7p*$DD=KoYVed!V+F$
+Q'[c&Q'[c&Q'[sj,9D@7!0h6]kPkN#[X%?@a><kF1]4ue!07&Lrr=d_?hFE0g@Fg?
+o!7hlo!7juA`[LbA`[LbA`h9"q5sYs*Qntkr_9giXoAC]b.]f!nJqSYRXSWB>F!Oc
+)3fH/H9=i]hGq(?o_OXA[`L'UhqV=gI:<FaX_pbe_]i-_8#7sEM*V`-2*Ug$Z`M(;
+\IPeG!]].LNJr@uq^UtV0\#\:d*m<f!KEOr:l,XqY8CE=0LF5XX2\5.n6!GH8N<C8
+l+[(P4(4,!;/@oS00ZTUV/Dm/Y6>)*2#%_r/_e1\'K7+7P"e:&rEi?g=6f;Y;AX)7
+&g^\s!4T2iTYP>SF)hqIZ+7<WP%)Tr\HjJDkqOSW4c33;D9/`@>:An`Z[t9Joe$gj
+9dORU"*7;<?hb6(_&6C$=a=.q=a=.q=a@<Y1$AQ:q*qN9J+9RPT)SfWK0TCd1]4ue
+!07&Lrr=d_?hFE0g@Fg?o!7hlo!7juA`[LbA`[LbA`h9"q5sYs*Qntkr_9giXoAC]
+b+Hq"rr<YWs43Y7!dUos;P#:i^6jnW8s%gER;Yb!GrL9-^,[Gt3Y7<U77gf/D(5Y3
+L+o9[9#^'T?n!r8D+Yi<[I:c=34b^D_Vj4TU0Kfk1kf3u"o[H%&&fOk)UmK1@.e@J
+4:jZ/O@f:86rc]Q9]!:L9.pSP.dn:h(ft.R.9"o1P\KS4liin0)'H@>,8"47As&6I
+q-YdBgI\5GR33pl]LX9WAr38qT1JQ]8I(0=,.lEn@2QJZ.g_Gq\Wtl'/(L3FPcUk*
+p/"Hg5V^XBg0>K5'?;Pj5?]1g)jGIIe66uuYhoK'X"62n><8O4HYCd$W,>Zfai2/_
+'i;QA%7o\:b:bA!.k`D+.k`D+2HE:0rrE'!.+QYir\\N`hu/XLs49()^Ae1nrgj&h
+0t1N_!4ghSo!7hlo!7hlo4;LpA`[LbA`[Lcc9(j(rr=(_&#]D$[RI=u!9;8cF8l4P
+ci;@\q#VG2O&6\`(oBS<_SFQ%a$(\>F\;<E1N`3rXR;6;$h/)8`W:#sJ.=u$4_fHT
+6gB!b,aY#fk_jc5)Ff\E$t`IV9-l&JNhgcn2oCI10aT9R\TTRp[6g%*b3dP`7tX]V
+-K58l2=nd:`?N&84"1L+U.7fsr,>Lg`<:X[7GJa0Tma^%.h_5U>X_H&:mU1JL:<nF
+)-OM&`;h2pVti^]:=[.HnEL4%R`;"Y8RmhUP[@R]4X7dqT]8MBEBb\&6F7Knr,ZH2
+A`[LbA`[LbA`h.Va.NA3jVk]*rrC'@SpUJ;Z4-c\1]4ue!07&Lrr=d_?hFE0g@Fg?
+o!7hlo!7juA`[LbA`[LbA`h9"q5sYs*Qntkr_9giXoAC]bJ*^8nJqSWT)MoA]gLm&
+hB-Mo(04aB?<1BKXLtXIXLtXIXLtXIfi]0`rrDtl=$JqEe[*SOp-G>Ndkgp9rrA)Y
+Sc8[E[pSe.\_?WFZLY<lZLY<mAS't7j^mObj^mT"48H#Y!$05nVuBE!7BQRij3""=
+F8l4Pci;Ldr`X``8&g\@rrBlJ6H[KobKA#QQ'[c&Q'[c&Q'[c&Rk#^)J,]M5C?Od[
+!#i:kn,CBas4&q'^Ae1nrgj&h0t1N_!4ghSo!7hlo!7hlo4;LpA`[LbA`[Lcc9(j(
+rr=(_&#]D$[RI=u!9;592a?gPs43e@>(*M?_NE=H)`ea8?<1B5?>Q^UXLtXIXLtXI
+XM!4h)"[b-r1d=X5PWd8c[YXSTE!Lur4Xc^,1FRSKO.oFeJk-Z%B7r@AmSME<aJg5
+<aKUD]WAcI]WAcI]\1??2*j:ZMetaWf6u[sK-HW#X(UqK#.^G+hr2o]d%:5?ID&.j
+OjnlsB0sbab0.rNc'=W\Q^*o&Q^*o&Q^]KM5(*UI\T":./-SV<gc&,PcX6B3TE!:p
+r4a@iqJeajgNEMr:^`hpP5bM9qt"i8jr]%i9Dl]rc,kI&IJLE,o+/Sp-2q?Ik2a;$
+55a3&q1mjsP5bM9qt"i8jr]%i9Dl]rc,kI&IJLE,o+/Sp-2q?Ik2a;$55a3&q1mjs
+P5bM9qt"i8jr]%i9Dl]rc,kI&IJLE,o+/Sp-2q?Ik9'WP+R>=-hllsICb>43V7$<5
+UY=QPWGa$<HAG,mdO&D6OEulcdd3E7RAXa[Q,HjR65\d82IIDkXj05_amFjGQhcEo
+S!*dO0`1H^?fiGZDG0oFn'/t(R!ne@0Co^h2^SH3pZCPObWbs[QhcEoS!*dO0`1H^
+?fiGZDG0oFn'/t(R!ne@0Co^h2^SH3pZCPObWbs[QhcEoS!*dO0`1H^?fiGZDG0oF
+n'/t(R!ne@0Co^h,<gQaI'n#^%fZP!X(S%(!:5>&s3iR/)Pq]CZH/;nS+fGk\WfNk
+=qgTEG/6U0gjeAHp\mT'q5554!92USEBW<9,k4ur"a^TU`prYC5Mhmeq%S>@SA%1)
+YPZdqrr=7(r6pqOc.)anH>e;o;?$WbF)gephs!)7ngOM<brN<0]DbuPJ)jK,!1ItK
+o6!:SS)=#UJ**985&RS$dsM)p,*2ZNQ,h/(rrAkOrrC-8rr=n<j6#h+BtaNHO[oCb
+bN%aMrrB_k^[`fQ!6mN/I,.TmVYC'Y+8Mfn+#d:"l+R)sO[oCbc,\)`rrAkOrrC-8
+rr=n<j6#h+BtaNHO[oCbbN%aMrrB_k^[`fQ!6mN/I,.TmVYC'Y+8Mfn+#e\m:%/";
+5P%Wf5&T9V-MRL.+8Mfh:H">&F*g:S!#6+G!#jmir*8eKqY,ifPJL]b'g2_"m=9+"
+eI8Z?XZXm.Z%ZgUPpJsXW!)LK[p<I<oQ9[IppdC[L-)#cH5"mps3s:eRmR6p024K[
+&Y])g1ClC,:Y%0!-F=@'&,9D45&RS$dsM)p,*2ZNRua&Jrr>X(rrA0Orb9Wtc/8*@
+HiF'iO8RIna3E07!.&R5jAGpWRW>q6\tAFcn,/&-o1j0eDVP+:p\mT'q56.n2fJ\Z
+HiF'iO8RIrO.3-Jo\TTJaJ8b82!+9!Far8;ht[t9k+&S<DQ!B\HiF'iO8RIrO.3oG
+VYC'Y+8Mfn+#e-;PC*<0,*2ZNRua&<rq,(I!6Cr8!&Wg-o6#Q>S)=#UJ**9(5&UB#
+QCHe-'S#88gjIqeqG$GVMEg]-?QV4.rTV#q!0KeNC!,Jul@6K+^[`fQ!6mO6q7=?0
+:%/";5P%Wf5&T9V-MRL.+8MfS8"4`QqY,SpSmIU[esgdK9La-q3Jk`"c/56]ofYjE
+[.gTZ:Y"jIhnS^Ml#e*(rr>:WkPs3~>
+endstream
+endobj
+11 0 obj
+<<
+/Length 2205
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,997gc&AJ$CpuhljLSWeI":9tZPbPm/HJlrOc)rV.OrS-7I>9TuMR8qM0OREc
+3Uce+j2^QHrO,nPj`\BM)l],)IVX=/V-<#,]#g8mdm>SrMtb!b-'sB!T""B%p#0JP
+#$k##gODIV8Ku`kaM^OR+dYgD9iY24qU8p(2LF4-<DHnT?&$,[@eE2'$Be5Op/FI"
+<bB9K,'!)*^6YIO(!96]Gj9%1E^%sU^R5:m<)pH9_k>=G;kru\?r>1o9`9K'M^6fW
+VcB-c<_^])Ri5?_C3JRgR9I(E^(bJPD!L7?1ulS.Vim%n*m$8cb6Q0gX5$@u'SM(a
+G!3PeL#4TNY%D?jW$5ftYAR\s-k@pgmFn_GPG0I=>tX`HF&j8!Z:b<$G[BX$Vf`%K
+X8XljPHp80fr[->q'ooYo*=G7^UF"'n*M3T.]^E3@G4X<$cGq*AsEo9-btJVF9d9^
+^"u%NVXGY9-srdDr6Lh;PGT<HXIV&PcaT3,:>F=$)=,,Cdh(5U,43heW[b>1oV*%.
+=^[4)AXL@+cpPdC..CB26d4*9*7Ib\j?)h6qi4Po<T0`J7mU$Akir)peJJOmAmaR3
+V-e8!GCub.N7pZ,)<j+iqIM;>qP>P1D:i:!a\k8[+cG'mfoa=;pGmoh3al!OZjM,q
+-JSqAV([YZ]]5tJoa^jYb-9k_=`5h)Hr0A0%,!WO7SgNGXn(5DcYd6fU=Qhm"*@"$
+OQ=97.$3LeaM//G"R^`V:C0N*<>AcNQa%]D]Kf3]IYXiLVuU&nC0.G[/4#H>Y+0g"
+83iG.[HeJFSp_nm#rXuNRQ$95!'fObQ:2_>UQSV8=OO%L$8Pm6froE2FGas+.]0LZ
+4(_a_G20`,EG3[Z3eT;*W6=6r#IpI+qA,alFU6:\I;D@T."N"2EEaW7edWOd$F<$I
+,5IPipXG0ke2go@KI1,#ntMPlVVP`U<Hd!=d0OE/l^p$;O!.XoF7p#0N,kjP&XN.O
+B!fl-6)#HahkuBRha>ePh7rPd`(?X$M;U%#HS10poH%9uW;dN3C=.u7rBbg+qSffG
+p#J<k"TBA`h`EdE[rG/[L]b4$,03RDMMMVI80YMD3H\%j4JP6t3c\'R&L*TL&,h!n
+Ie)52&l$q%GhP3t&]W2Yo/2R,U*=h"9LCqHLhK&!<sB0Jj05\B!:/b+j@-%i0I!jY
+NuL5UVS9E`B\sXR!!;n]QJX7KgG4>K8Hbs71B\g)O:F;S3!9*(dY3]_/JYXJMqeE1
+,D0*M![g$(X*Fd#c2aIVZ"Q%Nbr`?;;8]HAKuJ@mVK$\_#&5'RmfQtX]82Cr("(Q^
+K86`+bWDOMc`:5nZgjrWZX3.aMfirQGg"W27lIZ.qVkUL#fn"/Tm&(k2rhu>Urn<M
+ZJr8a0cuB%C8M=HJurk$4_I+U]XlhA).iq@WQH7T]+]A)\]*^C)2UZ-p5/2#g[Y7c
+\9kq`rpU#Y92[ltUfU'-Pq4,,@/B@d*1,KtSE>rHRGc"g7gC$\F7soG'DFSqHtQ*0
+Wp_j7]T/"OEs,=3D0`VUqOA"_bDZVk#?S!GR1#,m8sZqCh(DT\:HLA(>nAd&5P\c7
+$g]QRpJ+MQ[DQSHi]F:39ji;R3YnhhdP;eP)hLd&>^WS]`(^o+\2It)2_PmVk*\1c
+0)@<)A&sTOG<GSZ5t="Nr[#tZL5$i"[g/T+G4p,Kcgo(NT0W_Lp.U;sd<G82h>C8?
+1J.."-X`.-q"!YN-``?i79<C_n4G1uU=iB--kuctS),O(ULm(49&h'.Z@>WE7h;!O
+XhJnGmKAZiAJEc'W-idhUj#m-SCl4GoZm:ARVmm=W5JuH)SW=*_XpWWaQuooH"$IB
+@@B=`><ga"i__YR_[bK78Ds:[XqT+DA#=;0epM2iK,2pM>0^>]FcSN*Zb%jFi<rm\
+Rpk<*781N<-gIYYqu//O64ZMmR@9U"GDfL!3Z0]4#DlOI?-jMk<HF`o#bJ_/Dtjei
+(E*,0VM_kcXR`:)q/pf`FJ>`f4O5tke&N]=mbBYCP&(WnN9<#a@m&pS**"a49C@Ei
+N4q\7qYK:J5p`Q[-JN#aX_ko'n;W"qau8ui[cm1&%H_UTLehQ'+nPfEKh_j-L`RXo
+@p8?8+SBk./7]6@JaD^hKl7'?i:D-^02VR_P@q>X`DRGtBU+)K$>`Us<%dPq80hS_
+I9O;`r?R`%qSf(brrrIRh'@O~>
+endstream
+endobj
+12 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T7 13 0 R
+/T8 14 0 R
+/T9 15 0 R
+>>
+/XObject <<
+/Im1 9 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+17 0 obj
+<<
+/Length 10446
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,gQ(@7%=OkPkf4RVUK(=YqWQ^n(^L1Rqeb?uD7?B4S%_QA[3t:D&*l\+.MKU(
+A%-`@Fc%`U8Ep`_LJReZB6O0=LU&UW=43`(n>iDcbJ#ClDLZp[GGg3l5CGH%dmChD
+LPNo7^(,)I3'ZfF4k-nmb-Ek2FoS@p7oOZZ1f_rPIgQ&=21RS6I<f)\gXC44gE)FM
+_`HVV:VZ7G-=aW#b]@F@cF//RHlcYG\@mHGkca`9a7"K9e%Ugr\eYgIQEZ9!)kmqI
+8b.+rem!+0[PhR7ELBSRn`Wj%Au>6ub^Y!\Y/g,NF@qJ:YN$d>R`tMPSIWOtSrq^_
+VSd_Pa!Fti<G$It/i.b!AIATEg\N-Y@T:L<2OIKG\7_2L(mOT8DR_@i$ERt5AVSBT
+G+GaY`jcPmrK<.e[_34=+bd<R-19fCf&_[bB4nop=Ib8I@G@mR2W%:$E$:K%E"$C*
+fD4<W^V,BX@Hm*"*TlgtfQq6LL\VM&N)PR"<ok@f4H<jbn^>TC*7j("KG;sQqK6$F
+=5W*.]R*^!Q_`C6Y8BLiEpS9<YHPG4kr%<rD>S]VjRqh0&P0qPiFb.>1;jR#CSqU?
+Sop+C5>1$MF4>95K`lVi.B_WLoIW:cK4fFeB09(:dp]_Pbj+4(DnXj//un'Xp`WuL
+3P[PlJ-:+B"_X.kf6mPl%)4obF'oKI.Cs?K]MAG<pcZs3EA$Bc:9M?=A'S],*g_5t
+2XBjpL[4@Ha<'7MgpU!b`a[?S<Mpb_f17nA%X1O)T^>uJ^5/8BoQe"hJpk'_\<eft
+^9mg$k&FL@iU,8M5J3=bF\J&043g38XiEs,5$^rmUWo\@XfhRb`MV4I4SWBUp,]gO
+b+$M,nMi+=k94EGpTDLDU`*(ALuqek[nF@BQYd\U/usJ.Z*nUrDI9$-CEK'biupjh
+jd/ah-Dss>U^j$ejoG\Xo\IRWE[cGX@b6]0S/*_>_t#r:LH6[;KZdTffAehD.ocd+
+)q16Y!ai`Pk-m@+;tZ`77Ae*$9ibM>L>M&M'`ck8>Trp.H3]%]Z'TX''WZRLbG<>B
+q^K57n?Ai&3Jl5WRt&p2D-QYe=$Fs0)sGPuXf.d$%ja2J=]OV&(tNi$^>@Jo9Ie1'
++K*'i0D-PCRfCEe0B$c>0'(Qd+e,QJ@duirP^[FLL7;7l2t[F#0/<%84J-*f1of`Q
+a$E$(:ju1p^MTg=m<h-rhYul1N[>ELj(n1CJ!j(-eC*QcalKBe"I@XrH#ORWmT0._
+`Wp,K'2b)<?Fm^'W>hcA`Ik4]SlDe;D>P/8b64f8##Jp92#*>\6g><&s&a9`ll&S/
+bI"?j4K1C6+D6oGdeN;.E.7L0*j*]'5>SPJ4M/&ijXH.dbF%S#RU=Z'2--`4%J)\e
+:G`dIVglt+@]cYO*n*Irf%7RUDn(sn,$!iG]=cO\3CX4JLR.hsbJ,N_cL;tb<KT(u
+'_=j9CRJWHWdDrgC;9SSQhrY!g1fV_93"3(4Hj4qXAU(5TdeM)gDUrEr"[/\/B'CS
+"Vf(^Gq[2lXb@W<9FKHVW`M\TTgYJ+J&UO>Gfm@D8S+/snY8d2)\tViV\U=KL("#F
+Nc.*J;$R:BhhAt!Q*&Te]O+h=Hj`4h5GF3_A3uI4pnhs#oNUV[]i!`oA_IItRLbK1
+GT65+f5?akj\'tFGOYmc*%O2n&k1XNRY#-D:?GdG`!no.:i%Y"9@O6W09+H)r2G+d
+(Vk,VHFlBI:^lNZpCEKVoOgA8O(h,'_%tSHOcRFi>-cW.46r?Pck&!o&+jQS^.\Lr
+'C#Nj5JHM5F(t#iB?K&fG$f\IG=S)_>sV37[<,F9mR"5Bo0?7$LiM8Q(YR1N'ijGg
+(@W5bd3o0_rH_DlA;KQo_Bo_O0LnX@ed=h[`<KI7)8)WA[Bo'c"G!3>f6?)mE]u./
+L`WpWX0`*DnN(MaWtS>'l[>Im6)<&2/1Q(b"qcU(0ZaN`4bkI9V4[jm5rn#0KfWKU
+U9+ITk\\_S5S7S9JX94:0D_\f^%*?j_E`t4K,7+FHNXKU5W%Pd%DqW<&sO[a5X>F4
+;nX:HC.tX\!)$\+QrR!!.sMq"nY;fjVmbMQ!qQ>jFG6j8M_+JqW1X.\,#!k/HBAeI
+i=^[H=M`0'U)+jKX1S]<7hc5*c5?Z++A,B8^BSqt.16CXUW=<)b=\'Z;>E4*jfCqa
+Nhb;9'Hm8&]'s'iYc[u06$\;.J-c&J"uP6qg;7$iT`D:D'c'RFdBE8;9u)2]O@Dt9
+LcRg(?GdN_:-]Ebo,VM[CUh`O5XPQYUFJkN#Rqm]Q1^rI&[XrJ1r?to>`2HIL6hBq
+&Hi+$?k!9i03jDmi&0`sku/;S2&^5X8j`VcK.<!I7013_56mC07_DJ4L'cAWa<c:S
+O_fq6BqUD)'g5;\&HK1k2&%1ifS6[RS;B!VE(/V+E3#Y,&W)L;K/,h23&C[s!]h7Y
+/@/=DP6T1FiH"nK!*CE`$4pRCA31156l?lPrbi@T6Zb0%^//P4.e"b+aO(aIL*Im=
+Kg]R+E#k-`PRNfg3&C^0'Qc1K'cG:_)*.Ie2@+L1cp/I0$O90(d[PbR!SlEt6-7Io
+_%Ve6#N(9!V*BTa!hdTW.3!r<"<^!5V@69t!6co-GB*im#Ml/k8L;MqK.MW\?<"Hk
+I/Y3]39Y:J*4$&3Lk5]TO'K.O!$".u/lDgTCuAk9_%1j#V4&>J+;#=iPW9t!)+;Op
+k19V%YIPT#=n5`11]VHHl;_,hW@K.-P3]K<`JV<e,'qX6]i/5?5k]8I<jLL)-n#'?
+OjDAS7hR4HQ:q8^"[Ft'<:\R`84J9/EVr+u!4DtD:^0^aR]88l&clF6NXIib7Bh</
+;+<5"q.iAX>)JND&.)_`5QPHcU?)`T!/W.$."JW*'MsOsi\ND6%$"p5+:+]P2(pHt
+?:J/^=^;'`GD#rakZkEr!:G8E5DZhADd\2_(Btn>E$puN5_N8?(c2:ML$3=aSkJhm
+'TjQrKa(pK&e,#cKZ2nH1,;[Gf@+1qcjnINLj26T(oP=u"%S]YZ3J)Wd85Agdb1A4
+Bedaa4UZlD?j7DV"iqB2B:t1l>kp;aHqf-O7ehn;CC5i(,Y=m+VCXcVc3Ef"hC,M$
+&[,]%%fK6[Eo\1eJCg_J<Kr4>]ET[G3Wis.hLn3D"=X0?cIY?b#19W_Z-l6^D%L<@
+r)Bt(!"'&E+8DBT)&Vp3;mKN@b93Miq5%jlp2d?419K"Y?26A92>frZStQ1g@<HKb
+Z<seE/JeQoG`=a!F$;ql^l^9:aaUp#eK75pg<upY@F0PVkR+6_;5X#h%.,/jUZcpr
+o]`+:=+KZ#.o<NY[tQI")XnXtooa]W#/!D?RYak6m+7`DkVEq22;2#Zq$[E,#@@VV
+I_?-^R?p53X*s763=ZshrVW=Q%-NP#!mh1$f,I+[\25V%XiS\X2#r)EC!o8rclGCS
+UsYZ2]<d4r]S6m'4.h'JmcQ(56+i64<r3?cFfJQS\RfFS=m-JV/.k0`6q8K]:JZ>R
+T-+1;rS+\M&-9:>f$FE:-(gk3NiXpb.!ZuZ-pqnFr5Gm+J:kQI</)_bC_-c7_2CL,
+2J>>m\tZSt&4EaQQVeMOl;@t?7[Tr'W=!(9a?[07'i5Z!lB8$DUnJBW.'dMSncEnk
+8BrbG8]f&9l])/pa$E&ns!>9^Z6_tK(cq-)jQ)rU3o2oDs3nCY=BG-r,c_%P@SD1t
+f,?<;8"WAn)8Eli#7a5!iqXK4.#^^9^&0Dl@QJ0SS4UsEg[#hkrr$JjI=<l1j,E/P
+VoR#Wk4i*hC7Iji]Ol"#@X@Y]R>=gIhbt6s,>rMo_c$BkQk&.?Ql41:)J:Od/W0.X
+>WRV[f'Dus?m\bgTj5%1hN:IK)1TBO$P#Y%ia#;$_h_-*CN`Gk__<+*KlVs08;HSJ
+cD5D''mm;pf/E$u`u0qQao;HToNL%A39/E<4I1R2E#=L@39*eV7L0*.2!4'%7\o&B
+MP1H7,JJ)!$S+o<dButYSY_/l#G"B&RXkT:+H-(MS:JZTZj^^[,><nEoQ<rg*3)=B
+cM4ZG<^N<I7<hP%30P8inGgOol!Yf7narkI,<,dl=pj8Js1\B-_LNMPqc,Cp_MM)/
+CV*5oJ`2RVh`XeE^l310U8\PJ7Llg7L,492?LXLV`K`)T%UqgUmeK>>R+2%[m?P\Z
+e3)V?0tJ%=nu)b*+uBr]N2UQm`H"Y-dA>(rk95g@,8^$2Np4qqcACIQ8n!Bn),7<p
+g05C*O0aBkTM?<iNMukYkPmIqFhT/i#^mqDL<L'2`a`U)1_U1OREMPQ:<9-DaUDo1
+'dgpqPW^bp;?fVK4@imKSZ$kj3ekQD/>o,_c<q^?329`M.QYN?320nAMiZdi8n!Bn
+g#HO..NdaO<=,0%c+/94&2Y&aRVfSh$=QEuYJ$W^1T<CL#)=+0;KG9fK2DX50\4*t
+<5^f+eT)iKcZ3tp$toLI*'T)hTt&[W;3JeQoQ[,G6Pb4MJ$$W,UaGB:YLURek(nab
+UC_&0r#-;230Tg.lSYV\-8k=njX>Y$W3n<''u04N$AB'dnNP_@-g4E7g;IqWdQ"",
+lDliPO/a-o?m\bgJS_?63K]1Xq]8iN8,V5<nPPZ-UO03._qte!^Zr;eN$$LXi']'?
+?I8!ZR@)K/IS1O'psZ7S"@f3HNpX5JN.=DM`T&nrr@SVuJ.[bsI%.kaWS#qL1(4S(
+r5_d90ORBE?E3<R9h[S29H)Ij+><k"eCWX^4N7V<=ECDp+L;nl\.e^geHj&1^R!'#
+L_Hbtqe]5@(m0\gE=:cb^WYjC,=:p)qc,>iDuq)g&B*h;9pOUm<:!s8+$2cUd:9a(
+S4LWLCNq:e8B&,a'#\mjKp\7W4EKVVR+2')Q&9R;1]GZY_o.3TRbQB5R@)L*=^gdV
+Ed%[A4RV`mDuqgEKbMTT$IH4+Q\Oa$mtZbY4A%Caas@suQanp]O/V6&HZTI5O_/'e
+cZc]<T8'Vcn8JTp"<(opehdjk4mk;LB(6HmnPU3$?d)N:J71M*bL73OE$!FeK3W`%
+rgOb76o2:?1hd*D<=0tT1ZLeUN89bO&ND#3E2$*1FJ\0'6e3C[+7BJ"A"DR08i&3E
+jG]SC98oN:PmAToQ_A@b\ZF21,F8r#s+dV,1RNkQ';Jgljn(X&9.-sME,c*F!ubfo
+atStjFLd][EbPs-4>b@5GB61>g%F#TLmn_]cKM^#`!P4d8B2UXe=np"2`ClX\GJ/+
+`2J<=M%S9j5X:8\#,=.&%kS'lqBuW.5VH18iWMC';IE#JYi\bj5\.-$eXi.KfUq8:
+8(k.Z!.ba'@NSV)M<_-Q@9@q<"@f&nY;)Pta17]N/O!G.$\\WO6J:["Ql%ibbKC\o
+a-_D\7NdU@C/1*T,F<6]Cr<ZH$3O`j1r@1E8'AbgSHsoMEMg1CrB$'>,P;#I$4LEl
+$&i7-qm*r-7:Y72/d'"[7>1c)`VNdkH_iQnrkI=MPm"#mUG+F&Pl-N>3[Y"peObIO
+;/=A4#ruZ"Lf*b:i'cB=g&o7&GN<-7DD*Gtcjcp1LuD/<i<8RX.?)W%Xtba['?Iuq
+F;C]lU,nLG9"eXo`"I?6dM^?*1_YLH7_q#7O5l5*^lGZ5RY__RN*MCPMQpSNgrj:m
+j'Xj-dS*?rEkH$JUQ!RVd`!)p&8I`7;oXrYTM(N#a%SZ`V]?*h`qOMlCAjb#>WTh'
+IoVma#.&j")<DJ=ENj'q"C4KNFoptZKb<#XN+)p5=<9riS.*Bo9\!:(Q2'TddNKY)
+r]kLUZPX#sONG*#G02iHO6=!BITAO_R7K+gQ-3)`!g!oTnig[T&Y-m<32'Ru'aQ%g
+ZgodOVaCe9FM]_h&bO_Ae'D`@E8I:.VS8F2@E&\3=EbHBS>giF&gqd&1*L;g1)@ju
+\?->Ie8:6Y-Dig.=:gOB"(=If.icAC3G9RlX(.m>#k_KUObo2n[&#Fea,XpN$3MK5
+k^,73O.FYtX&L%Xp_"F[/GA1O4c@==/fH'kWsbi@#kda*ARaRQXouZ&7=d.chB^/7
+7\RV]U_B_`6>?G;);gaH@DIiin\[/%7LiT+ieYWS?<\d);XoYiCnjZte#^:='9els
+'glZ)8^3GF\'>a4*QHcSK(CCE&^7,dOGSOH5.$0_>bH)6ZI'J,Ql`#730B)>\db0#
+7C_"f`#7I1gVSeHXM(X#_MD$YDcV"?@@.O.Mfl`_cJO!_9MB2q2mKK)+r,;a45@fC
+e=?JTON*^<>g$h!&^t6kM%cl@Qd]![M,\;LeU,1O?i(:2%Ru-2a9N1i:8HnFDMT4K
+0HFm[-71To^PAV)-8ejTdBtc*^nnb--SQ>cN2URXlR1cnX+!_NB-E6jaJI%I'<*sh
+]>KJ)lsHHQJ2lRn/+a[s)0q1p:70GZD[+)khqqK!lY^]/%T.=k3](+%.h%4BY39n$
+bFgY330raG.Whb7KYRl\"U6[_3slX6E&+)+VU!aM?5\E<Lq7/1ZOr]t.?%(UB0@r=
+J4J+jqigsVO2G3p2)CNB=`jb,%S'b>B(-D&8L]T`2USZl9]j7H>8\"(fh`LsVb?_Q
+eGg$o*+GIV#`QP8&rZ?sP)2cT0=rBq(s_pT2+%olObt\rbesg5e5@./\-4I)`pkm(
+,>rM4X8SSKj'-[H$3Om^D=*)UNMuk%IH$'$n+V3p^kl%g>/R(?Ql*>l_J`P_(h#aA
+&L[)#R7/@ms/O%m0n'G!?l&)!]UhQ%;Y+G^"V]mS?d%l4(m0]^F\N^l)7efo24%(6
+ilLNr!of1-g$A""mLs2SCQ/i'mn@EG\$\9F9MG;abNYuC!>d?/`2)O0/J0hbUuku9
+)p*q9>cmq?`L53qXT1]J9PVj(ZZXP!kqLD^':_QAN'K#gYrG%1qW&uX1Qf\Fb,)h"
+69%s+E$?%OEn^cU6n2[E3<J-Rs(q/94<.cR;Xl<a@gXGYEIX<I+2K*!?`Pk:WO^`j
+"-#+93SVM.p1,@FEV+TH0$^8)CY&VEcD5'ugIM&>_EmKr6n!M&Hc_SjM5L()Yr.7L
+WVH#'0UU8b.uXfKBDh!18FK5!!Y2!9R0_&&!b1:G)QfDVO3t!Ge/T/L7M_b'S-V*5
+L3"Oq!ssdG7CBicKDgI]1H6,t9MD!-NF\CtrD&^cS8]p9crVuo,EC_:*]+O]=\)sh
+j\]qGa)i0eZC/Ot8i&3S)iZ[/[D-Z(ed6oC#b83jhOOpsA4K4L%r2Xi#%SKLE@.P&
+T"*a)8itT4+><k"4NFaOM)0+MU-P7=1HQn:!AbWX2T"AO\5_j&)^H*VN3Cn<.1@'@
+kD`-iZBuIhBISbdj0p#:<_fIMM'?^s1,5c=ZQ4Z)EQ6>.NIns%<*ZP46S?["ALrVq
+N5mqk(bh^hlbP9,1T=Nl`^LZ]&\ihKE)`2YUJGYa1r@2PTbbLa`p`B8$@reg\/*s3
+-fe-sR,OKd_LT_%^2PIls!eY90tmc[+GVFH:8Hlc>n9W!8^6,'*b_'8c1Y.ZN+<&s
+7Kn"q5JjIs]58c!ht8LIUu%;KoR\YTA[+DD9I>PR:!!D_+V>bJH6?m^rdAPGC3BU\
+a$,;b?![6:QER;c,9(b+/H?5n(j47rdO"<^UE6*4W)3[UNuCW@)A!s4%kU=h6uS#0
+W0>+ITQRUEFo4#D?W$sTE.O-)<jW!P9P=eM*A'Pt9@PV?Q7c)DP,DKFieSLFOPD/5
+MA@Hq/d41s,Y/Og/W"\^<5)P62M=0!!&T'4j(PHd"fP9qMi$=fCYUR1Iu+r*!&\d6
+I$B?uTSBBDE;;u7:+\k@N$P@^F>m$3gpbMoQ`uDoW+/:;6OQ-]?6Dj+XjKJDoVH$W
+OlTt=]TFgd\('5!X`;,62sfW6,73YrWahhtgiZ<Y@2ld-"Y@+d5><+7"FD3HJ/)\+
+X=JS83=BBjc3)VdX!4VgFgtJCEH!4B9q4P?0uTh.r]9["\eY%@Dss99mf)D;kLJDc
+O63!Y[sGd+R4Epi1j^,(P@XcmTY(\Ln*`$clsK/rs0uEa^&,%&6??6Q.5\DJn;ME+
+9c,Z'DsS*+"V$^>gg#X.=eJ&#!*E4S.klJb#sjZ6^tdS5Jh].03VWp5_%n7L^IBp;
+(rI#J@M5H+U4_oHZf't)Vq?Mogi[-L";t%2c(g<mP2f"UYiT)>3s=s%rfs]R,Wqkq
+%@L32)UH`]B3[&1Z5lH#=>*NjE@*f_89--sO^'XTB&KCWb9fhJb(1%!'b.u5ZIb;5
+i5ihnOP-T`DX:+=!WCC.fLfO<)@,E^d1I%:E8c*Y*^"$#4M2WF;g9%1FUm7M!Y9lb
+eTFj>M$%[MHFD>d2lBL1=d%>.oh,6965^$_B/H,bjWU7A)UtpB]<s^dk;0Rum0lG_
+1SF=WTITmK%tPP_\O)qES%>Rgp7/,SNriii2]`;]:Wl31(J!2Lf\rhTXeVfFN$E9-
+:)sXXKKIZu8,c0N:VadT;U'cFl,1_t]<OF$#:"ur1HG6BJ:k,N-S7nYffOY2>`\KY
+h'j1R+G_i0k#:mdJAIJ^7d>6]HBuutm7tL5Leq<"S^;kCBicjV/YgaM-ubCW>X,*B
+RB7tb@@&T&TN`uu2hLQu6DlMc8#:VNI9%YT4rM(2nB`EYZ<7[d_`M)?,S2MYYs0&L
+TD*"1Sle6eF^;h7eZZLQKf:&]+@UGXc8'NnHV]Q\h93?ImiPg>rtb)lpu24UeSfXQ
+?Sn_&-<B$GY_DM:AX8$GM^'2tG\h'FFNRQoo&6Lcp<]q2SJZkDecU<c7&l<F#4<XG
+Ri+%ukY".BfB9kN^Z"qV6(<CL5T'td]\4EH=hCm`J;()YDn(Js$d8O#*Fj\o44-)>
+_tr]p1m"O,5r*7\&sQF5*&]'mrf^`Al^W0@e/%'4j"i-QH>L_LhHT?-4c-9Wd*Lmm
+VV/E`\p@AS+WS:UFFd+jqq<-!fs,M.JQuq7Gk0_g<R082I<6D(1PUEDOB!`uQ;<0]
+K;VM)9q:sDHlYO,ZHn3pd8c;.#.Qb70B<dQXS+4-'9HC)-jnP*W/>e.m'^3S2uT1E
+90'])V6<dLFNM\'[`%djSF*"g=]/8a\b5Im^1k.\V$/R&pq0CNp!Pe&>=r^2Nd1Eo
+'s]!9cPAQh6[(XDfuK\4N3AG`kXQ?f^6TaW3;)9.;^ji$7RuPSLV`&ZjNNsP0ZRVF
+2$f8p!l>a5JNQ6^b8?,mVO&5>jl?ddUVcqe:*de&5>mJunP7hql)$%3E`bq76Ff=$
+XMmb1nNKaRZs9m*ek5Onca!5h37'+(/c+mH)[KI9*q\8EIl2W#9p59F_cL-)S3YjC
+dE+h2RYhs7h<Cl[C;q'(D:;U98]]BfG3jl$pK&%[<Wjl5Inq/q0b)%Pof"#b?j$Jh
+?s\06n(XOKcEAKXW*G3HP4oJHg;d7BoYX69OHAE;>*kP.PobC<_h-%>iD*r1lR1@!
+TK;sf[>+.Y_nEDKR<p]tO%Zk?,_\#'%VA]1[S(MO[E2PkDZ-s;r<SMp&-JiK411Pq
+3;0S`2;Pb)c^Duk$1+S/[r)kKpNQ$,H)(lNA!HuI8\XtIN8E@^lkEM]e_e,cLR3f^
+RWhjme>J(FpI7[=]Mb=#!Gmsh^75Egnr</SQ24#ZE>M15pDDh-@IG^p<Al.)/Z2[8
+<.-i"L[lu#T$pi3'#5R05LboAM^Ya2d`&#?FJkfqnFQc<jescM.VdQdOK&S-'%K\p
+YNYX*h_37#`FlWJl,"Lnn/3^=$tm,B5-?Vp:>F<Sk67(sB[([09$j0@67hCU:MFgi
+Qs>BHK&^#KAL*B1n[p*,[CK.3S\M"+VH&tajQ*6[a#ohf\T$N*R02X2\;0J_iS@@3
+jA(\7[:1:g"I]X^;qq=<>%'!,5@/#o.=us0S-kh2`i5*$"0rD]R$,-ZpP.MeMU]r1
+(tt)j:pF=S0*En18j9/:1c4er=oN?[hR1A"L!8'LL!2>Q*hs5:nf$\kB%IJch\$@#
+^FXO"qc1V/.E(YWIHI#$FmLlq-o0gXF.Y#oZ,:B&o,^8;1>H:JRg2Ye'bj6^_G+S"
+9mc/3%PXi;IL!2^pe>W5?Qe5gg+)eX-HssAe/o#6?O1RZVdn5hfRokDksg_a1#o)h
+-*uP0F&3`%\c(isN=Qi+Y)7)MQIIVl5NW:`U?ct)9k5UiYQ9/k^ZW$mU0Vhb3B&TC
+6\\ap.I/L)O]Ia:Y+'ZM)15Z9"]gTM"Nh'dVtcuiGL(1>pMS%#ZGd\@G4-d*VG"q]
+KNg3SM\W<o\CV7bNT]>"je])(kkI?s#CDs0UCViAVfjN8A`8_uM_\5)G`_TagM0Sl
+RXFbF4XPDU+C$YQ%In[1=]d#:b$s3?qjoT&%rUj2>:FVh8JKh!2*FM4Fn(.#XohB>
+]IrYZH<-Rr2p,#moH-ie.;#^IW'_q+Ct,h$S`Ha$dA(VXQFS\N_UPn(]d@Vn[diqr
+dZ(F,'f&.Z5&?]S'OX`CeS7Un6;Ps9)Fi_g'[#P`88)fIhbfC6#E]*=G[4Dng+D16
+i+5-Smf"7-]=`KP~>
+endstream
+endobj
+18 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/F1 19 0 R
+/T4 20 0 R
+/T5 21 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+24 0 obj
+<<
+/Length 2559
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,9p=<i%))O>m.=3EbcW2UP<(VN-Bhb^W&pD@[Kg!5D.WD!OlUZYhj5So#dh9>
+Z8ou=$%`]'_o)BEin_2U'6icu,$Kiu/i%p;m\qo?UN.*gGO'Dah<c$I55m/%p7ln>
+=,X9*^:SlRAJ@SVH<T/)]Dcj`Vkr([rnX_:0:!^JfA@?HZms<bG],JLAlED&l0kW8
+2YmH(n(ahX5#)?BDl5m:3i9du+6rf=T_DnA2Y]BTl4I)<LOMId(-eA+8!,,Ko.q_S
+:<aPue6UUp[aoEc>WR#X<;54)0;]fhg()8n'-`QPl&7!4pX.Ej9\_rt\qQ2:-H2Me
+Z%XF/)j[MY>(hQnefb'+Q?p0pj+I:A9>Nj:hO&4q'Jj!rA(FQEDe1OVl="^&neD&g
+/q&WKJfd8W'K99RY85g_rS<f9O[qRa1p=,CB*_l@S\3qPV?Y5K5bi1G)DrAMH`Gas
+,/VMf-ITO]nZZY=E+?S`Vn1Vmd/'LB5S)#jJ[@!S-,ZXO=Wo0urM.P%Gdc::9gm1p
+F@:3KW4/"q4YAm*L5;"JlG^T$"Z^8@a3JAUdSV67>LaMHMGDa)lC;^ZPDQ9A7co&Q
+MqL7<3eOU@2*l8O]QMkX/Y>1T<KK,qWm(VFk`Q(0B`4KsZp;Z<nST;Y%N951RCFd(
+JoQg=@>G]6=6:Fo39dSl`J#$HSY\>Bl@Z5^cS2Dk:"8Qg$kj.b8oTLdK/5m.$)L.q
+N7/Y-7UuKEA73]u!h/UdaZP?bNJiNnQ`o>O8;Kp>lYClR4sLcLJT6GMW9olkVhh)7
+_''C_i'DA!K5TR>h)B)s+Wnmcglj$o!),X[eaIBl4kA-dXIW8sH'i:@fOI+B&L(t7
+gb?LVHqqs^P_f("DLI9(@@3hAl>]dM%4*V9,P\D0.3X+j`^q5YW##[](f@fO;;M4^
+bWWHfn(&+TAhJ?b=Z1Rb6(!$jQ];WV_o`5qWDn):/ptZ+heI!cpk%pHT=\s8nb*e-
+O[]qd2aJaTkX!+TV!tM,PG[Ne4GC8/^<_OhK0Xa\+F5:*CIS>>]"si1R]1,'>OpJ&
+%X]ng3(UiOH:uaaGE5sVS.>=`PHA=A8WppAWq,7)Z7JPi"0Sm&U.2@3Dr=eLT6:D!
+Ju%3!c%U4^P*-[!;0QG4UdB+)s'\*Qh3oa649.Q"FiH4JImtTi6HB7eiTHGL[``aY
+Z`Z;(jiq_doch46q('l<ML`H&f7QL0[]Gg!T7a!XA,NH!l)Zp@j%2,<o',Ct4XUm\
+a!AW2r<X$&O%0ZBV_X(oHmVuiifk8>D6oBA_-[!o-jgiVJ\0blTUueHVrd(pIt.=m
+jl=h'K.%Q2AUX%Z&`s:Q_<j-+bBpu-c"W]"HWiKs;\hJFP&uld5$8#Zj=.5?nSG[[
+m93#uX\[e8ME:$3CGFut%YDKbN<1A"ZZR%H3*8<8c%o-mms/#F%dM9n'2ebLZpuf9
+h:N@8h-G]iks>Q`E6e]--0u`\E?&,Us+1JCf+b(Z.S;5kriHJ';ul0EhMB<sG\:/@
+J>u>j(ppaRbtKL[>$isZ(ukAmfI5n5c\K(4HYFBf^o"Ni-*`4:a!"hS?bd6hYh*Fa
+E$]O(Zgos5k7JoYNY4LsK6cMnbli/<1X9+:^C,34O?5lRSI[uWSnfWml47#5b8iYg
+Ug+K?5J*V5'bSL]L(uEECZgNq[O8"%0YBE,eE)CeC>pTAU(j'!c^63d?6i8oDW%1@
+;ZK?Z1JDXe!J3dsEAm_LN\FW?a."?tRJ>lQ`hh8.bsl"e:m4i-m3\SQ<7?&UFb'!L
++FUmRdRQ1YMp>$A$&AU80mm>g)+RdH:?#i+,0<`HQ39ndr\Ypk>P2k!Vj_GiC0b+*
+Ka_bBL.acu,\b3TJ/k##SO]S5g/Rt61Iq9@eZd8&LoP/S#:)9$/^Io<4[[7S)7Y:*
+m>RpB#_<q'0gp"<2/!pf\7<\!925".ONV0(c[q7t!YL7F7_h]U8Y@Y!Z0@NP'@!3l
+lD,](TnEc9#I@0H^/8(&?trRLT`9pqp+sf_dD?U?WSa-#UFMqjP/c85R*P'pDn;Cq
+5)BOlcsXSpj/$5iU(eS&/Z2.^01AWr`abVHEM.j%f5]4j0!"o=T_4dg_9SO1Y0[2J
+E>'<.Vr7b[:NS#%k>U*A4i:jH's<6>\:b8-MhoIq=E#A?H8q_1noN:q!!V(DLk,)R
+3J4/G\8XSf$Pq@n[E*:?#WUApkB'^GP?;n74Cm&o=Duu=lX%P]?J7B%s&mG0&8L*6
+aV>@GA/14n;?U'0beUbNU^-JTf?k+_8SRJtFtgnfW_M;7/'::G2)=:@C"5$!c1TWn
+i=.jJk#=9D]PGf\KlN3n/J8lU\dQOmk7tElb=*[N)&t_FI4:4.DtI0tP`EMId>qe5
+_US>ff*e6pEKDJ*r!@bH6*Bm;Q'VMp3TZg*7&\>"$&?od\XWt=G5jfS;_N1l+R=d9
+)-\5tSYhgJblBHDQ5kMPqqO._Dme<."^-Rj19j<'O#D]qZt0]aRuG3*n7jjQGKbKB
+m)U%.#*Ui4pA3B)5Cn8*bJ]lBP/Q[!Mcjisqd[>7DZE`p%6O~>
+endstream
+endobj
+25 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+27 0 obj
+<<
+/Length 3270
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPl9on<m'#"0DoW@LLgEVmXbTMZdRflkFYR?D@6/]t<[b3PP=Y_85h7^RP8J[46
+b3hhR$gc)F?qFn652N>dr-gg+Yg+?C_tnYEX;HFXbho8o<LA8-[7^53qD:hd%^Q[1
+IprqDhY^^KB(I+)niWjgZ2T0;nSFI9#r>f;J"P!]b._D3\uNsrs70MMn?V]4WdE.Y
+C>XGA(NBAZbfU/s<;-3$^-:h2Z/ib=T(ctYkdE4,\U?SaW`RI)bPE<e,3*'M1EYuS
+b^PlfrbC75Sp<!5J(NB/H'2'l2s:`hHcDh8UV`@4YD9Pj3K#1:CiC68B5=bo(5"[U
+9jE!el^3!`VfNkB$qE>9n%Cci9g<`?:d*Ml66Ii>3SG"hT(R!2R#JNi99E9."(T4D
+,s14oSeY,,He%RG]j3/m`8u0>8P\RtS%[Q[@TBlR>n?WDk<;?KR;NL2_@fJ^;rPLA
+lIi:O4K$hVM^k;f=`gks'E@.YDi\CQ*9PJX'KID[T#8]#,M!8E=s'E`S\ZQ(dVH5/
+96@u9YT>T8B0OC$+H?ldY`D4=NQF>V>E%6V%Z+TR!(S>oRPlk+]98?2ZA<Qq_3=ug
+*aORpOXGE&n%!3ESNNJ(<nH&:4(eR9D[%;_%6r?f-NT)-fJrsDioqinm$\\s)E_?]
+W[ID8E+Ua(Z$O1ppTR:cg<*aj-H@_J)YF-`]X7[!dHP8@9p'bc-Rf-?iV0`U<5g8'
+0c192LABF1'UFFm"(G@]mU@]$<K9Ljpgb)a]=+kjDmDMPW@!minD0LtZ8n;&ggZDm
+ZJuG%!)8@"rNao>"ZTA8!9=)-:D8;E59oTCD*:78Vh1Ml)1o>qg@8#S$)QQXPXR"<
+`oYkk9MDrS8V;G'd"i\BnaghViQhP9GBIQKc?;M++.tVt\<t"jpZVm3I<W\u<3t2[
+k&kA[IXl$(OQ#bqJ`$Js=G(=$H=r_0*Y%J[Dqtr6`3t)5C]M@8_qM^oQ&DT#[NQ*c
+)u=IQ_2Jc:MWI$QHT=VBA)NLBJWnY<TZu(HH3VcdFIo;#Hg[0;I'o<F"kY+,Tcbe]
+9-][ME\fb5R\Qu!)UQ;:c[mP:Q5G*!#T#9Ufc9N;W4L!-*cV0-A8K)[P6B2&gc&9M
+XKF7:CV,,^pqC$E@<gPQY;UN26?WBd,?C>\^+Q+a<A8jq,<V7Zn9p:K@OF<"]_QQ\
+UY3faW6,6I\=W)Mp3^Rt\9"aN?(?W2iPs,6\NV1Z(e=bsCDTQMYNibZc;&%actQT1
+/rkjkU92:4bB8N;ac(pp6r/^X'HjphK`[cN6rrZ)E"a_=NOK4-]c(<Z0d8tD^$:?M
+Ocd)=4CPWmYU;(K0aW8i8kC80T(!^tU4"E&Nq'(]*\^ZJVh3hURMVW.?[Y8,/BdtC
+^tsR\kWfWfP<Bop3:ODT8J^6@N+kA]&+^Eqs'_IM$t<q4<:0C'fl]'98YSm']K@>d
+Y=CBDJaGm*aWmt8##RZU9CjhAcsacoeK79C!"7Nb3;^@-ebK<m@?c^losT7)`6)[E
+lUt%eB;rNBkt]6kYIL32`eXA<3<?im?UXBqWtm=>cGQY1JdqcVr:n2:n$^KM/^/-r
+]MNNcHQjS*W[&&m@RE^E=.X_/ZE8a+55CB;P*YoGcj!qdjW"FO-sg0TP<O6Q_CIo8
+i@>*PNtq#dNEa6,T86<V?-p=42tCeY%FBfd=F2`F=,18J)1)]?@58(XTYZmo#<9[<
+$Yaf5Ve>e(MJg3]l<XY_P#W4LW!7a94#iF%`UG"G!4/Cd)s5Mu)"fO8kpo<KaO>fA
+op2I('2b7a6S%'Yh\)6d_8Quc^9,G5U=0>fe.FMr#"#/%'S*r+i;fcWTFXA)/#cjf
+jT(@i#e-q7D2`*hJ*VM)2_$Q0O@IT7OtUgYb+k^.CZLl"U:RVF@LGhkj[=P9FH(Pc
+$n&/I+q'`(OK`5/*&dA,%Jo/I\XsMO:s%l/"C[Cb4V\M>Fbs[*.Z0n@eJ:<)_,,f\
+ejf7<liiJA'eb,A.Sg;KCG0@bkao<#cJY&['uq/5In03[rq4_nT7?gmCU52og2-b_
+eTDVW_gJL_3%ODt6MM$Qs#.FknW/]Wk4TFh;DQo!FB^TF2aCT0`YZ2(Xe[0_cb.pn
+*r;i0O,h/Q\?jRI,p3)BSsYI^r&P3$I#ei>\@%Gf:309-r6=Z$\@IUqnb!L^WQG$m
+ADjH;-?SDih-&UsL/59K$bsL#'`0Dmk;P9)M&$6/fmOtgE2_%*`8/2>!?<orAg8/j
+4)6*j[Jh+7n@q3q]0XU>+%TKL&kEguBrAB:G"`XJRtpsm<tUVQg;t\5'<<?OroA<D
+F8TD=4FP7kgCSF.BF6Z+Z$/L@$k-W*HH2)?GFN"b9OH$42dc7faQC-mB(pN.Y)"">
+5J&?b`]ghXG>Eb@5t4/\2?Jn%E"8IfVOGT]HuMlV<4MacgR"N9/M=q6;8qN6e.q]j
+Qd4;FnT8OMmMLY6`QHTP2&->CGc_(=5;BFnmVQZf?d()5="'I!b[?nU*!BF_#2hab
+QB>62M]E]n<kF`t/]7!=%F"P)`oBm+)5WWjhf[\f:'==f?u?*BM3Kn751gA93#K^l
+1p>k)_4o<@/Kj$V?O=4GhuS2Os'amk`Jt>%M,;bGFc.t"IuC"U??L>a(ra>?Y:"nX
+)+UINWsEl2pUP5m.U4%=OgP6+k=#lQ4BoQErh!Z-GH3BlhY;O/$JKoP[?@(b_6]dS
+JJoXGFapQF8YW:1-G@B5SQ"*n)qN"U"JpEM:P"pS>3IAZg1o[6cPU]XYc"=,7>PX7
+'!^cejB\.qG(Q58(@9:PFbgeXeVT=86T!o395%=%#aC9KB7&&!YQP^I:>9LHC$nn"
+oPg&_%%bgH1r8euK<YNKDR@;e=r=i0VJ/H:n#:O$`FnPIp0.gmgpM@9oqM1Gk9LAe
+h5MIR<hRSV?n3bk3JNhbE\9,iSL]eP`?\QC+qr$B%]ODiDo2aYPCohTJ<&U^riI7V
+M#O1URH`I!\+<]p_q\N>Q.,Ok%Db<9@Su=D9Q+!Z3&?E.]A*AT_WEP'_F1K2)pfgR
+Ab.*UG)M/P#fI#,A$:hlm_PTI_R9PtPhp5'\+A;N688m#O;]H;EWp`HAD]%("$$PQ
+E!26B;5.CYkmYh"P!Sn(+XWG3e8X0l:pG]&6eV_g.G4Mk.OQt@33P4gYWMsGkdVZr
+$/$TA8aLGmp13(H6_j>dDG#sXQ=SHjTY3_KDR"3?VAFc%n64!ej>*CM9H_13gYj/T
+nZnt$>/A=tVi%D6-pZUarc(*umf5iElE:~>
+endstream
+endobj
+28 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+30 0 obj
+<<
+/Length 2350
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,9on<m'#"0DkSAHQ>9eU\/"J\20q1H1jK`9'&@gmGgZl3o[a^E"EDMbrmos>-
+.$i]<Rl21H8?,d>p$,OS6iqhTj5S>\%jH<>(F!UhKbSg.99nR`,`4(NA/7b%-_e\V
+TijK/d`D@co,^s4!Y:ou1eD-D*/QNK2-PK%UYS8:1<H7A/J;2u;-q%2OX;BCOC0%4
+;iqbJ=lL3^::.CW*u=l[/`*Q9E,>cj,sp;pDs`ae"IP-i%W=C3*Pn48pg7kSlhICO
+nME)G>F!'4//.jXo$cljL!H_%"pER\]n9ms]jLC$[gt]Qr9ZY[$M4+jD9aug5L@ki
+f@pI)m<16h(pg\<8Jt)ZP-moOb7Zbcn5u+!ESoOD=]Qd_r/hr]OVWGOo:f&<<=`qr
+1=LrFDKbEsG)u-]S(EEo\"26e)\`,%S!?I9W_*Khisq*TqE3dd$=QbmIZN=1mnf4O
+js)gn_;iS]q-;s8JA&quH!6s64nh9.7.!;[PITLtY(r_Mb$7dTIrMde$dX_j_%k6f
+Xo_tjTc*Ut;o<J51qPX*Wc2nR\pJ6_1N][<"nWQ;cPo:"=ECD39^%gn/1mgZV5'C>
+\K)^ieMT$)/TQI8q8OB;FrV9#P.Sd6$U9K4,+p=-RopmS3^=1"eIGP)&cH=@Uch;_
+=e]!]N@[MSr\I&E#T(GSWGfBT(r.-=_@s-o$(%*@7'n0UVL:VDS94qEjKc`c;WST(
+bJN%=mcb[J!-j*ulcP=+*Aj?m$qoi>I39!-DQfabD!XW_W,?30*Q"a\DC7i;doI85
+q+qLE<Nq_/=VAILeE57%VVAPS7%/ZO0.h,Eh)m_:8QG;2ZXdoB%lIl2ig&[m'!:2t
+T!*q3f\dp<Y*bVk]H]N8Ald%i@s4n.+G^#[V8HLaJhRH%7.2r7@J8"6)dkaTjksl7
+-7D6*3ni@hCkl4N<b7tj#o8/F;WD3LO3G0LfkgVV\jKM8fPa35`%,JTGq%':atj[q
+=j$EFPhX/eIr$P&VLm`i,pm8Wq')<mJG(q(iO77uq(su3=`%DtaE*(MTFE7sb;m4G
+B^3?04F/Z.6iCI+nN(f+*i<4mm^PZ\"C=as$,#rHD<o*50dj293:@fM"DUCk"UDB[
+:QVKLU!M7=ZTUGnTc!W_c"WXC%c*GM-s13`3S;]S-9C.dp'j=B50s^U(ud.I^0Be-
+VU"Ob"!b7rUZLgP"(=I&B-lKKD^R%s11T4&:\>LD2+s#-\EbM(Su,b`]!:'K?94T)
+A6ETqVF]tD=kU*cZ+a-H]2E[a6r-1c61eQdVue+t/];"G1]ne+Hefdu5FT?3ku9E;
+Vteq+,!oL)11(^'6W6d?/R$MIL#8>f@(`9*B1$881?R>/YRV&Tn_)uY5u4@D"^7Bf
+N:-*P?_QC8qfW1^@q4OA1kU&<0?Pu4U$$m_NLIR^WBu=4I^D0Eht$u+%9?Uu>6-*+
+VUcsX6c3s)FTq01<Oe&Ia]!-&A>R,E'J'QA^'EP2mJFfHl4:TI.gF0`l7anMXfQXP
+MG#Q8C@BaaH)W30h$qE4a9$EaV-=>P$>/V)(<Y3^&jeJ",de[+^O49aj62;Z(G&;Y
+cGOA&nM7b^r<tS5c$_'@Z^ktFURXc$@fs^8]l^@doWsAD/8Ft$'<]\jb<QA(io8%Q
+ICs>(aV=n5Q9EuOk`BJlq-;tA8VR84FFe[*@[K@jrS`8Zc)meb\>#EJcI4Q39f-h<
+Arb<5,fUr#=>Zl;b&#u[De*he3&L<lJdN=KQa.h%f)e!7N6[rsVXM(:J^Y9N=C`JA
+D-^IG"qkjB;(5hXQ\@MQ>+rq+;Fto;mjsqEM@#u,0_k3g/XRh/E4n]r@e\C0D:FuB
+:QC<i'sk%bNqIsJFapfgLENXR_rIu7OB.g\?RDRgJVQIXZ-3S(F_V?BSBs@+],e\:
+eKU7m*Zj]"BAZuf#^s1B?b&WUDWNXfV%.?MeMh3\RrWj%];0BgHps_R\-l\8*!+?S
+hWC^c=\J>:RURk.^[E#M;?Y"QBut9i-<R9cqa3SUF.ng*l1l_#k=T=8T0)%718-e(
+&q5IMh0l9C)sk1=QMR^`0TliFC!Goe][Xpdn#T=BnH6GcXb^,"pZ[-PB:Y9$-G:]'
+f8d!4@>)NALY@k*l:#4?6HliBe3jlkBpSV/%R#UJU<6ZVf(hb0[!iBT2S?8cd.7LR
+r:$C%0(EhMGQ3F/koHq%e8*n=0)4^eYSam>i>o3u>^R8'IUOm7`Ph)7$u1?\)HPu!
+ClI5&_a50]Fo0:$-273g#V1G`1AJ38-prs90n'ko/rb%BgSOc'VPh]WA`#MmeO=GE
+2(Gg,FM:B$.u8?TX,-YmN&F0)]it>P!6[/S]D~>
+endstream
+endobj
+31 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+33 0 obj
+<<
+/Length 3053
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XEL?'!aK&q0MX=S*orhR+SkOsi3ObJe=UoX+mT_OCe`k1WFDacPS.(]F-rQfN*6
+N[1N\U=hZM'$2$:S2kZQ^T6&B<IDjT<_p&8anT/;rtb<"lMj_g'\V=-1lLeqZaW1!
+b3nu*IU6l(o1E<W=.a+VB?M]\R,5:JTD<T"c$qPlnp$SgJ+.pdFK)]S=]a`Y/0ai^
+ESdX2pNUW5$5'nZ^RLjR/BQfM`jg:bm'h<4\S.GkAZ[&SbNY3nR^"7t"kHWHCMaTG
+/A]5WE>K+3A$!EGj'mC(idR:qn*Db`pHGk=V`3__*l<WDm0ECoa!<d=nE,r5\G@8u
+\tB2RSI02C2@8"7B=sPD)b)_>hl,tk<"h_++ZCo^9#A!'0Enpg0TcZ[b^TB:?aEVs
+Tf=Q<1?3k*cW^Ct:-I7fB5)TWO"6enJh+jIhAO"RBpRIO0tC6IlS/qtmr&;`>?kd[
+0f[]j'jtYmH`srfHZt51Z<2cD\3!1mV]Od8f9%YY7.LZ^LBjC9ZKd>'%O.0nWuo7.
+XB0+..RC]/clc7kLRBT+l3I2frEui'iu]P/_d8eRSN<cG;'r%T,.Z4+#?IqlLt<pE
+)%r;aK.8@C+PD,^J9'g&b.[c>`sGu^MBQP)X>:Be!M5H&KTbL'D;7uD)qT-di2n`7
+n1gurWlD)a<fq*Be%Q2TSkMuDciq,6S]G;qHjIgkZ_o6'dK)0G_^K,5loPt;H_<Ym
+NtIDIm/ALE@#C6,NRJ+<I_1ac!go)/Noc+Qpj2qRgg:tB^YlXdIEn2L&,2\s^Wb[o
+$d>a95OHUrXS0.6dGETr$^SaA&mRc@\[8BAJ<'t:]%R@HU!NV5f[sbo>c"Z9`+XDF
+F4j_=9Jkb57gZ5!2K`,`TOXQF?;l?T"V8dI-r8,9#uQ8??Ypf2+[.JM11]XT>M<p#
+^3F!c`UW_4D^0OPecY!K$*c;s%rKJfTt?gdQ@rf-G2StC?9@^ZZ-J"mI3T$UWPDQF
+3[bP`EG24!:12!t>P,-(11EG$#M%Q,$^'T"F+')Tj/8foU&eIiMF_L.pBtC`UpaiS
+>Zq,a(hr9q6.t&b1ab5AI'PA4SS+2X)XnB?ndFLhNN/>)ZW\0i%W!J*;gif)%&*c/
+AGFVg#g%\.XQQuQEP&n@m=RRnm4*0+o\hj2-bGdd%*8lKG)!ZWWhS05?:=#!!OBR?
+mZ@`-7-MpD=*+UF'#&(lk-ENs&,%YEU9u-7_NTmZ9Ie7-+S/g[9Vdfk5g_l?qe0g3
+7U*abf$t8/+c5];=SbG-FUj:C7"PpU8T*Tu)'"<rrU<3G\\16V3Tg*%M4hUs2L/0l
+YAD7-C8W*t(0>86l5ESBPI(L=%lY#^:O$?Lq#`*#P2W"<,Bpbch191LY$=982"i@N
+Rf2=NTbB.,@7j'NC!;C.^1ZM?AkBGQkgg6h"en?(D]uVV7"GkSYrO<6_Z7g<,U\ah
+>ItA1!n7r2n-eEN:<H1=q,H"r=mTj$^=FrCDog\?XiW_AU`&LBE+)<1;i($(B2KFL
+I<hu"Er?hFg//9;'=M8*'Yrl>E]s/^e!BDSG)Ks>gQ%J6<&%lP,\%Th.&2cE[(@ha
+YaK5e8,A>fmdn]u'q@:?)A=B2UTi.ckUI*/J(E]?3^Z6D_VW^"Mn3pL3$O-'\e@8@
+&=c%u%m.JC?c1Frh3s1B+r%L7b>E5u,tWHe8<B`SXlFg>ol14mO-</l%'r#"&aaWQ
+S_P5@L(_n^#c/,j8<A0H%1VkI"t.!:d<EA2So-jA&0eUc4!_1H?dU`W2"Dn[UXn*$
+N4N6!$qCMFX,_JB8bd'q4Gd51=c]Pd6=r&kfJfS)CaN:%Fd17sMlFb;<boNgVfptN
+gVf9/s%rA0p>2h4icI@6:ag&?/%BOMP(u=cO;Kn0=AeIH0HfIFQ9'bT;0SC9\-Xd)
+[uGFI.sp:D>=7.k/QES_G)dhXXW9Mgg9.pCRGC]uP6-]`=NKfRf=YK5-n?[f>g@UM
+SC+;%cA3=C&Pda%>M4gQBb,+/rm%lW2\U$.\-\940=5AT^:nB?l_]-.:3`1N4d;$N
+e@t7Z%fe!]H9!HfL?C>6M0KKIBmV)[@Bps1X^/#2,ZmT[-K$"1ZA=ZJ=Uc97nu_E%
+gikBt\,Nk7%75WJdNW*);\;k\h[huE*'"5F%i[8FRNd`n+(e*HR%Dg=_9?tl)pH<\
+l8*MG3[Z_YPSB?6Bjq+s&oFqW)pps5%'%$VWB`>2QMTYNoI6P[FZGSuXH("]$T!\n
+"S;3/<Emcam\B#`mb:Z=T+GILO'OM%2<qSQoF3odfFkVu%]U]Dr8+Gk?Z]R0e7^!9
+JS,-ih-A*4[rCu5Gpm8f&,A4/$iq'VfC:c0.%Li/-k7L7S'kb;:+C>B'PC_J5/qH;
+@fmMEr.=Kuc81,p27\\Ag!m\ATM&+VMF$$,9&/0r*_Oc?p<,_#Ol2qI\)]69)';EQ
+_QE%dmr@d3Gq-Nn)%paP'H-Li=E`R!\Fmj=Egmf"Gk<,n<7#!i$,o6_S0pbH-0oNE
+q"WUI+$T\t1Gi4;7DG/RC+GAR?i/3XK+P6L06g*aZml7,&Gm\o[OgqS'%X?5mL<\u
+S.:<7:!VPd;@_I9Y.8A\9B42hPLPW$Z.+]j(IB;YO+&+!8>8nkHF!%fIu!s]Lp!8;
+nt^u@S'dt#P`KQ2RkIlu^dn$u>[c`78l"Wu!7>)&KTTB:C'X=!j^M&].?SV],&Hm&
+nIs/ZdpWJ\!^<HmXg8KbN>+)kjP86G$n#GE_$%VF]0[cg'^@=X,HAs1E=%U7(Vb`:
+fJ10W2WQ3E)i[;+>^mbsnWaA^pI,NN'R<"p`b*#g0sPq:fA[>Z/eq[p=@T'N;Q20a
+hdAs)K#tkq5\QC#BCk9q">)_\11-^8(][6Rn:2+'R^Vu\CURe=3#H+./-T"&BUs>=
+qT6rs35V'-^2`q<8YZ+b0u0Lp0lH8B*+#[1?t:"ZgcRl]B<43XY1FgW<CA\IafCc.
+7\koD:,W'#X<a@R&$e2q,.`?4c:?:.@`1bdN0XHl,(h5Yb54gkYd,g'qH>T@#Ietf
+55qpXrI4f5%-V(~>
+endstream
+endobj
+34 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+36 0 obj
+<<
+/Length 2215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z\7991#N%)2U?m*4Brm>RidG*,GE-:k=_&Hm7eg9L!E17g5_Z1bV>IX<A<e4>T?
+ZtPn,ZT3sjOs6ld+/r>babs_X6Z/4E8[KW4-;o>7o9H<T;7'a,c#Q%*DK_3[Dgiuk
+]2!c-bK6gugO@TkleCOA8^+QqngD+nSBP=)[3AaA;++f?[N4Y=QVAkk>L,4?kNc?c
+ar"=slCZo/6a+a+<9,uk:q`'[Fh-$A,c8:0fNC$A+-$4MZg45jJoL(g;@cb28'[<W
+_%%XN"-.%`5IC)H3)Jg517k\eIV;Krj.,m>fVn<SEAV;E`'8UNN0et!]qB7Q3&KH^
+hG%\Mn)E4#G("-h9/7`SLX'gAI_>%))L]@.P=3c,T&_"9,eOfhDL:Akhd18;4Y(gV
+`51Q&ippiqD`2'N2+ae@QeJ;#WG/:)+'`&"]lY]QRbd'9E!-""8VBq:k*TXcKA1%.
+8h^qAcJ^8R@c-Zm^fFSEhB$5'#o(hR\)JTU5(gs$8jefEkT9Ocquc[U0Sc&a0KV+(
+loL671iYe[[s9/p&o%8iR#.>=XZIN<h)GPu--4FW/6s>VnJPj]M@cElbQ$MrrnmfX
+q*(V)[A?Z&0r+cj9sk&%:15c.j4)eOU2iSa&5%KQ(X!6`4/&q5.hW*6ea0^!%B[.2
+1Sko4kT]imp;?Hf8Y#Y(?d4&c7#OBMCEl0(#jbZU?F3pCC/\))@3Kb_GcoX@0U`$7
++51>Yo"Bl2$OZ8mMPJ9(9nL7H+&*eI(3J%l];C:W!6+5XNH";p3'[I"j_*'1NE[sU
+I8c]lbDI6SN5V[HN/E"A-r*Ynr7StiabZ$k!uh(`N&s&BX),n(BDg%1hiKf<<$c\L
+*+KT`Oq8.`r%l?WT__.OWgap_3D6-sEFHiPh8"5D@E`2*Ze)'<>`p"Rc,<"siql(h
+mdR\Las(6_d%KuhT<7%b!rth[4U>2I#FiiTUl_B'nZIhe=F#4C3%Z@2@TK+JZV$#m
+1J?iso0FaDY+Xtu1e2GQWe*&!N&9[42*6*kA[C:cHIDoUh%Zr6<Q^+i]H-%:PcqG&
+2s?5'`[\9hhaN7LoOLLIZM`]G9qm!e&'AAX49\+h5$gQU"crNkpE!N]:l#^A0512[
+ULtbA"a[7hm[\V-UFs6_8n77[,>CXjkV?l#OQk[9/7%FfR3Q]4Nglq\@>P3Acs6KH
+UP!1ThN<*M:JEeCh)tgUniZJ<;6]:]U*&ddAqX:OqK=8eh\KBL2>F@6-oc7@h,@Tt
+:@g8_jj:F;\<Rbc'R]oIc[9)%Q?E>5St/qlbD3+4"5[U/3i3`SaA6^29$mZhShU\2
+6LpB^^lP%-[F$>rmbo`o;A.?]:95m[>_%#C8J!KO6)B[0^"Cug(jL=jr?E:L!j^l5
+=J\4N*Wr:I5mJ[i\'K#>&s+RBKUeQB6,Bp!(cH,HN/\:AhGjV\<ULr*aVou$;W](+
+[!Z03#A)Q)85[0L-YQq0QDLju_bO0GCm%TPAfdU5<6rXmWf7hq_Co&1jHJ@-]Kua)
+TG:TLi#L*O[JIo'Ib>pp[mO.UfZW.U?u`@GN15@;\H9_5,"&,-@7a@E=^`A4)rZ#0
+Isq4^r>YZK/(G=DhtCOng=q>pN^t[s0X?+*40tg^cHciE;b!9i-fJ<_RPpcj^`3DL
+0ioTR>_rpT16'tSXg1g#hr1*QW7s(Vk9J/PgQ#hfkp.Ul^pfcG&[`KTN'8p">4)0h
+Cumr]8R`Hir\-<@OWCS4hE>*/1][1MLt9#V2!>o5:^9\<#f?e4+T]m)1^c^GRa`@e
+2Y]/Pb74;j,tZ4H-K].cOgq^T,\c5W\[OGfCae]!D=C;]4`FmAK<4p[1u)pXmY9.<
+.?bh(e@8s7P"0t:_[;/+P5Bq;PE,$Rj*2V,-graZUGTq*S'VX_'!5G?]EY,(gZHjT
+1PEU4V9;Xd5I`H>M]A2(=@#02C*#kd%*$;Tm;E"ho^k`E;+@4t2hqqgU^.mP@K&+Z
+>C?S[)OhK@[WSS&&S;t=:)A2S$0,b*dln074["9NN;58XQQb]=4*T<o]jajCmXfhJ
+4SqaQi4,h+iVJq&:L+q9-4F2-Reb2\Whu+fVLBI^':@%Phh@*;p>[r]W[hYl.oGai
+H'!cNmbEGfC-&PhN:T()&?mY*-qpZ(M`<A]q!1&+L9jd1:Cu2@ib_l0P;RQDlNq;c
+$>+!Y%FDNGYqd,nFG+P3Q[`=:rYbbJ[%`Q~>
+endstream
+endobj
+37 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+39 0 obj
+<<
+/Length 800
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yhs9lJ`N&A@sBljZl"ZSUoQgPp5ee.so>0?$g'=WC[#`(5I#R*tp0c?fGG8V5Zj
+Wq`k]oA7^Xo+TuMcl.Zl!u<L@mJo";c_srkaAa9&iNht#ibW1c-W=ER*Nd5iAT,>e
+2uCX(\@)N+./$Lc%[MOF@t?BY>?pF[a;(3GLa#7236U;oS^;?Y1c4H9cCkY8"dR6"
+@)_:4dWGWfFi^RQDOM'``BZpiGUJ=/NaJ%lKu):"/=GZ'F&p\dbKdaKr1d-Na_"EM
+^k87J'+"BV9r&X>!pD>1gJ#@8$QdbY^mPM?U>3Yc\_C\i%\TC4:7`01Br[FY)Y[Kg
+)/t60BHLVDVMeE"Ro&m_3l*+9!rmgC5h6"F6&k6uGBr"8<QU4X5Bt^%WaA7;:#;o(
+f]8%cU=]D2ak[a[*sp5X!Kqs)6G@:\]U4QFn!OG7AKq%>'*8):'*Z-f,';-bOm)ZI
+9s,H(I_8@%*.$b:.m5_7`,[7-7J>nd[Ek#0m`2ktNd<p[Kt!AKg6RW_%tjqBfPTWG
+h8;.S(u&W0arccR[#"=`-KNj/T!s$ab<3nHCpHV'FL)n6s(t]0J3B``V5O,'>')BC
+Z5"rhAg&Q,,&ee005puW%#&`;P:T?X\mH/<Mf071hpPuY\AKb>@)1Gs(<ngC'OE#q
+&p+5<N/fEV`uX'%5[VkZV<97!qPFG03>[U\5egD&3K!5WJk>'K3\e$[_W0A[-r(lb
+R]j<[oO[bHfk\RE7Z+hTl'K$Z8Yt+$1c`2uIjJALl:Jg72\4<KA-&_#PG`7bMZ4Rp
+qJ$Rh~>
+endstream
+endobj
+40 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+42 0 obj
+<<
+/Length 615
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj8bDr&G']&?qm!u)I?e^+qW10fX9&8(1,RX_bU7)-=:2*o)h[=le6t%sW1$?9r
+\HdWDhLSTII"(T^!n^$7)s^F_I@<M)bi_2Rj>YrSlZ_ifEBa!:$gW6Y,Q>TuUmOgM
+k67HinDf*8WI_q0[B!9]G7-qJZKN`"7100]=QJrA)<[).`VfK27)L[+<PIZ?bXP;&
+pn[L_eE(I4"l6$o5$<IK!Xg$$hgo4-mpt-*G,OBV?&TouA/[.["?5-K$J5io]@[So
+Pb^CI+8_[i6qDANLTMJqZMRX:TnLe5Bm8Pe.7tn`[Vgb%U)A^9Jf*?KqsJ['DM-;F
+#i!b3$6I4&m""?V@Y^$3+'VL][UA+t?<o[c,3pLcGZKVpKanH$GaD#obroQ@U*mPY
+/V;tk/,L/WD--Iqk!AV*dH,JnA!3QaY?W3ndDA>mUo7ibm;1P%G?&G2q,E8Lao8_O
+rk8Ba?k'likZV4b]'Y4!g?,#^%Ql\:S?_lkE^%_;A,+h;="0kgrp(+&EPan-BE$/N
+R;;f71e@$+A*C)&/\(H$*?3B4=fSoGAcrl[0VP]meQBq::f3/Z%:%G&<I.IKbXfQX
+XCA@Ln-f!i%flBU'at~>
+endstream
+endobj
+43 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+45 0 obj
+<<
+/Length 4355
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,hiHO%&UrWP_WXX0FR=m[IQ$E-?(0PS;4n*PhVmbE"4s8aV7*`Yak>JcrSL7g
+3$XIN"O.*1=X&X=R;]h8k54i-Rrpn.Zh<`==U@)]m!h\.<7nrW[7]LrIC`'`qn"dO
+Hk`pc@%Z'*]D9'kIMtqq=F\'.A@>*n7+eX-5Ms`9b.SL7\uP+hnFGW*0Ue4&OQPNX
+B)\qp4Y;u!h)k(/dk3hds)OIL.Q00pDU4ep!Br,);3p]W()9qS+.?WCPa+$\R-iOJ
+m:*%-p[b@C6a0eU&s'FY_tW\/m%\N\>ORL0^1>4USo0<fU>;\a`i`\E>nkY^84>D"
+AJ)d'gf7=:LT@QEG5FTA=a9I<h<rU8Dto<udbZiY&B1O&L<h/nQ787aRbd000CpTB
+p7LN[q("7(k&FuO+5uHsl[BTu`o$FBL@bk`*^VhFp\pta^f>=gOY\+"U\h!q@-?4A
+L#99URXJsd^T&]PCF,G:r)/*[l/NB4.$"u4jr"T-GjDO(ckL13YMA@C@T:KpnWWBr
+VVQS0,l4Lp)O=iYb_t/G*P,8Oj!(oOP.=O\Wb+SBo,0fK_@WsBlqrqCKL\2`VktK+
+Rbl%n.1>nId4``WbXTZ`#'hcB383j$ac\4',0KIg^A78.R4Xa(Qqm]]V:*H#B)^U"
+<e+oMk/BAY\f]h)GJh9u'X$(H%uEgd<?;j,YE6p8>=aH:[2F+.K[Z8Sjd?XErK:S<
+gJ'Hb7c=#[-L\P&<[1RILdWQ3(t-<f@9=UgIT^WcaEa)nOslLGd\n7Kk$kM^jE_g,
+B`nMW6h5HeNl>@sTtL!N5%O'^-mhUY(l@DhP]1Ttrnhb``o95bbq-Y8^[OHLr2I/e
+coe/)GM<V]'sDU`jPHf>G;'Q!3$O"R\pnP9?MCXb(g3^B_m&6gG!@&GI?dVK1rP,$
+<!\&3OYqTsXLbL&PA(8+6McN%dXA=tYsJ`ulg"\Eg6Q$(`h4C$4K_uorTLWuj;18C
+17TtY!PU]WBScf\mDC^_GhP7b7M,^SpOdC-=Drau"=$k:U/+QTTZ9"W'G.$3<iFj7
+B6S(8aXO\$/1^qlq9\KS4g^,>`![l5'p6V*N<6"j0sn<7<Dm0-ZATSW=0[U"Bu#L/
+iKjHXNlpDAn32sXba1,Wi`V>60,_+2Z2g.lW<r#lbTX"9YY!2I"HOfiBEbl*%DC@t
+BFT4O_66/][q4OQ#rSE/eI]O`GuYCm+?D'[<[IBt)<)Qb-V\n3e-P\tAiq1AKA\..
+olYUCO45]96FnTmP0MdK4Y1T8@iPC,d/9AlGYR5URQr01&I74U(C7tm&JP\=Cf)q$
+H(bUA-gETd2&/IkkGP;)f)kJ/F;isQ4gS*'=21+b.q?ob^(4cDZ@XX)^?m=`47f(-
+q@dVaI06R3%+Z@iP>.IC;u^W_llPii*e-'uZ_AOB;N/OJ]9j"jBe+43X&"I9j?=n<
+Gd>HsW,(_n6-nr$%.DL/(,Une#Z;hehnM-*m'q6F@8Ighq3)$.$'CJf7/""r3=ejI
+[(mpb#t`:ijqd/B>ca\CoO^5[/IEGV/%u/U`aZnFm'H6(P,-)7pMM*+h>f8_6WmTu
+.7++WL0oG?-HAW26<*$8H&Y\qE/<p]hS)oGh5SK:MRsD%H9R^^Hj;VccZ<;41$`i"
+OF!Vr9O*sLON3j"+g'4g7P2LJ\-t971E_A)3-Ak63T.sg1([2k^E@_h-(40^=bU`Y
+@Ol1,:OT_@oa17RC8Z.-J.eKA!.%\^VE^S$YQl%40o5=VOi]fl(eCJG&atWd!9&O+
+cp;/?XM)tXpu7WI5Q:;uY<N$TE9ik14MqJ.*,t5mq<78lZO.lpp[P(0XTSsL<q>;1
+nsMrUIlY?Z@:-%EhOpnB!Qh8R]3$W#V,Xatnk'h7#!u=WPgR-sUbGZ'@ROLV.[Ie2
+bp)"/"YIJ4;T`d;_@eYlhp*R-]o&%@Lk]=5^Pmml3Ir<>(X51)m32,m.'dL(&e1jk
+-3(,A=Q0PsB#Xcb00HR$SP7l'd=4eF(,>FB3Y%HD1ch:3&#<S=Y*T.Mnof[QrFGGa
+Rf\qrSQOXH$K!c@m-:T[du-1hektP<e<<f^")##nC#V%LGrkdtra_gmiO9ldY&M:r
+4FL>E]bpZ\`b:0_]dO5)4+J09g`lKeZ]l>;-p70K4P[^`</-umoM\FTl3JH#EO]bF
+;.$DF<f!o>nBk\`A0i&.-'M2i7TijP7t+P_m+]XcZ/\nk.OCVC'bbG<*)([<f9$;<
+*]);Xr\moj9-p974+8tC`&(O!WRV*QC"fKVa>>_qUh89E^,GXg>Sukmg*;T9gFu>o
+?K&KO_lR=J0\4>U#%<%Qlie7(I_Zc;kR,k<6kh2ZPDA0aO)t\SC*BNiJaDkG3eBsa
+1Ms*Cd<O3K]HAK7drdEF>VD0I4Eg+-S$(Spbq(';+`*Y(.u&M2d\eu^Db+rkaTRTA
+<Cjr(:Q*7^17e2rVie7qW5&R,)sdKpVqI^2\HG\;Bhg)jkM]%Icif"4.$"CZes'/`
+`(@$.MH<k7'4h?4LDsZd/T*<T>9bL2C*+3V>U%JMIln4B=-?3,U,g%"8X[r:_0'VQ
+\n*%*Xu64%3A?jm)&1uG_g>3"mJ_<q"`fj4GoS@34,'>FO1Ns%<T_oaomiZc7K#uK
+B4-Q<Ie%2=G0@67A;Z:61a?Ru2Z8RK-CgU5hE+B9p*)&?9E-#"bHa*IAMj7/7[tei
+KFP/*.MZ%W@:HjA9pMYq=(rT#Ei8sK4_@-[SGFl=(q8m:I88elGbmALMY&@d)?l^E
+YJ_>6QW[\/&Q"M4,jIT&r-."SP6n(J?*XS5"IkV$ES\$UV_BKP09=IB:oMRm%A!+B
+0;*k'2Mm11bO9eFgC@[)4?P1_Z/tdA17tW`ZJo%*5PJc&H7qY'M[)M@2$Q;s"V\2N
+k1(Z4k>e#jGGFDJM>5--/:jR,Q"C`O8IA6Y!=_Qp^1Ibu;W986?u.WJ=JSNCYLOUm
+oUaNBQGdE3BYkFQhVl%@`+MjbLrutGF\V'N79i`6QL`-<`s'hF@h36/IPI<u4:n1M
+k#B&87_*DQUJNSLJPBT:%-Pi)5ZT']XTH.iHN`!mTfK^^W='oF$&00S1;@@Vb?5lq
+WA<?rU>e>.68$`*jH9tP(C@K),Y?sA5hLf\)H;YI5%3@:`WNtI0"qC;nuDa=D?HPB
+`HR:Cabdp?rM3_eN:W*_mht*We2+*][Y(F!<*^VNdQ"h1N/h34[0e;iYN:1[`noo]
+`AIT%&u@"DihU!-d*X=21WQ#]AN>rc5"S,LniX#e7)p4C/6Q@eruU;<G7t[9o:PFB
+_UE@c>g6dlY4'&,:Z8&,-T!uq4ZlMT:QmCe0B:aYB3<P#2d(kr&m:@d<!CqdjSJ;1
+k&.VN!2?X]'fUe8\CukIo@"uWRc3M0Tm"u)g>m)R"qV>bQHpJNJC\$TWY!c:0'CbZ
+jKd/e@7ZeBZlX/el5$V]fs:-!nC_VJ\BhI>at8MN[j#!^2GFT.bWM>'H_mm+?+[j!
+n<+->,%KnMF:ARS&>_,E'fca;mcj!+Yr?$Y!<"00:,;LmWm%3'MB[JH/^sVP8F]A#
+P8(J\G/P^2]CZ,`\m4+`$nA-WWUp!RHdYWL7.J%'X'Vo:(^BCj8I+JB^GO%7^tOL%
+a\>\P-nSdG."-GYa]>38[a^:H=ZYB0#%BKFSZ'K;r"j<#'Pt>ol80cuF9$b4]$62\
+auC!se*m]@`qSgtPEQE%FGm3Jb:ec0pRCr^S+?ma\Xb5TMn)$ZY!cVjj3UHYDIt>4
+H&H1T[;n&7H+WMF%La^d*NI9`pf+DS^Wb-e^3,;IGC;U#A=5Uf-#80T!L\)^(7X<G
+*nsjNNMk%U[4/MP#^7E@Ek3qk8[7\Y'(qRe`Wtl+(#`qqDDY^h3bdfKo0]#cU1,/>
+P'mem`tY<d&5S/72$%ZUc53s&Uaq>LNrtcro"lI:k,]1U/_gQK<Yr+#O4[r2#Q5uC
+U[MTp[+1%,,Z.G8bD>*ZM$ON`+nlV?&2nL&Gjje%CkjXK"U0>2p\^3Eq1A*5L)f7[
+U$J_s^*A15WiglP23TltYTi$:"d,2u[%9-OHM+WY#)S'^!/sVsk.6Te#%amrbM.L:
+d0>3]Z**11q9F;&BOm+I%;.-Ki3=njE2"&?,PN&]Hrts.8fN]5?$q>ImUD".\jNWY
+&];b<^dZ3MHfAHjs.,9+$S-AC2fJT?NPd(\1hc1)omV,V?;%9Y2_,P)X(K5mjsa[t
+\0>mtU>3GW;'[2qHoa'/H/T:ce;Ykqj;L7CrZ^"7Bd/;Wa1MY&8Af!ss)BMarQck&
+8CXPoY2\[r75_HQWM.VUn%eQQ-Xp>A]!F\u4D<bqf33$'`bEmJ*hVnM!Anm0VZ~>
+endstream
+endobj
+46 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+50 0 obj
+<<
+/Length 5093
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,gQLU:%=OkPR($b0AnK`P]\8X+9k(`)a*<b!f>\=8acUmDOYSSjQ+oN-#1*Ju
+c"([XCIGJU\/ZJ.r9a=JrH!.cm[mkSU*lf+,PUZ%s!r0j7E&3$n"1,7dJ`M$rD12,
+qq^K8I]i)s;uc:]o:8eL;\V[CSU1:Uh.GH[;k6,fmN6]=rcbs.SG\9n_Cqg83A"%`
+5K@`T%^5`rkAhE^1V?3?@[5m;I5uUP.6[0DN95Tab>L\3QX<n3>hV$jngr,_TkU`j
+2m&hh*dubpY&:s3ot*`Sr/3JfGJ?<@o?QD7*]],iEj?Acf5lq4bH;W<X3@Ija4Eof
+9TPgYpCuuO>?gpmP@X2hPG>nIDF\%,*OofMAG\i&S.tn\$[3=A*"j!,FGAO-2pf<1
+o23Y)goT\68Q:/BPdckOn#CCLYlK%n$3T^s<7JFWmF2[Go9@-E+Hq]4Hp(s$NRlN1
+?r0Ai(,dd4:A@<b6C%(3"8qDa;g0Hj(*4qdoqU?fK9&hFL79tpWq+]l1%iNsGW(`1
+Z-"CPd?GU<_9a/og\D+K/8>ntXe79`=*\I#+O_AOoR&atr&pK"Fn[Bgmp>Id$X_rK
+rK?_HFY,SeHdj+g:roM_o'fD]iRWK`Ca>-&3d9+b>rU,Uk_hD-+$e$0l`KIps4P-)
+2HRQN?^;)ZKT7tYR/_Q@#MYP3Hi=MVV]qfLorARh6E=jTXbsTSAFF+&3a.!aG!*4k
+;3:uj3fdf\.2gj4UOO0[kDg&#BW90q`%8"gBs[3mGQ+&;s$RSKOE?1]PJ4mkl6:bK
+ED7j]d=s#cBZ>IGCd`]2#uNfE1PPSYFgB?m;W[IgC`VC%[kfbJdmu]?7q[5-jt]HL
+,e<F<9]%MZ\U;6Wh=]rr=_pTUmWoH7p8I!qV/3Hm_uatHRt?M*<m#<>%PSlO6iMs&
+>qpV26[)C-$UP;gg(>,"N<cd@(\b8b-Tg_;'tYfsglBi[<g39oS,*1=A2Gs/@<<X_
+=E%7entO3Tp1.M9at8119`0Ag1_Z-7@`.jS@SrQOi<^njOsGY?/fC9`.qXIrq21i"
+h('>;ChG_N8a8>D@J.q<!'I7;N_Ms4@6Ihl\#EA(n^pf(%]?@q.o(j6dM25c#1o^B
+,3q(8W2"/*haj/IJ/`SBM^qu@+s[F*i7-$ZqgXkS+jla,.)-6*pNd<%?*SdOY6W<P
+ag<VP<OG_U#OdQ`6/)aEQ&0G*[Ta*um5tG(!h.c/A/EbedBQ"u;=c'%n-HpgmY*a5
+5XECo64)AoqE>9OV5.t41eA9Oj)f#n:K$Boc.Qh&Vq5@,,sh7<T]I^>J9qi^`*c"q
+P13J]HM_7-Q=`N%XHuU#CYfFaa7)NCKC=YaiR^]GH*2i8IboFnOC&ENfE@@"e*GBf
++V`*\\3;oba3,"Tmk?MS:ob0aY75("8X,&A<,GQg8OcQHMP\=Lnn$7@%KN.g/kYQV
+>]G5g[+UYR\[-e0+b&1VR<^2X.JRTCb439F;'ZG9U7n)lfsV>H\Oo-'q)A?A>5LC'
+FNX->V&TU`A'HN%SULA)f3a"+q!1`&"G)\PF+Q<8[!Zls"&+f6/]FX,:`UP=m%>+@
+U1YdB;i(L[j&]o#$@Ecg[V]be^k?("oa)8/4j*As^*d.*U#-=@!F-9hZn<0"5\Jo3
+eR1a;OA\a2"]&=Y,+.e3X3'<B=<^LXc9H<aD,W];&U@U>SBf(;\jpcS_pNs*l>Ug9
+p-dk.H3&QWg'a2OOWh!d0E;7$l`,-2nYS8YPB,8K'>?1N^DXSrF_<8\%6m-L/<(Vp
+Ef`"jFf4[t4&.I_j.L=<AM]JUj&Ae#7lhk24uiB@H$IjWpjg:DJ@J.HT(;AMH0D<*
+<C\$/4Oen,On:;M[-iJE4r:3/Z5bR7dHd-Qc*e3_*9_)SR`c&H33>42!q1Hd+OiBU
+OYgG4f!Z@VZqgC"H);`#_palH(F&Gi:"MB#4-ftb.rcd+PnG<SFQI9$+Kf[GfLB+'
+X6)CdAIH-*"gr=IH[^Nn$]6)*GuIik`G<Oj1]BND!$_dP!>5]5;,/D_253(nd07mg
+8\GYZ+0uuV;+@.F<FNJ<Z"1kp=RZCa0@U*g70O/a&sQIV0o29\<`57egc/a<K]T$*
+3meH'$t"L7q1,1+Uf/G:pS"/OrOgm?44^et7"E%cF`6hf2r-%)]2EBD(kE!!\mu74
+Aq$I*`*^$D4;t,of)1ahL0&s,NNoL>+EeNDGbAg)Y-q\R]g0prP]+R'H2D1"5KA&D
+8IsYn_V72O-3%&Wb(<ALkmV@qAKJK0q(O[]YaZ*`?s@<Z/8,9n)/-eqe%)3WhDlZN
+d(,2u?)-n=qH8N%6cf8QZ?Am@:&rl?N(,1N.qNfl2gl-ih^u&%efYpF)?$Aq`RYu!
+'<XN@l:LD+_'YC%k&[iu\BH$Oj>3?3KY`b=#,FR+qh(*$ogjj7Xk*P*8"&$n8u^lL
+MM+ZXQD`-h%gS*^`Y0`3XuQfBY%[HU\tQ+>Y'u8%4-M3@ou"t[PQj>@Tu*Eu0bh4"
+>b;!F+N[^2#u3,2cj8\71Kog6h/rr*C7Z5N4d\S6%T=Qn*@6;EEP_J3roiL^D\maq
+`]<O>TUZAs]\XD-SJ/QN`!aRk(C]2XF\5*uKr`)0==dB7^###*N/F<[i=n1J\1eH2
+A?a;ail['+Z^iH`pK(ipD@&WdZnm(Tjmif'Yr+"V$Bd'O7,"q5ijc[AZCmXeMn.g_
+[EMOofn^4*A4QeKc!n,U;=tKt6%?M\oV5>jPIW3,iR%0$bAV&!k^bQjX;uQsgt6J3
+-"Mm@XC"&d)B.lMAJ1-l8`VI_H!YD'6K]P<n"3O'roc6JFmh/^IqP>]Cfm[\Xj.4A
+CpV:t!S[S+$iYEn)]20u*GP#(fi1C^D)5%:=V0SUX2H<2I^0-bm:q()gBrV*.6*AL
+_/sd>#oY-a&#ZWpUL*D[+Hf]g>r@RC3FFoN>o_Xmf^`qpL?m8)W:S8^&_@fUqF5c4
+HW%]_YBnuBZreB)^.$k,[E6Cs8s6EAHk6+D(d'+I5/piqA$J('i.CO+n8hN&&D+MG
+KtShrRB))U<t_+4'82Wa6$2DmV=-Ogk-"uGAU-P^>V8_41-@V\>9=^&M=+1S[bQS$
+X\l397bos[TI,i)9<WUaf3OR&4m;4nZr#@iO52@cOfK]aRb/RsRM`59>.>4?5qWj$
+Oq#pWjdEZe"4:2*I__(82k4]tCSh[KFQ0\TRded8XoJhqf'EK148fsdIDLl_Q4Ctt
+JWB?GlUk'86(Y^Y34ZgGaAV=j>^dhhq\9@f/9-[^[VOL/D9Hc8,WZ/#KWQ2%[h)G$
+_J>kJ^9:G_OaE$'Vcu]i8XMKn\<13\F'DB>VBcG"H!Gso>q-u%SS^GO>$sY%'pRec
+.$=u*a$#N]cH%t!%l#:Y:0!+QKBN=`<*G[gC.4I^VXs]d#"FV^+`p<1]RXbE$(#O-
+1cZ#3.&l1\qCjZU;s9TK?1;*+$)fY%C*9c&n/CoF1HN3bq^i3qSHUeC)"<WI6:"iB
+p/S]$HsIqt8C\E3#td_[lOP;K6-RI$[/uH0gN.3/"q_1%-l%FD'p)!p!O#0c")Ua5
+@[\f/!Gi[r!,T]Y26s8h7ikYte?tacWB]$"]pW!;6CC4C@AN=B+&nhP4FFET:jI&C
+^u?)m=?DTE1#FH`k<us.l]/es8+T-&mrhFW%'DmDo&E8s]DiILh:ukb5^:VYaHd7C
+*sqYbacJO>P(f38$dW:-,UM.D4pP<n:;n:-Ne],lTlO`p7-@!dX^:)N._Xe"Y#-1n
+4hNo8mu8NA]d:<kDnk9YVi$QJ(ARCtGZ[M"Q\Bu+)?M#d[:_".@c)FEpKVsVpJhrX
+Z?5KH;-X@=&/7(gli_J)$o3o5q)E2Q'Il<\.'f='?F@Nh'F<1TE99En*5B))V+=\N
+S7:SU<&=W0:U>aM_l_W?$%VOK)ifBCOPtWLD]#^@>]MQr^RqdjFk-[/'Y+YONoRoY
+%c]#qaL`V1)%VbdjQr%W/)U-h^S@f*5=$nMBc%al?LMI-']SE/L;IG1r?7A(F_)?t
+S?FGgX7\iH7=\)CL)+%Pe8@>,BOb/]8F7J9jRhIF#PU7/7[ZCnM&k5O2c6h-b``mJ
+@Sb)6N?DMuq1>PDs%8/QMAH)rXHb9&1JS_i&XcTuWX%]jM$>QpQMr.$SsS^aVs*I_
+Pi>_5g?CL3U1?km_G-XB"]Gn-_SAqM`93*PF08ahMWj=,2eiN?6t#Oh$]:3+B;/ql
+Qa;Nj+t4@c-C8[O?J"%j.aW4'"FFaYg3d$Z#*:VC)`5:rm:q^G>rCc.VGcn7L4]lB
+[mPq6g161XZt-LmJ+4/=N2CU+S#d?:5.Mg2cFq?uq!Rm">(IgOk4h6qpkP\Z@slT/
+BIm%"m#G+#Bf$O$LaUZUc&eXCGUWC<^83,))Ej*24BV@d].TW#82DoWHQ"jZF[3ZE
+<kr;3E$8A1=MS#o(,WEg$qj3kcZ:<-'Y/tKUH\,*d>+YV?'#hh!?cQB[S`@""4prb
+[C<eaIR\b`597R'?=j]OVHGgAT`CY8.TD%DO:E@h@$I\>Je?/L4Wc,<c/p]QYlt@f
+g3)6/Wig:5pPt(JM%_[kC\u4.%Zd"dJ_(i_JLX#BOBa-JkJ\6p<ffP5]0-umk='cH
+;MXVM5S7[Q>It(h-[Lq]gNBTbKXM]:%/YF'Go)]m?(`<ZO$^Ij!9_k-[&BHi\qEXs
+DpI5!9Z*U*NJ[F*;HO_3AG:U=IL&U3c4@%1huT4@Zqc=D[c>JB:l7;RGPgp_dG8lg
+GF6$f8\t2#g4/SYf"q;R4M6.g,!NXWF1*a6.k1>L2^8*22Zpd;mi3rB9_]3K(0kX"
+`FO]0"&[g;=tNjEScNiSQqXIhV`AA4Mf*KM&._EGZP,F+aJ/n`W;[Ul'aEEQ%hq_u
+Mhp=94p!;D&DHklAr;g%X@EdOAd@"t:_C1m^Eh'Z\-aQngLIPG'8R;J+6"GBDE:(3
+:Y$aL@>.-\2ZbIqrnmeBLXiF=[6(l4;!5_iKHQ^7:Z;ud=R'3R(>[7$\e_o#"rW!m
+Y&(FCVial\_nhSc9CqX+!o04FpRD)lirLo=RQE$qFQn3W<QS<@PF-A\9+uNP?]SRn
+%feIH\97~>
+endstream
+endobj
+51 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+53 0 obj
+<<
+/Length 4683
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XEL_2dP8%_^Iqe88,L=1'@-Q@7QE_$kWCH^Fec62)F*[ZYmhYlia[<;lbfU.C2;
+dXtg6]$PD4M%[qNa2`[G+$OVl8+F+F4X;[I4sp!\Z[^Es0.C6@q7&RO,`hhXcbKB-
+*qtkHhUW4,9AAgX4?[Q]YSK&t:b&s/[m*$'h0aNpQ=Z4)S,$IgVe7=2F6fE\n.oC!
+]A^0_n3^P'c#ft#oCDOGmCs]q/FjVS?D-+-4'YqA#O*:QkJ!PBTuRi$$(("5F5MA^
+?gUP]TG;V"Ff)u^QZbQc'f&"]rOt)[HJG-Reg#B!.><M'D<;WNLhB_dnkf\g;O1ku
+(Z$4gC"Ji\Zp^Nu]&Ai90)!WKG-50-q&$W!go(H3V9=Nc<GbMIg3tu>a"!*Doa2d"
+_g/tY$hG..0!o[Cgi-c,CqV>+k,_+LbD`7@OMO:AdG5=F8Oh;@i-M)eo`B>DCkV>1
+h\)'?Y*gF2KM@qo;SjbXk5H.6lQ7*o3fi_,'onTJGLh*-+9!t%]qrr>8A]slm<LI^
+I854U9kQCEI)*4ANtf%t]W*r-3Y`6/=(/EoE^`k#$]Wq);8s4$o]NAe^.FH\O`lL=
+kQe]^\b>`]Uhh$lGDiGcq\aqIgbiaF;.8sJYFJT"A?#-]!h2Heas2:T)Q"V;_>\Y(
+YZQ("^pjB;m2N$8*%rC?pKE@iIC"9ufW0pWQ)f0$i/`u#d)R[!Yr0uX\81S*.M\G$
+B9!\MIV%OOD\[BF#MYO/30X?O>XX8I\8tt',$oO3\cuJV^=l(LjS7^o=G6O)Ku.BP
+"'5*I[!ag$aepbfMM2^taR<9&gEROMph&/EO_`l1gt,:dF@q5tQL,gSDa*16N<7I.
+fj$dRBb8!^9EdES8R6i#%"7lTYf`u1PYNZ*Dh_>U]UMTsj*RCoCnHe,A&I6hIAkgs
+T>!Hs",Zeq77?Wc@2\k=l5_?1NQ+.A;u=VaBPQ!Uiagp/.=0k[Qi<$>[iJkd"cAB)
+2bfE`$cr),a)rKc8_hFO^7Qcq2c%C'o;)Dq4@,DUbZ2J?&d6p$&*bbE\5?quMsnec
+]&D%:<HoR.2\t2jU?-nf-@r4&\osGrU%&rKT3O>r`8.&p=3,5\NN/bi?9[^n8;q/^
+!8f65[(--;UEST;3LDN65)YF.rO,\e&)/[i4s[85cf8]Ag6tW,6M5Qon^ilKg5qs\
+ruZ[ao;\d->EZ.^V%hNZLMEnAR>_PtlPt<H>Ost85mA-SQGOdQ1tL:':WD*L[_:#6
+Q(9dRh5%NV1+9E2kBS-FLrq'mXM]jP7VfZ*kU[:1E!&qo\O^2P$CUqs0i3k_SL3RB
+FJW-L95JG_cMhe_X)WSQq`WMhQ2*`pfOBKlWa9G$oc65IJh/+cJ026;"27%iU2^9A
+n&O^8BPTO=J`YA5*o"5R$R80(@(o0ca8,aJ2b[P^qRt@O3h`pM8:<POL.CiA*D`6"
+:Ga-N*)Nka]piT!$2X-ojVG=VM@*Ht\un1jE+0lgR]a#2l@M?i0-Shb#kd!bqAijW
+nBm7ZD*oL21)5T&"bB&6r.Rm9%IM)Hm.(/d;2/1>;Cu#K8O:s.^CD`!2U&!/5%W%a
+FN(Rg!9>mOoaO@IXTR]7J7!DTr6guRW',uPO#)oq]/J2Eh()bZfP)PtCb$q+,Zt<p
+J!G23YW`k+i(E;EK[?@^F5&W=nAThP8Cl-@Y9GR(<6%i?o[rD_G[[&]Wnea>0+-IN
+CuKgDAY$kh;2l#a:oXJR'AtdhWpP?s;.S@-flp@o_kG+>J[Lh*f>o3]-RRNjk7L*A
+[H8UB"]fjO;kW&Id\>RX[_B]*IS1>4LJeuF*$l8qOX>NfgV[rPo0egS^]"/tQf!8l
+`P'IuRp=iSF7E+m3TBS<"11%eA+$c&J\FS-@hH$gj^S1_fe/X`kblm/i2i/ZQ84FA
+a$c6LF0$FS@D'uV8r6_ba+q)Kr.N<TPGF4erR!1Ao)L)Y#)UH$@gru?@iG[A:<lcl
+%d1P*TJE\"_al+H2J%1?0)*03*fYug1eH^ZXtBG<88]O)eBC%?Y.kP&^sU/FKpIuJ
+0l=b8jdLG8oEku3TFr5"'i)?K?!3Q@Xj[fS#u`q"32g7EnKh6NpZ4[PWKoiK*?L!`
+gn]3I9.&#O*Y^X]c!B2pPgnOA<MrY)]MX0Pqa](c[pPEl<qO,kg(XO-qH'.#Ll>[g
+5G=FE^7M,7M"a?#eAJi7VOjdB20DHGGDVFnGaU<:M-O%3=IrCKK#FVe=#5pt_,pRh
+j.hln6Pm6sOfZH0g_Q%A]nPn<Hga5*X?&]EE6<a4^:*pF9s%?J%]##qs*%6t[:c+!
+/:Cm<JD;c&8pnRoMQ8X"%s3f6K?.[c[>mn]H\.D1+t6ofKQ&pb>fU9]<4$=YTS9Vo
+22o&i_BWj`MhjPr,X1PP#2gPr17LHUU5VRL\[?'tTNe\AOet"\9.66\6_Is$.'=^)
+$4gUB2<Ep/ZlM,__9+'fSQOi*9K`QVJrO^k'VZs>)M0IOfMW<*:T5GF[=_cX'XT;3
+ZA?>h^`(')6DCp;Cnu2\6Whe30&C8OVKUj\?:HZ<QCN+B1$WllUHO*97C9?uF?qS-
+eXE`MV54fV,SA.D!m-`sX;HgI3h[)"Q"?76^l;kE80H3R6Bh*Km3#n&3b!bj=;Xp\
+\^$t$DH&$M;l>ZMY,d8I/_M79"@Xh+FmC6`Jr/W,PtjqS_=rc;AiXZolPS)m&Vq77
+8O^g1O]"VqTN*RbeaGR%Pf3H2?e_j2A]2's//:gb8SE8^Q"0P$RSj,@/RGeD"ZT=*
+8Cg%u/**K<?bgJ6N4*&K."HRh&QQEp<\Z,_-U,pi._D.B+Kbb*hXK$gZ<&eo)4<W0
+aU"h!YW/Ieh?+Ff-uah"YhHt&^j&[Y'U)')*dKRBO#l\U7un^UOQU=i,#^L:fXq9Q
+Uh5!?+Z+?-+RDTA"H*L_J]J@BRE6!j620Oek[Tn;97M?7_$oU-0Y)tU/h:*"8(0D/
+oH:\E]s>-kkQE3ln#c`nb-)6@cFpF##t[LNb:lnD#QI\&f+I7;HtRBSP(o>tD#m2?
+(a9S\K4(+;\`13BP'YZgV[3aFDLLQ!qcqkNJFj[]ira(g(0BANNeR92B.23C0L,r0
+XN&\SoM+[`7`ocV?l/Vo]$pa=7%dO=!>`i=)P3S1G3@n/B?q>*:,i+h#1:b$*PRjG
+!'a<-W->MR&#>UubqfON^.#VRX:->B/sqFtkq=gC`fC-@H,bTXkm+/a47R<D%7>T@
+NnIramX_I>f+,$Ujgb/"(jBsjJQYPklZ:VD/lK!\!WE!H:d$aGWC]V9F>iT`dpe34
+q.$n`89j>afKbpP8f#C)3q'M%>@Y?T@!>^W!2@ZH[&sub"eiY6W\`4rTVk_rQI=Wh
+c@ho_&2hkN&U+T3ZK+F'TDpgO>n%^b/8gMK82=6Jg'si#3`R%HoE?_R\PdGD=mTR]
+lgkE$9$(f9"'@?^@MZP,Q'4bB0(4qsYb5^.;hqreaQ(G6F[^/o@lr";$pt'W!L#r7
+\lrujV!rg6nKoJ"Trj#BqD9:ofY`;PP94_iZ_5LXUBm]8[2UNJQ%W%^EhSfEJqZc)
+i=k@P8$S3-#MQjdid&AKZ'3^!TugdDhTWbuM<5Sj;1.<3;G/XS*f'u$pT_1!6'Kq6
+CpO"Z9JKk#B%c;M4B!uj"O/16rt8Wi]57UHFPe`C,eIN?GP>s>FX'=PZ6:(><!Fnh
+Z-oiE0_aF4%^qQA17mGgcU7NKS)S['8K!E7$JEI!pE=[r:(dgbU'10nJnJ%(PpET+
+$fbq;>5<ZQfKbN7>MP03gUMK$.m`4&YS,6JcL.r\%_!n@qKP&++;nNTalNh*($,$s
+a&%D3q11f@<b[rK"Zg$e@>WSY=F[DFb?IgnA+P":-lLLu..b2jWAB4(/_]r.!,C('
+L3<apjmnu1m4XAZm9`qTE*!BJ^#%LE-l"#e)RO:6_7ELl#r=]Qa9f4.jck4[cLjko
+MbLul8_ghkO0PVM"f26^H/<=s/WK]2;P,B"$.V)Im'U?=-l*!7<t/ptq1[c<FGu,_
+\Z!:,@Ob(W&D?b_,9DY#/>d!_gV.\@dVKsuEiq]KH2Vnn$=gR!9,&FD%,49qZt9F;
+=h$5lce3'(dcUFtZD#3DGDZK,LP_T7h_)HH;2m8XH_gGJ'F95f;WdLNh%g5.WB,/]
+YnBm<ZN0@ZM!O=$cbn6'DaBW^\iRa.i<l2uf>tn5':i'0P3LGeJCg_>5Rjd'-/H[N
+>[#0(6bh36XDO%F6)dRqVfT+<ePQ:H2Pa\I='(R'M"#$`0p4]%R6*k59qcAaU+N?"
+Bo=+L(fI!UqMGs8!D&,ib<V0ZJ>M1+&(Pj!Ee'MOJ-!a,;@KE_,qe\Y]n^YH>>@?`
+q9P&i0,#NQg5E)]pL)QKh4`OF%*@'tb%K5W=U&C$#k>aQ_r4RXR[DcKmf]IL\?L3%
+B,9<HVq.iX\m9hUP2T5SG1APpBRh=RRAPYPBeI#fpt_WjS*6GMZpeJh;c+I6,_qm,
+SjMN2Tq_&p:Br@J3iCO:8,T18`Up[<eii]<;c?PnR4S0ipmm-P7K)9'`fXM2>]t3T
+4KF=DW7rhpj"Eip#'JOI^_j!Uk*Sc#Pu]&G?;4@f"e`3riehKZ46_^YjNQh&d8S>T
+=f7\6J$uPY-+"k9VCd?7U["(4Abs'T$^EF_[A5#_[F9K!VO'Lh^\o5S0Aj7k~>
+endstream
+endobj
+54 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+56 0 obj
+<<
+/Length 4992
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,9lK(5&\\'Cp_FaO2=,40@SYT^,a_gL,R+lhS-(@O,js$T5Z2)RfH7la<F*Qr
+9&@c/(f3r4=^C^c]iRE]hL'W#DUn.7r[-;JI@Ia]#Il8,D5D0/UtR0lp@75k\NS_q
+qWkoGm9t%eO1UmbS&_;;HSC<R\*<0j]\M0-mQjqRlEtI=G,?X1F\e>u4.WtZm_=g4
+]2;."\kbNhijO33(Mic<ne\4Tme@I5SsF$d2Ucg'dp)3%dA*Jmc#nLqGP+L"ok<YC
+IPP!m9M(uB]3dP;dl>,f=r2;PHeVZZ\#,)Jr&cQ$M^!3[nJetWATk,=hH!XAq40G,
+ac6lag;dQ=FC%?9\DrPFg7?^K0o:qZm*GWJDMN[mHW:fHI@+n<l-aKGX$4r9[a3r-
+gjcLdRqI3q/`PsNrDK&?8<+78b)Lm)'P>gQ21?%`VSh\7gE5?h3XmT'`LgS\kkP+"
+p5;og^Wf9)US%&;K(eLkGfHO7]MFS;,1a^Nm[R't,=#DR!:%:\n!.T,9/F6SicVBH
+CB\r:R42E=NIMh(qI4eF==OmD?ZEJucm>?>=p)U+Wa(bt.[/8\p7AM\I%G&-At\:T
+#jqREdj:]raCGuKV6g=*PB1+C%!9j_iOb@8:nl[6Lb4:loET>#pdY5;=UqI'-:e/\
+1rim_LU5;FFJ?nj:)Q2Kht][fO/&8EUG<'2Q[F1..84u,2rL9qc=ABh[cdY'bX.^O
+S:Rd$'Gst$/9T'V2374M$[qX$IMb<I9O<Ubrat%hJCSr<&QXfPY*45*!j3lrelDQ`
+h(!\J/N_$[.83u[GtL&l#IpM\\(D"4C6i<O#-%[WH0EieJG:7W<f)k-aqW%SNu+#?
+Q]A=>-bG_%X\9c`p,#r<S]Hi5j3[BSVZ!/-'7FKU3+kPEld>EG",1=4j:&Z'h%>ro
+gA)\[AkBt9%%.JOUb8GN!].i8AG\f.E-JFO+HE]DWAlj,EU]+hE:02a+"n^<S[Y/8
+pKu7q]UZje\#=AK1l6QhJOtfsHN?FTca?g&V-kMNR7hq#ED"itNsJNecmMr#@Rsp]
+r,PeC_IF3U)+@d.r6LX_W-Cs7DT,E'ptKKXd-1rDe#?_N0J!c2(*=2'&[GAjG]Y"A
+g"AO&W@<2"HV4QK7iF*Ap]4t8L#o;Umu`L2K;b,PJd3^0Xp09l$.HEr:PXq4mHpq8
+1A!_]1.l)_/EVotWncNCm.LM"bPFV."C?I*J/<&>Ji(Z6\GWPWs4h0L?[=:qWFG"Z
+,^^E/E`FTH5;X?KGmt5keg_^'.aj<;hU#HF+5@;+N\QkRihr3\n.I4ZQri>p?)XSV
+Z,N;qoc+q+E/?DraVI8VM4f._Ec$G*.!$^3qCd:XA'O^>W`(InLi\/;9?N^^B*GV4
+bXB#R\gS:/5O,!0_?"^MMo@K2/I2u:?lnOSj3:kFP,WOl^6"VoIW:_h,,J6kaO7=i
+qnH.O,gomYT!Mf5FiAS/d4q=#m7<AT?JugA,#dj.Nc#2UUHknV)s`s2m=PR$.?#\6
+bf=]_+']'84OQ4!Y0g2'ZQ/HTVs&o@IW7T1,k>=mc%Y&Ca.[jkgEJ@-33i@#UF;$<
+.rm6V.USVaY="McnN_'Y7?[ri/t-$AfO^tM99rnl]D84FIkX<'"P7KC.dgJ(:6Fo?
+Jp+kQ9hPVu+D+X!JKP=+g3_Pdh7l21iN,MT'mb"me^b]agX]4mR.Q?#G=[%6k4eQa
+PtnNCi/B3Y`ZBRVAXpYL2j&9j7]H.c!69ktY)?@*L<kr)_2J$S6j(tW%de"''"rPr
+Ju's"he;3ELu(LFq2fW&`i0!mo#mGoRdqZQk$"(q3gE:$b&DA9a2%PsYQq$lXq1H5
+9m/DMM;TDqq4HRa-52$P%b:nLa0obQ)iSQuM<"k@f7Lb3Obc[:om6.$"Wc>j$03_q
+el?/AlnSc>-r+0Tm2PqW-H2D=.UC7UN2i]k#N+PZNL`G(;U?CB4:M_r.o.D1<k4`/
+6:1+.DL+2f[`2Bh'P@o0Xg[UJ0pB^gn/;H8S6lgYYscCT^MY7KI3q?86Rgh8"s=A1
+hP]B:cE9Q,^+pn-nV(Qf&0*S=4H6#433hKF>[h:q]WOk)b_SStaaV>%(.r+d=0lYS
+%"12J/<^/pH-ZhbW"atY=Ee9<DJW,:Q"c.c@a\N2kbiLVbn"Ye!m<tV"?nK<'.Eu+
+()]&:r@PMj-6h$ORT6r]BOf<0o;+9c?CXSc6nP%"r*6*+?O;4R/?f1OZT+nF`1eY,
+9#@q&S[BhZJ(bm4,oQ#o1#1+E>#FE`//@CdN<$l<p?cg9jPr9bh9"fqn(%rT,@&+d
+>I#V,QP9Ef]6<0YH!K>2>k)9'EE_A96+#eeOM"qS>f%`e_6Q@];04P3UD<A,2TkMu
+k9Fd^=G02)dFJc?YTJXeKkJ29lSrptZUDO5\rPEmFBC)m8s?Bt*GS6iosUnm!J3CT
+_fOY]05ka+;n_5G??mY\]#^W1Tr-nRI9gf5Z?qHqG0dniV!6!CH/Y$/aT>iCoSMgk
+Gh1/<$\me=q^AtqNeWB(J$f\8GTo=Bp_@UZ-FOFA)msn+m@CH8>8srnlq+\&K9upc
+_(f"5P'E9#rgmRJ^k.[N2Pi7oZ>W`88D,rM[7^>lH>F0_`FZ2L9^c4PY)):3fO!WN
+)*+$>qlX?.pWs:DpiY2#e>u,>1gXq0J/P]\?-V;t\rbp"cZOo<AodQ=*Jumu-2W6/
+s2/[5:-$`P'+Xs:o',Ubkls2uQpT#o(9CoS'TS:W/-d89>hjFEebGO^J$eZC.@(hC
+a^ZDj&i@P;W82a-EM(>2$p-TS)@U9_RE&Wi!Milig8=cIK26AQ4^srMD=*iP'+Q"4
+oOh`[]L.IG`$prn>_"T>iY_N3SriJF7g(?A1(u8!cS;#<WU+n$m,g>'K]$ch]^P-!
+nloD^n;Q%ti.hppd[)XKYiO)QHoR+gl;3M3SL0U#OpLXAi<?leUP62ec[EF+C&VOg
+4Ld!R'!%4p&L+U##F(>/:\o;g#Ft7"'.+;iX\s\e6XF(>:h%OjXG*S"-C"hP5q#IG
+e%i4Bqo#hrB(13UlY.[S/0rY?,&M:DWL,00;3HgBX&&D0gU/gHT$a'[UW`4=0BQFm
+U):R%lOIjc,g3[N5*3EPaf4NtcehgNE7TqIp_=MgV<l'tR>S.nT27aO;;cIk_\.1j
+L[-APqeBP;CmFVYN$5'uaP!HiRI87oZMZ9MiXRF%*`]+(?QRlC=DupXeD]J]Z:$0'
+LZ`Lg^JN66>u1':hKa"+5$q0S<MW/k3\M7+D<M#D#O)IoS_bto[gj1dckj#6P1#oQ
+!8OZdM\mnkW5D`0S6Gb=#.ocU0$EM]@O^'oF792[:P-hlXtrAhr&VC:n2*%kOs:C_
+jPVTsqRb\bnV9'XE4RkI:DjJc"btb8d4Ji<eb.;77;m4%,Zd#pkKt@:%\Y:_,Tju,
+2XsJMC\R;&@>4-pe*-[9Y9,T4Q)*51I%#RWi$Bsu]D106)]'Agc@nsT%VT?L5<"Am
+0-imS!RS'c7(e2SB0cfiZd5+<ptd:lIDk3$LPE\1MI-8#5+`>j,1]2QJc)O83&dOC
+LAf4urGq2iB@IrNZ_(ho_tZZ#XTC%`&=c4c3L+Y_6QE*u.-J=HJI9jU(KC/eC3(F,
+q.d?V1[G!1^?KcVk@g7;EGPPKGdT*3#t**g^S8n``^pRE&BgluAhqj"->pEaA3gX4
+Bl*,:ga%AVl+SEOg?rDo,]W:`k>;K[&`0NKVB;plZ$H#4_1$P>`(`B`L%oa>9ib)<
+E$hfdDbNIS,tT*1[U'D+-V_=1n<B]k&Yn=taH:V#mP5<IP1:"j_nob]\(-]nT4Z\r
+g@jqX#=l=n37O--O6]decs79g#ngQL(nQXBOe-uM"'CQ25j&ES+a"Z!e88!)84A)L
+);*3T$m?SO.bMQl=rpqO)>\Zg^*4X83XH`AcJL&?Bp?`,%ud!qY,CWQs+bqb^!k'@
+&PL$gea1(>VO*5+p/^L;9;qg<N&X[*!3A)Bh[TMCmI#:j^GJk!H-<hgO*8.&[Ze50
+.o.b*16:R-9r%pD2.aB[mD,(2GV&;)FR&9AqC8iAq!I$hUl^^2ZbK,ndL)7)FSV\K
+FS^[i,um"!DpokF:?["Q'Bg<e4P]/MT-,#FD90&o9g#r1Y3\&(;b_`q?J7#(1?PlD
+$8d330L!>ma)Zl.f*o)(pmsn)DX)[M);pA:FPO,_VSHfZgIUbnPZCuVMNjFFJKkrQ
+BoGRPF"S+@gGJg3)%;gqI/3^Er.'R;gr`Q"e_O'9>dDW&F&>AIh(/++d]n/KNg\s5
+\3V%gJ>giu"M86]VL(lH!Q4u`L03C!dEBRh3h2(JUrZc\Z7?13QH?KFBc[*;nT.pD
+B[)MK#f'G50gORB*@/0S9VlB-S7o#.I"H[C0`X1.c2sG4JRpfk]`G'6_s2nP"AT)V
+s)m=:(q-WKOg5]f'=9,&,e^j&DlQcSA7!FX"`^Mqol6Pq$!'TQ"JA'd[*t@UV?J;N
+i8l.#CG6&))/T'kAaIW$HPpKEA&/u\;n^>Kl+8Yu#__1W#RH(KKt6Ef`S0IRJtj$[
+d]QmeA7tj!>q^5G6S+66G5\9FS1UVDF?8oKRrhfB#RWFY0,":In?pRBT.nFY;>&ZN
+5D&!)CUfiZa%/OIoUCW^pN5%N10G3ZA,:'!`;H$6/ifTVN2+8A2++YtaGG:eO7f9*
+8)eu'V4gNGA@XSa/fK"#;:EOY1=3ZtN$sD94Yd?GAC&XV?r:01^GS0[1#^8"S=.,0
+%OnL4P,-?\d&-a_mfP63`OTI/R6-Raka2^RL1Eg4-=of$p6^^^*uhG0NPINqW8o5'
+_@/+CO._Am8,#K16p$EWU12@W^A6]]R:d2HXfTM#^J0HU"^dbDaU**3'g9_YnGsRr
+e!Af?52_hkWm8VA8@@GA<i/&%A`322"ID^n2pB:>^"Y40dAJfs4-Xt(7UZFUAQZ%Q
+;K;`,h6n-98.`apFHje7gYJXWDZ=;<iQhK5$6EF~>
+endstream
+endobj
+57 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+59 0 obj
+<<
+/Length 3250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPl99\Bs(#J+ToWAk-PHcAtRCWd'\58Nd.#JsE8MAT%P*kba=SANm`Vo0p3]aR2
+U`">01H":Hda<>ghtcnU]D/bXT#fCSY_Y2j5"4c*g,rs3?W:hcqQt)UdF3+*l1[E+
+Vk[5;gN'P=:L^a1gOc4hmF_D]Yq10!:(8<2^69N7.>a6_'LhfqVh9G$`1'*lZ1"1p
+C0rf&s%[WRU\aGb=C1[t38!"^,Ab['@kPb$obWJd:.^8VE9thBP/;-LU3_HW1t2>C
+kCEDL'V-*9-n=6_6/->?VstR50WsQfZ`l8`jcR;MMDNlXoG<fKDtS!n*r=EUWQ!%Y
+8@a'&raEVkollIp=rL1XHuk[d;Wf+f\YA^p@m$W.Fs#n9jcM#V0tntef%k?XQ_>Hj
+dB2!,d!fr5*$Y7Dco4[;>Y6f,3JW39g;_K2C]0*#`4F<e)h,3F8ncQc5MZ!d+%XU"
+qf]a0Y=u_doCr:6KV9B\n<OXWfu12OClDTQ?RZLc323B6'6]nBrdjt.3!aN&?G[AJ
+[Gqo7.&OPi"2]??Y<KkoN$V<8i:tKpDTm!e-fK@J,o!NgdpP77AY3&L='GChU9FG/
+Ur.q=IJ1hpOJ<Y&Gd^a*Lu1?RCFNg\nX&9a2+#XM\Z&().1P*r05s\IDgjU6'E!R[
+aq1.1]"5TgHl2X$-V(+a7W.cTm\8>3lIE7d:@J&c:YItHS"hFUrTo2qn.a"P5<!i0
+B6stHIshO6(&&Km!8"R1>DoZr^<0`_6T6+eKcOotF_sc?jqVK0oL*B`!)JWg'7sn^
+U8oPI53*eZ<i\cF++\\M9ZIS_HIV<E=hKf)k]d2Ve&R.7!fRk(![_&oa+,:Gm&7f,
+V@+__Qql+28PmDmr-]2uZo2D:"<'ZHq<L+^J_geP'ISl9g+apA,o<StZC&0pCel72
+68sN]GnBEs%%7d3JTo9AZdbVt"4^0clOn][n^=3caj?0RG*_oEb8)GH"5AHiB=-Me
+JL1mphr;!!WQf(\&)Q(+D4l2`c@8fb"jD!BN[8"$<Hu*6G"c/"(!8<0BEjTAUf8Dd
+El=UK!Tj^)g+\/.=$IP,fM!kjkSOcD=l71@Ir4PNU63M3c)&TpWig4LVBk]D-Za@=
+_n8r$T=h5KSp1aW*aJg(Xh>"Tl/hWn'u$MAOSdJ6`),!TdK;E-$$G1SD.d]J&-b^Z
+0JeR-BV6WJ3Qmj,jsV@.!b!M21Pi$)\<err0^2Z,Nt>9^h)8mXm.$+E3FB*LZ'34/
+C1fG/_rJNog"'%N+TMggW67_^3gb['lki:rBIKijAW1iM4sI7`X8Pj$=Ut+Mlj%oZ
+d#U6<\m=(ApcpYrqj+._0"GC7]C]!^V[&"Ml?U/eO5RID;4]fXiNitBif>4"E14$s
+4DD<@lDFYqn@=RuA(4_F)>h$<DP0LicJsoNm1apjRb97E97,`tD%7k3F0lMaBJf'o
+kV6/N*++WuZ\fRaYOV'boo=_\5n=:STucD'e$G26`0!AOf9-san1>Ia,%.6M=XVU@
+P]\#qCGiat;174R;5gelgf<]M)@b8DiS<@$X`ojhs.>,945Kl8UOh%>HP/Y]R(<O&
+<I'<kPp'b@;Pehihj8*/^2$6%@n,GN<b23?r-m539m&7pCOcBmY:Vs>NZr:8Fe+`u
+FIuKXHMeVm3hCg;V7k>3p./4D`0)se_1!30^(g(P$PL]]Qm4:^es_.YKe.rj6UgsK
+YBNm^(T6+V3=^7"1W;86TtnT0RsX21$1fXWJrg.Y9!`eJg#FV+9.OriI%;SjTp_Wi
+nLcorlfJVBSb+':r4C/nFq[)f&q,4Jf>EM>&O!W2q$UnI0.8W'`fZmi2.^bgLVH!?
+\XM2[g#B=Vn2;SFB`$2:=F]1,di`UXadWL,O7bH)i.O.F,ig0X;O[?j;'Dd(@*#(U
+9fe<+/Gc$%n!&ijHla4tLb;Z%kht6RNuUqqbqPEX$;9)uShX$oJ.+9:+]$H5@,`H#
+1R`"CY&<QT#lNiL#N#/QB87-K4<2.[XJhfZi)m)`rU&Kfm+Qp`MU$<1<:_XZHPC0O
+*0pdo<2YQ2TS=8ckDp?P0\XBA'QJ'qq[TNW+B>T+;(tmF)M;K5E-G2m#6OePe`sa0
+K\-<tS>](`ntDp*!+r!kj!(^S`Qq^hHO<U2i]-F.io^uAZQ[L!U;PNF2!HAGl.@5t
+_E\]&W1sUSghKFmpK'A4<k_[Q9bK3??e_&CJD&HF,CaL3G`Y*%RSRXUapO0G2?*ha
+d@*QU]0H>c06q"gm0/LJr7=0p\UF:2U*N0)U9)d*SVJWJ,\@CW$sS1cZOYJ+::]7"
+DFE3#@.Yhs3mW[2)R2g%-4_%GG?)Q^le%u>=/1Ea50SDF9="UnIL.V#0ZnuREC4XE
+U4gL,aqL#[-KV\<9Zla.1LRF_TL1jfm?Xd6cDS6q(X[[qP$@dOn#uH43_RtB-l7D)
+osDgpF.e*?%:H.38_RU?;M8N\P7h+Y<Q4e`6L:VD"C]10;*C2+bM^6W1;c'c7A(9M
+'5-I]-4M3DoBD/`UX;Y^l'@SM)GEH9m-sht^Fe:*?XkL-M7F&f3""-'N1r#)]210n
+m*bp&f:G83U8JIhNY=X/3cc)\3(BY\[1=@Q!#]9&aqYjT9%$Fm7HRsNLG8C[RU-d-
+)p!VM2Q6I%IW.(^Yb9%N`F!D]k4%DaNZ.X_"T?Ke+Zm8ij4"Dt:SQdQ0gZ`a.tV)N
+6suST7^/F^3Wm[?^ebcT3Uf^T"@-n`l(il93s[^E_'p\jUY+gUGYik9!j8ei-B`Y&
+MRdIK2lla*;YVs*o.5SpFm8uR`2s:t%7FRMQM&N%,*&?mU@Y1seL?PNTluIDdjHUg
+-W$bpIkl!$FTZa1;THdHh*IB)(;d^a/S2kE)N^K:A#YkG3WZKWL+@kWTrf0_!LCUH
+:=J-5EtXcYgt_dalW"?Ip1RnM#X#cE4[]1#JT4D-(q:o499"O\OWY-fF/+R7!c1%W
+?pp"QAk.Q=pI4AGi=GuQeELa/ElF6.:2V[BS)F.;/tbnc93ujDM'M'ZneWap93iQl
+Z8`bWbM7eaYC*HYi'&"%_VOf3hT'7g*=ml4JZgsG48#_+r>E2E2h$53YP'Kq*$e0o
+BKgN;?_;YWZZpWK/!K`,qP2L2U8X[XX7.IA<Wg.?,A_8:SO`U\Z#@23"%('L+V5`;
+<e0!M'X;+i=e:?M?;lDs6ARS+a(GY>,!_qO\?5J*[-A>h-IlZ/?l@Fk,`QC9&uLla
+j*'t]!<=fdWCR~>
+endstream
+endobj
+60 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+62 0 obj
+<<
+/Length 4229
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR4bDmOR&`(c7%(rhL(s,LXT5\h%"A(5/<Ib@b$]PrBW?nr(FUR"WNtpH2%p?jq
+=Y4?*%"$C]n57MQ:Ao>2n7c#gMT=iP+^#*HR$`AEpaXMfUfo&7EHuq&*d8-eIf5=P
+g^WCm\UKqEenfO&ppBtqTF,*;/cTG_nFeR5LL&(1>ah5<p"4BR?l)$Z1ONo.b48Ds
+#OII0\>\*=NYH]9/9;X*freDeqmGj-4k=QNm9D"+0/#-T6s@1pP?gqSKeqQ>T1.jj
+eua5mfe1B/=X6SupPi\/$kd8H%mAT1bXJ*Q4<]A_<)o4"?\`qqlfa'c0E8gS$38_P
+9(c,+KU<)a%"aQ,c4*4a6CYs_mB4\eXE2ofqV[[SeX(hOT!RT.QC04?`,\ceA)CRd
+D#`CtjM`D+,\@5!/5`8UnSrqt\Z^c,$DLpbfZ&W8-8H'gmbri?l'_->K*>-enJu*E
+gSBW9@msn_Ot?IQC3Js8k/s3dD49kRl-&X)VFp(i*6@)bH<%HDW$nY>0RdDcWpItE
+V2JV0X8"@QDHQDD<S<qWo-)>3@Tss=8l1XbG_s#@Xkt8YW^mk#FgtTN?MFFqMtcmh
+mT]Deq9k5++;F/!AcnW\/7B,rm[M&2<8+"6,,$[)VBO)r`DSo?p#,nJV%g&/"W1*V
+:rdl`pH3o1&93Zt#;IZF">S$YlSS`FI%LeE-s:R\rHc8*P$&iEDq[qa!t01QZ7=rq
+nHstU`f=D.O86*@4]YC?Z)Yh7A@J,So0#DlK9U@_:Eb>A,_)_bdb5_Q=,hJSEd",c
+^k15lX!E].E^IX[gL%u;fR^^g<>clnYk/QoA`o,qF'jjp>GUf:DMsEfH7EEZ)JEgs
+8U-93=<8jXZ/W;)/DrW&AW#;&nKb9G\LKDEb8TYUMhn)SSg;]^c0O%^0bcpBdDk.X
+7f9"imK"<+X>HA"JP>818c<ur3CG\-%X=@;OGDu5Y36PiWRXMJj<IZclNM/MC]=Hi
+b#1V#F!s`HV=AT+Gu7*:_ahe-N,Lfh,GJ$QD,_XQ?8:h&:+lmSeSOa#Y+(bGV"Fq_
+<kd"AQ#IY@b4k___0_F(Tf^g8H5"D!g6pC,^?")lnd&r/ah*ehG%:rn=HCcJ^,P^c
+T+@;dOiL7GLDO(6o\k`>>O%(Rq**F,Y&&luescu2Pqj2r,u0!LS3b$MYXaqlBj5tt
+M"<UlqM<]Oi5`"8'C]!AfssBqPMrXS"*0q4&@g'P!\jLE]APZeSUR!W5M#MLr)SDe
+Z\9#7[H-\!<PkI;$AletpeJA_L*:G;64HO$mHfe%=eC&!A_+#97(^<5@f28E_oj,P
+^q",D`h&^$gt:WhM:Wtn7kq\!4oEJRgf7@-6_*?;E"Kr<7EI>!a4gIjM(5\"'e0Zs
+6+:0K3*LKslFob';M`Q7*pr?d9QmUEVS$-K1CDDK0"pDaEQhVeKa,T`+8U5f8qH?]
+\tX1NA\N/fgbM=#!e;D;</cG7<&c)8+b2ps#r6Odi,5F(E'-_PCHku=5CUTq6cPUL
+Rq8>=DS2[<Q6AG@rkd3=@DV.?!3D,8/b(U`_$[A)S8CF,g`TcI4X'r=Gk]d^`Y8S$
+PBGKO](J*MU\5Ce\.Sp:1.;_tk#iT^+Xe;*??Scp36Da-<A?A:_XKVfC%Mj7^l:X#
+YulBC2bTH%a9!3Z;O44C3lmL1;^t0F9n&,9RM-oV@Q\^]+@;`fa\<rAS*(!O!$N/+
+MS_*flP^[O_OLf?Zh39G7M,ZlUf\f,S&<6[_(]/SH]=)3&"CrQ2c]\?*1Pb*9.%rG
+E\KTCT,]&+0-Z=n3T;jC1J9Cdlab4Hs3)+E-U)B$g_@AU4LG`R<&Q)s[>[!5b&!3I
+A_;2TnHoeZDk&%@YZc(75_G?2U,bKj\^Q#W7C]B<V?pf>_:OCSk1<q3p<=NK:Web#
+;3aH(\Qt7jf++lOkF"=SBFKRL*bq3&Uke0#)$?)0jCR8mk.;[J*h`f2D=d<$$-De#
+&:!HhXM9>b7<.e(fIqW8q;pH:A5J\\6Eab$41r45O1[P#\'3&\Q82tVYMfbmD?As!
+'A:$C1Fg\]iZ7?V3KWq?6EI-=bu9,EHqR5V9Kie`o#q=!,*faV5?^&lI/t9l1S5UV
+pDJrZVTtZS7lu^ee`IfIkAB)c2>q2H[)MMf,OU`DBU$s9<[eUq1@SL6Mn5h5>5Z<.
+U3/V^)j[EfGQa?b<=LnT39ns!4VXj7*2XWk1ZBG-=FRnO,.#kr3=_1uk`EFcEc@dD
+9gS$f[@.!g>-CG7"Zch5m]a7p_(6k`-Pd@!XaKV?>P[cbR>?LPf>e@UQ`qA_M%,pH
+^rj<!K2*h'7MKW5E)k&D[dC[O3J\7`4Q;2ni\P/+YW.eW.[lX*4D!$WZ?Hg<As_?W
+;7F1/62)G#Tp-S/h\p@3`/A]!Q:s;6,WZSk;('P24.-dcil+m;Xqa;$<:C9m\+iX)
+6<tEh&^o'II70e^XqYb1C,(Ot1rJRN0?:Xe,I<Q`mfGJ3)ZaCsiu@6_5TbU",6G8H
+<k(iE2DN/U+<rpLbp]2)<!0Mcq*\Su/capZJ</?u,,b,o`rbJ%dW1V*ooTU$;7o"`
+ETJkTEgTf82DpsbY$AJ\Jq?bE3BqCb-%f3O;"#>kg#:#A"X3AI+:/C/L;2Eu$+_Yo
+K$Gt`MCGIp@%fR?JEdp8`jjXL0+3n&5dj/'/u3kj4:S[TNfNn2kq8a3kck6K$2XGf
+[$\'qc2dDr2(:Bq\ed<^qsJ`FLn)iG/M0%;4aEQY./&(oq&B4AR1BiW_3L4%HH-/6
+_$f;4]r>Ccf+j?47O-/PQFtqXL>0dZOU^saaTsE-COQ"]@oYd2\)#_h^M7jXp_(St
+NV@M2R/_WiVC]5:dLLrGOh,F9gK&e@3^_ae?(ctHF6i-]O.gdT9Hf-lXE\]#!1mYm
+:&6UWkiJGk)rqV:eMqhjL;AlfZCI;3UnASr,7g@nQqP+O(Rua]`[7+nLBjSSD^P-o
+k(cjn&Lg+E\W35:QqiDE2kV_^jo\(\F..sJ2cLCr';0P]L(h4$d'i@e_?j(bUf]d,
+=MC;EHLc_kUI\,cPr6<n2gh#_mogD1TchRhJ:BM_#nt\#HY_/^'HKYG,i"pFL)bj'
+N2*g%Y,2W6Rb"P^[@P&r"'J7eVucYgG_gd!@?IXl0>j$[I"Z'n^E;HcA3iCf#MY#)
+()p2gIR.8@fk$XB+$)MM"-dMQou$,2U^E*.$*=(*c4jO:"1O(A7OqB`[&:au$h'2g
+WoD\cqRT43BWGT-6]<o!BeBegJm^$1Ybnt$,-475FuYTh4JXJaIItl3JCu68\'MDb
+BG*p=$23AM0Y&nK%J59Vehb>(mG<3=^>nRR"QNL136.9#KX*0-'KU2m/5iM6Kc=?m
+*#V:Wid`Ydm0KPN>tJ1KER"S6$U,7:AM>W55D":82M_,2YLTq;K:?pC.ngn9kmC)4
+b:ojg0_'EXfDP-2^@*&Qpa=o&:34cr1c_F2`D&BSKd[h8\]RWEQ6`,!R;hZQ1j0)f
+qTF4A#BEAanm46i:L_-`?l:>22t/PpMK<&K\'nU(T1F#hcSqBP/(X&/f))UQ:GSqP
+cchuK&WHKJ]#X[q^4h[t;Ir&DTZTe*;l=-ijI+cflUO`n%FSs7Mr61Uo-u@+7KXb3
+KYF3^oiV(6n'QIDPPG!tmu,.o&grsN(8WAR]3Z]t\cmdi]>moKribm5b=rfXU?I)n
+dB=`;KSf;(5eDVc^^Yiacqk<QV7Wq%H$J\;Wr3<&@cNrG46HqQG'5\/'i>BJM#$+P
+1Y70fB#59g]\T[&oFVi>#AMk>d,]>B+)#oFn9DQ*UF-fpS&C/WB]WG5T*4$TIaQ,t
+/_,(2<Sak1LeZ<lh9$PO9O'=r@E]HC1)LQ"MN&u:ap;QKHL0HAYSe4M*A+6S)8LM>
+[du=*p_VdPWN/F%pd/k'`gK)N47pk3U,\fbphq@=Q&Yi:2PaMk8D_Y&(;";$cJ"Wd
+UMR?/&a[_h]=tUH?;^r=@%Qs_0`Ec0*)\cEGo<$Vf/K?P'c'ET!T9\dpX8`s$o#=E
+1SLS=Vl@/Vh$S<e,j)2)#srk8a&AfIrIk\s4rr4Z!u2fg*he<u5Om^98m!Nq"rE,6
++!EGuP$8_;G+gsOefG?sZ1a(K-,iT0?]ru="#.t2pgo1t5?Y`kE3Ta%*Y=o7L$5*!
+N2$?,LT2+j.-X+V#qs?[8GXtWk1A)?h,F1k]8Rp:8RmRZZ(H,=#-F0a%m@ZkquAl:U\=~>
+endstream
+endobj
+63 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T9 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+65 0 obj
+<<
+/Length 4622
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y8d998,Q&\cSpQqOZi^dr']o*HXs(l<kJ#].:;"OQRfU3\Y$9;FmP4$3H7l0`l%
+MkeD>3X;i)CPqIK4hgdXWuj5YhegeGFh;q/8_-Mk-LSWKGUhM+Ufo/BG&t5dD@\\`
+rV[OTHPkT1VRa5Vm<!UJ;GYd2Ie1Z%;SXGY3+MR3Y[I*q<2nJ@Osk_FGI5!*AAcGe
+VsDM(_2iFLG,POn:QIEHaD(BWW6^NA'D@kWN=R).HEq>d5o7Zc>2k=PeP/"K:#Ug'
+kNV-sdD%1>>dGO;YXV^n893[gm1/)?S\tcaK+4l(U>sdb2>E[(n_t=Z?rXeI#Nt=m
+E'"_F#CkZTET$#aebITK2Q3a%7m!js'q!=4aU30kPkM^Fb/r20,rqL&KrhCukt_!#
++0GE;q&`JjnFQJSb4u"kiDb$0HiJ*W:DZ9-ie1(IkMR7k.@:BtdraaWmjYHte'oBW
+E?'=O]qaoXKeo:Noc5.KdTUrQfPYU4T42a78sNrlGZ"mDlO@asj"\&?Ql'\PH>FDf
+ejU1S34r97,!^dO/jfkg<g<q2@:.gE>R"hbJ46?p&!MJjJKH%hOB*GV:jC]i"N:Ve
+d*$cCWRrc5_Z>JogU&%8Q.gWlV^]Qt]<IP/$^`?kf[aEIJh5bgT..Pn#+09*eU8*.
+eO]fja.`rKkCO-D>F@6$Yf^Moq.=Q[3/`4W\Jjc7aWRX;]t"Q=9!6TG33+5)lfo.L
+V(k$VmZ7?QQGg!'!R<!lm?dZk52(?G0b-qT+9KI4]bZrT&XW8D?T*HVC!kE<=O.1g
+'3M3n,QA`Y'T%0\lM(#.pVH9\?7K4SQ*!jLIX6D9rC>g8C/g_ZHd$)aMem85FB:pt
+EVm=60QNgASO`JgGGl]185GgNl(Fs*ec/5XJVe\\\]j8_Xm9-"F:'+<Z\X/%'F54b
+amF/_F*lNnpI>$3aI7CoXi[tOLEnt<95`-G*4[YS(aC"*&7\=K]3]steR$8M1!27;
+06bPakYsfd%8"p^QV?I*#0GZ!Occ?,Xh\]g8&q48dD03m;>:i:n2#_E9aZb8[5gGB
+Yn(VJ$LcPi;EUr?VQg.g;MreOoS-phD:XLTC7EpjIB/p!5r.Xk$8pH8LHA@\>W4r[
+(fD&jpXus14]H>hC\lj7@+U@i[@-GK+4,qP]#PO?N6W@68JX&#p254Q+n^*Z-lp^G
+kU.J/LQ&2``s+pWG\fIg)5d6p4;>KtJ%-q0E;"G5B)X\!$W1[*Tusp.6hfi[KOZO[
+0pc2^Z"<.!T_O5U0m,/Jh$/Y^nj+&eSJ>RLJ:<\@]=dXajE!OIpW)GahaP3I/^@\s
+o,Ec1H8oE-m3Ymt+NV+&5%B%OgU?(2P,n\f711T!Xs)+a&kqBcGkP7Z!2N'R)OuMS
+Jl*^%a1%D<W75dsm-Go1!`REB=dQl:!L68g*9s6n,OsV5hQ-E.gJ)hsBB`YLi3E4i
+c74^\qL>X2o=U/R5M7^=+%9tN&>5B%q,=ddq9]9G;AO7bIH\;blc+:5gJnZ1s31cW
+XNTXa]Y42a)(,dHpAR\J;OBUX*H=2B3`"58Q7sn3&TU$'\rD+0_585dnuGXfVWrL9
+rPSr`i0e*f2^taB]of/:8pfs/9EG"<YLqc4,i/.r:KN>Icj_A>MrAV8_4YBW#r&-:
+")S9hT*DQ!59aJQ3B1aBr^T%:X%l)p5?td3C3pdBdtF6/@.*QKl^W)2,j*AbChEa!
+pq2P>&%N7-GsJ@ph;Y^-%UbJ?5'`)\@r/J&$u%B)(@'"6f,nrM8dfq$aqR8EWBV+q
+j!M:uin]Bi>6HSkGafaiLiK0KCf(2a!Zu,C+V9WE*_UNNd<ciP28+5Q+inpKJZu#I
+'V/I_fV`o2Z&sar%eT"VrN3IM+(j43@us82-^WdJjB<hF8r&X+Xq?Y88l<N&!j*7=
+VkT'-ETC^dVpZS\iGQXJim/1Qs"0Iq^E3M(l[r6%Bf[Kb&JL*kLh0ik>K=Dg3EJma
+1ULd3b0gPtGcBoR=ICmCr:M4\L0soCIqD7l@5LQ>M?!A4-f><Uf_3)O1(O6R&\1Re
+\/iI!YC.9%BI?8(Ns)+Wak*T^AOIKMP;Sl&B1F@=/^G&p#K+r&s)YGN,?`P2Jg16%
+(\"Hc!95!2/sA!a[=58/r%fFQ"5Hh%4M'_"5BC8[`ke7-FlPFhJ+#XMkc,=54jOr7
+f(sb8qQh+jrF?7:q],D0V5ZjuSTs:=9k:pO,in8=//%YW.lLdYYGSW+R]9!?b_9I]
+2raP&Fr]o1<#"(",XaV&AULOhl,,'M?fY@oiQrYifh+dj7ZWQLCONO)C*M@_+\WNr
+<g%,47t@jH:dWWMCQ4f\BWVAW:.=A7s$I$em3c:I7DFJL0%6.<2:E\i!ar"&j?G]g
+?L2)b)S*G84UG>;,uDL,WtKhg&Ef9I1'';JPl6%r[8RBPBIm$cf0*kb<FirRa3\Rm
+%u0fI#R$A\!!hK(WV.WLe;U^G?sdG:n?("XDB5j3fcKps9L\ahE,d%`Zu+a$Ofn8Z
+JQmfs%_XG?Qg?E6%B?Ro%9[-S:TQYO_s=!mgaQ#;&Y4GdI0Tu?.MM<Ce&\9AneU"k
+W$/?rVZ[TQD4aIg9-GTtIq9_@#$ZJ/qrjdoHak$PrQn<;q@'r0YVUAXTtb(h3R7o/
+CBpld1\^@TOmRV6rIifR1I<m"a0[od-'p4Y[H[%Wh&kuO"$roic&Qjg\7Fa4&<Y&=
+ZjtF\F(@dII`7!+^8=uocoGJD-TMX3HHsI<LWr8)59$*VoQLFtKAt&6BG\.Y;U0%l
+30hV$4Ul7u^5SoI.n4@N\pLG0p0KT&XL]%dQ.&$V"%]]O*CE=N/1KI1?':db%$n0E
+d<$i2dtfG<GD8,1[^I3XdY`-`n+a<Xi+42Q/,9_)Bd+JP$-+UVK=sZr=Y>6EZ`4fZ
+b*:CKEC,=^A_"D[&ETjJX]ir5d2XR15qhm`'K*fca[Bc\%KX-.gP9DaeXVYN:+:jW
+-Ye-QR<&@UTgH(%Esm)7=e+M]FQ5)paZ:EO>\UHRPcD<TA].keT25Wf7VL^3hCmWC
+#%]i$L2NfZm5.&qTpN@LP\XhD">ChDEm&3C:Q9e1&q+mbeQs3T@VB[L$.1ujK,nKE
+jug9t*UZR?FEhm8d4&PpZOJWUA#FWsFJ&mTVo"n2gY4B3XHgo-PhBUaO=A?H=d4*'
+(I]V925[rK=BsX8?8:bJ?HbAP"[k&-LM#o.iRmU65D>p"+,p;7?`"!"&-L)Xdm=?;
+0GKn-a-)Ce%kjLGTF9r/Uga["`!5MJd%U,'9>LfnUE2q*aMuOgqg$le#ZHDG.h$!"
+MjG28EJ)<b>iL6qhqbK+9Z.HiGC6:>na)PD0oU!pK2Os[/97Ag4:T<m#]b7^"U0t=
+>V"iB<K(/p/@TUN5c2s\k+l-e?ij?%?7%@u1DDGN]C9r6@5N5CLutf6FQI&G&.:.e
+b$:OK]#KmI]Fd]'Yg('f+UIpu%#;Q5MHnYaj:5*"_PJqpdk[N5quR]gjd62#.PD,#
+U>rNQmU><T@5n&aH3,"-1&Ki:m<PF?MtE@XP"[S&6N!La>0la>qi?m)$V3CI-Q47T
+U#MN]0&bsCG[][+&k^?VJX;@?K?<,H2\$C1\.'3RD#61u:;Em,TS'IK;`[ShG'@o8
+_1Rp?Z@s`jHf*.6rsR7E0AJg=Wi$"31:h/#5@81L/!F^8J?Alm5soZg,<ATEIlX]Y
+k-e\8](]9JF+u_5.>\bjhPGGP3co-R`DKOh3L3HAlMURC`!6<Gma04A8I>SAnD=$Y
+-B[,OB4:*36SJWHBg`4Z'%kR+g,k/3<FD2e1l&fW(T`1N[*3d4j>rk:+AV5__UJ#2
++.2<98;pW%mUOM(Z/hhdI1Jbebf_$>W+Z?.2QJl5]/X;bi^.oA9djc;73,Z-"1(<p
+3&&db,V$:rU9Um=E$mI,B^rQE'ko2Ab0jBpT;TY=Ai^pWW`F[7\CoWWNGa4.'RH]9
+0Vssc-5oI@jD3qpUo(`_)O!XH82E#]if210!J*qZnkige&Dl+[3GKAp=ZQf59Y6ma
+D:M\+hJF>$I[Qe3St;7sPJCDN"&G;UE[T\XR(&47M^=lZmkq$[FDYcjPim5t/Gr:O
+kOEECo9N_rePS5*QMfplB^DP3ac;,7HmQY(:Er"VGLJYo?WaGS">Lg<,>*1;Yg64D
+G4ZOAT!CA>!S-j\XcgO=@D3l.iFn/nFib;[%(mUXO=oI.8Q'/C_b8K!Lf(*oc1G6i
+K(!.Icns1[-l`'^g`9abhTk_PY^ejXQ43R6CG.)IMG@V3^Z=Fbr(G$iY@+/Q*T%Et
+dBr-0d[Do9n7VUA8O9YT4X)X'j4Js7d_-usXYl+lG5%hhJ?"l[9k_kc:eOWTpY>lB
+5_L9Ma`!g`>H7k18(&KQO_:>9Y_l:AB@YJ6lSKOB2lN]tE=[J6):r6E,7=k*ElJ_*
+p@$i'.2g9MrBO^-ni5]#+`\mLE@<U'RoEP)H&592A9I"p<`"$&YEBSIW<o@Y%H-6l
+csO;tVjX23V4Jor,l7SVm/?>cad.rno#T$:T-gp;Q1kEqbE7iHY/$@C<)Y;cHAdnn
+dq(KYR,Na1bD.=HW37&i]DI?[JD2\<1^Gc--1KTrBg5(J:gB#p;E,1O55ZE$n!3rD~>
+endstream
+endobj
+66 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T9 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+68 0 obj
+<<
+/Length 4174
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<>ArQ3'n4K4#R4D`6/tAG8<b1lYXLY@'Eq[5IOUe4:h89l,>3b:O#R%1-$`%=
+8$Y),S]l^;Olq2-o:8+Jn"/.M4h4qgmZJqamh>Z/Z;3ge:Pu''hQMuaao25,q60fF
+p\S8]YH,:s\)qcR*nLA)UNrR%XT*+n?ga6+k$=RrX5uRlK0.(.s)*$uW^4$eDdGZ3
+;p`5k>X)r!k(qa.2\+_9,+arC+\ofpc,YE#(&FPLeXg<H>-!Eup[2UL'QC7*GX%T,
+KV\$iI'gX%*\1sI,J9q+`L;f=^:]a)2l6"jZeRZ,X;KKNQFjReQG`HPn*@`L^9Ck\
+ia*\MobA&FJ_,QOo8q\0<SdAsq3BF]]W#tWd#EmSZU%f*e<;(F[hFpjqsQMc,+ff4
+VC,133Pp^hYcT!.ea/D(RMI;?87s<nD64]q0$]X+3]!lAJ[.,?Z:HbGN5G@:9XUj4
+3$^EiC1\X7XjFJ-,'W;$+@@Q1\0X<sBrZga>-:b-7q<%D:qkKnqbOMC9;Smi'81d8
+SdliEq7.U^KNngMOIstn[o@Qb1$][@3"n<PDHtup<lL/rTZ4:p*N)ihp#&AH^<5.L
+&/k?f>5BXT:?F:0"q[M"?"Z6k`p0XNb\*[hq?^&+D.;Ip9pmLO6A7S-502T<UfjdE
+';>&U&JOFsfkbeMgb36thu1o/HpV!:r"/r1IaZ`_[<KBm;6gAnE-(gWE5<X[PdFr<
+Tp!1cDPrC':V4M1XP0P6@'tu+8phcXEs:NFA]^kg@N4^a"'F8=QkYZW$(U8@r`ke\
+pISF&Y@S55Q]AS*;C?n2SF@V%//(UR/JBC>6D!rkIHrLbTU_0)pMVr4BZeGjImWfr
+MWEnr6^\a(J?"&^5p7Nt?3)cpjth*>['!BH,\aOMZ9H/o/4*C[`kKNO.$Ml<LfZMt
+B2N$EJ<!%U>fW)EI9>i8/JlK4$8^6Lbp0ffU9\"e[*<LG\EJROkhGAs%epg_fh<bo
+eTTStOK(b"@p,VsGAOjE5PPtN)Tc3gSE-BbI'"<G+D`h(TkmF)$(ZR_Kp=!)E>UHa
+@l0TKr<sK$RZmPrB]KpOR\6pn!tP\#EL=u*EOEic5ecNF`A'7q7%^h=1![JhXW/'[
+8KO<=a2FL/W?AHP:[AWhD6_ih12n1iigQP4\r;/*TeSq:PPRm]j=i9k2+Dt-g)[aQ
+oH:ErI:Xt@8W@^XUaDp5i]JeFZ`ESLk(&PSm/tU-Lc`h'8VVP;EV[MRc=7f0:bsrq
+:rR?H)6@L[1rX./hka`i;.8E'6YdGA-D2h4)]D]uEUd\pmCEh:W89$D%XKZm!:0m`
+>3Ei;eTl=6neYH"/^&A?bU:-#2Tp$N%g6e)fOaj5%W9cAH-#Yjq<ALYPu4*?kDL5g
+3'EdY5G+(%W4,":EJtTnkbm1pZlj:6jQ.3os2IO[g>0rXK.IdsGp*E,3$=H;JZl3u
+r-@UJ'LqtE.^ek3N7-K8R,i.t]()9.#en\k!uWQg;&kZ(`*H?o2FlF#201"q&1ei[
+i<O<9eARg4ba>8>$Z'@Js7jdhomcu6oD3AbP`3W\)JH"VYQ8/+)-+q@@5F*m[0[F?
+IoT3GfC(EifaK_n7#0;&ohn('Ljpr\4?!ohLCtp?)9\ieI9n@d2j8KM!hOWR<Bq63
+:PGfi5I<rR5A<RV/00?G49Q0,'M-E!3/oKkar+k*5W0"_IB6Z]//e"Gj"MuM:*Cun
+1\rh]U@o%\+k!j-.FAj`^%g/dZqA[n^(OnD`Gc:r]mMANJP[*ukYIR/dNH3*@Cg%0
+>5U9OgJpB$Wq"Pb^hJ:oQGXh,s*C!qhOc=s&TDWl6QJ@-<G*0K&%?.i6sCp)%TV0$
+X??J?pgZCS$e5*@><5Z6=G-6kV?VJUaKQ<"/hBZG\a(5Un:W!K1t:t8a0_"QhrqZ-
+5%08t;DPaM'3CVlohQ6-0odRg=J0taY%s).!.lQ9I]gJmiF2.6ge=l1WmMf]M0QUI
+/Q&.E`,1H@MPH\:eQ2BDVbY,hhHudMa`Q+K4C#@M7r`6-@85BQPLpjO*h23(s(6>f
+P/AXud9G-4BB(;`a+VLo@2X,KAu%-#&i<?S_Xg?f:7j5\qpop63kfXJ[dt*P.7\GB
+E/k1@&[(58iXAW1Pe#)`S6IN">?mLZ$#/6IIh%+FlsA5hQ!HYBrZH(2gE0FB4@[i)
+.`8sIAB+hGk2gbK?stAE+pKbLVQL@tT^9"h,ISuQ-sVRSqsg%fW*##;R!N#4SI'nP
+?A;2n>&49%BY8b=lOR>Ldsr[=HN@17M5h.W"'pA"kQVD\`%YD$1?"Z2pWGqJ_pP?H
+nbcIc;aEV/QA@&dC7>Rk0SVpgZ<RA^;W^o_WaO$BdJpM>d/="hH?J$&ad=6s<M8h6
+^+?YK=6NUSeY=dbM[l,mEFECT1e:3bSrj1qG5I7Ln16'Y-bfuWEU.]C'5H#Oh33Sh
+[.q-S?0lSR*(9d@\H=TVZabNT,*=$AW_Sk4*V2^Oeg0?"-^p7)CM\,u>OPZ8QZR%g
+8:qm'!t5WM2hVY*I(HU9N3b0R)4"aD3u<DN5'g,,+fp=.0u-jZqD;&5[Z`=fVajg3
+UY/,d#Jkq2\<49`nCQo,!!:(dgh1A`dr;\26p_GP3VT:'?%B\*"rH79FMBUfDT%nB
+Y@uKHcXq9KZDA9[Mf\iWH<'aGRnR.J?jT=/B$ESX0"f9IQn5mD4C9mOo8BVU?pLJ1
+gih7&3ghiZB[=B^c-`]F+-XB0M<Y1?.ktRr,XXh!X&lng`9_VLosj=F(uJB-D:*%C
+[7#sC\Q!E%Tf!_^gXU[0NUEfYjH0YT^k8ZRU#rm6d,Z(*Qr64fl9R1F0Llt>*Rs.X
+@bloQ\V;M!,=3G+OYZDVg&4a4A%3u6:nPPVp13/[ei4dd#fs/$pQL+1=?)S:2TY;G
+DA+EcLgopPJ1X,f%nKnJd#Rk^:";+ml>B#rZ*b<XAKArQ5^+Buidu,S,]Wd1#ik`6
+NL6"Q1[,s?OeJo-hM4psQ!Qnn#VXsq.LLhs#?;!c3->6'AKS_cAZ9i]7[uc%?n!!T
+#CfkTU3]0\"#0+M)7@J_0P_/0&7<tiD;#lAL&JjE)#&eW(MP(Mnu0Ud<g-)0:Rm*c
+Dn_"3;L6gI8nZ%LDaRK<_+[hK4iecdaiPrL3-S*c]3Y;IgQI4`^?FOS/O(+^lONaA
+9_D0@:,VTOom4u8)4]eC'0,3uYB2n)CC0/Y4gH-s]CLX6RV.H*5o:$.o7K^A6iY*7
+(<"QbfJFWmZJm+@gpWT&&r,\$d6"3AM6G*7IkLIR="L7'9ThB^.jeZ!8NlPWPH\g@
+mn:hffucp8Ep\K"aHNpO=\Rb>QVJ!1*jg#E\*^GnZo-%0;do"C5(XK%]K'Q.1*?iN
+<]Q.LA^d-Zg/rgY+_mSF&EsBj-SS+IJP\`<>@@t3Y5ofA?8'.i7;'u4?D.ZH^DPCH
+!MHa;>Rj-c$_#%riAd$-1L7b,7$p(ur\s&TGs0o4cURbS014'F\?$SGa[;oY8mo<c
+m*Mkeg:^"\HLr",QAPJ4it-oT\jPLndli8838[9,ktheGDrI:Wr0.ESf9)*`.AecL
+,05to#G9>*2!u6OOSOWFQQ"N:Hu5Dn<S;N2FC=>&M]*)('I_p!]:?f.48.;+>Ha@K
+#%8X!n!?j"OmiGTLE+cIDa!gR&?;C,+=3^rs1\30]k1uY8l9MXi:Yb"R$iWXe+El+
+bLo8OGg03g^3I[s1$=,GKOC"]13efT'AZ9SJNsTOX#r8OkmT@<2C)EfjJ42/9VLDI
+8u*%/,9XWQ1t-lgF&1eB)NTFNYgAZ%77>aY++P=Rn^AE`Rmb:<fJ'&#_jWsG-*fLl
+=I!iYp]O4H*N?Qa,N,$7=_/S;\E#L=k?,u,)nL`eY7X;%j^G1"7GRd:i/I:P;p%%?
+(Lm#t\4>o-3[U`B^VL(B#$j/shDVXE0oM2!4q``VlY;3;QM%tTZN.hR_K^OrUu+('
+Xd`Buo!I'A.c0ZL5.RA@kJNV]_&Of`-P98rgGU$?.\O?3fjZ0uWj8Pl=>@ECO5MWC
+N$Yo)7tMDQ6S[MSF`YkI<AH")m%@#D;Kg]n*H>i$b:d31[\9iA;grR]5!N+p/K'/W
+X$h]P2N#q/&'f(08^[NlOQf.d4kse-;D#fbJ6/q]i&qo1.%gJX,C)0nEP9j2\[4\j
+nC@O"i>ZOrID#~>
+endstream
+endobj
+69 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T8 14 0 R
+/T9 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+71 0 obj
+<<
+/Length 3778
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<bAQ@_&`*=7N,0[=[YEV_-\<l^jPJr%#nS3\K#!r]9sl7l:o&iA`oDGpRU'4L
+?'Jk;1S+b=p7i\,:7_7QqX2fn\JP#+m9R(3niegYO7k"Ys.a$<antbi0"TrrIJW9E
+`Vj[.cg0k6n\&a6HFa#ap;aCEWali5OYA/as"^^&]j(DS>#E5=_Yf&\Mr@l):2csY
+K&qpR"WZZ`M6h.sHTJgl4[OgKFO(B:MK$o5Ora="7/=M-Ea"XY"h-V(A:.amS*huD
+=":pnH%'Z'ce'bB8A]Qoe79=s?+6Rd>/[Dp\=4KhP$;7OSN4ZXQ=ng>#`nJH7,]l,
+Hh3&=@N:L#?Du@D]PMeOMg4A.Sq\A4>1CI\;&8<=U)\p:6#W'M.[kgHSTtjsdgNfl
+B`(i=\7_R\^"1)9q0Dr5+<D^=F2n@bo"_*"`Rpg:WZ:\^f8Y-gBVVX):cA+?=;i<o
+kAKVR9^p?E,#qs0?p9KVL(OjgXPd=An=W/rmU[A`./^Cm.bupmX1Qh7/Pad5mJV2(
+R:K_=NF-2O[0+V*@jWKQ&uON`AXh0-kfWK$^/q?Mc[X11YDg.!]&780mlko0Bg\%<
+DV0dNJ:*`bS+e:/l)9j&n+//6E/qUtd<%eqEB$X:9PoM[-J:/\a=Ad1D3\Z@]R*m[
+p,do_eh2g`8%:]:"!CCs7@^S$hrp0^&Wtpfl?6gs`t"19>gp*LQ>]9G-MPE0eh&W&
+o\Pm+10ZJt#C::Q<mSoYMO`UN+c9t-VF,,(]AKDk-CFh27GC]7p4bpRNH#u^QUXnI
+3\ki9Gb%pBN)c6*`%0#I:guVp@6qIefML']-"5er1b;Y9+h%L$VXt<fCj7:j7'R[Z
+PHB;)ip&X_ZPZdA7PUmb(/O,P.D_B.(-nYQe/K*(T")73AsV29A:T"g#)$\>X]q7`
+\u=aDBN^/.7AI?c-m@(/7Z)1TE:"&SgF.NueHcYR9AHE%[]D`PlT(01!s#6"A^f9K
+>Aeqma#uVqe-s3IR=5gq9'lZ2e\orQ%oBt8Q2C^F$Re/?)cP&%\u1;0R`ZM.AORnt
+]j'X0]U&[:[<q]N*BR-Ds([e)N\/O<2FbFGNc.1R9G1XkcV(_RI[eD=;&2_m#jV)V
+qlXiC*#@Y>g&PF#.3;7qpggH%1U#T$[G!FMA&(c=%/'Y11)!g1K#894:l*j=BBd$:
+3nqaEajh-t$>@^LCZ@,BNG`$,5HK4VY)2tB7\u81$_S)>_I;lf1F^anN3T*!N_Sn?
+@<r#d@+PLIO;m$*LO,Ji6Bst-Wa(rB;RokW:5\A"Xh%*.@:VT!+fI(c>QE6X&q%"!
+j`A-*R3u7^CL.mXo$\)V@lHZhk9"^,k*RmPjT20B,U76!1+d&/`6mDK+5s/$7@[jL
+H$=kHp.A`[T8DpD;[:4(623r:4&ctEaFe%+ck/:iI@g/H%=5CW-SrS<?*L-YQi6(b
+26&JpGPk;`\XO.ab!9-`%3\P1W!a*s=3s!5;ej`A,sG;aiRm?kqqjmT)L88&N.P88
+PD8:eY\ZMcA.DhkZnC].X?s/mAb-+:"[!8H:Q+o&c@8lspnuT6[jNtS8K5FHQ&+AB
+0\!]MUp9ALjK$b].WtQNYr2+>]/:11#*tV#8[%8YF@Q+m8001ZP3J`)Y>CoXZZj=o
+b\F;P#**;\9?#jPF]&u&8`Je3[>D%R4hpBr"4'L^Z.agGJEQ$OiV!<Fe0G=qR;@nf
+([mg\V//toSgbbU`*@u\S$ci`,Yi#hkk02c>FMjLZ,EV\+TkTT3$!ON<H*f=!2M8@
+(m+A&%d6"KYf/OLk*"ZD#W<VKnPb5aP@,MPZV2!f'C4*U/?/9Ck5'H*Q4)OR68Jt^
+c";tslmh1m?J:S+Be"ho>FHdeI>W"+F<2@S.4`l<#L^QX$p%6Fn1\l/R@].e9CA]l
+Qm:#kIUAP!hfp<32YYLV8P4V$9;;J$G3XjEIP]nP1Hj\A7N56=k!hsOBtO7FV+=#a
+h-@G:5KrmWl&#o*[^BPU,Z8bq:I6t,0"28k?_!/&b6Qr1f)/iK&]9lJ)?sK6($(pZ
+IW$l*BE5\c.^As^3#@FK*k\p+bl\H2LV?s[`MRN>\Dh3GMOWik6oEZh_>CeZH:(/=
+!FgsN3dBAFfFe6V4IR<_ElHPohIo)S7Q&SKBb_S]Oq,7Ao\/q+L@m[C,XViZf^\8c
+'ECpJAenbcqk&T#$8<0;rl$NCTmhOIUKJVerh?DfIG%XhI,1mG-5=u\RE17.c;0?a
++&+:Vm:jS3(GjLXoERHP\$8Z_IM"'RVebbX8',XRHe.W=jpa=,p1'ru;<d+CK1_(I
+Wna&qaAg*:O-EO$&/_``,Z:Y=^]ZUN2J'"Nq:op$IXeS?F)&@!e)8W5/iQgIJAIOb
+gnfF%2o-kg-1Hra3hkt4*;RYogNRMdCH?5l(?-.RSE;iT3Z2knVe3#iL-qBi/p6BM
+0#L"0n/m'aP^X'*%*!I;:eV,=qg*uW$g+Ra_\!U@X):<&fbhTZ'D\DLlZ]7ZbIJ`U
+Anm:kEt+!D_pr)q3$\HrJnG9P.V8CGVAhHl"eCU3MA6+i.&L37`3G$-L[N-Xe?#8B
+aKa*0F`Q\W.P.s3@hKN:Vh#T]%6LeO0$[sJJ+GIGch4;#GP)t4TSIO3kH%JT[d`Y,
+&`Rs'ioj86Zdd,':SrE_qjE.s7LEP'BouareqFUo8$-)>HTaX3<>)iO/<S%"c%^t[
+Xja'pp/(,*@-dN2)L7*t.?p1^9J>1XbZ:A>_Hd+RYFR9)]E9r-!K>(k#4K,s`mlZI
+Q6m>aEk(/bmK/Ai)BfKLJ.!d^/8kGj$K/BZF4Ls!\T!e/*'f)k1Qb#fdR."U&Ribj
+8J)VI]Dt>;j1Z[.)cY2Hehr.0Cd4=a+`4kO'gVHcQ(Vpd^"\WLcnUrephe2`<4ikg
+`>Z/QPAN8<j$9bHolDBf]m5uhdl\1ogX7pM1\(kCqYT/URpu?hP>GJoBoM0RWb^.6
+"tgebgch`C'j`"hoZE.!>\Cu3SQr`O$&s0+2]LMTD8mq@$=+aN3VuA&[B&'5_S_@s
+m3Y5Y>HRkF@VCFcAs[\=ET.K&lZ0TnJ@h.C/2UYC!L\[mH![_R`g8#)A655iSsM@:
+M4!EP$2Cj&G_3da6qB]:/$]_j+1WaWV<d4eP],c:>;j/-b&t>C>G!];J29N:YWB]m
++!/[?=.MgYd6=[RfU56#_2[<3d$2o"2g.\LCUZe$**et(\<=+2[<&+THLtZl_IZ*L
+c4PsAk647?,R$-H`B%MBrR*qu?<B*W'1N>+jHsZW\S3"Q<I?JPJN1QfZA0=8\=9?8
+/[+iWkD>7]U-J10ip3a[lNJ``'jDbYQDq+SjYZ<`X/6tLm@_Y:Eaqq_3.8!0pe4%9
+&&b^mBk"]FTd8t>DYip:3OS1LaS3:7=p.T("DMtqfP#u,5fEirYjC]HV9qE*"buIf
+^\k\Bn%\k/rYpn6)qc!34egJ/g7GoRH=J7P9M/4/ZN6n";$@ZRl74/*Dq8!=]tTjV
+G8c_RGHP,Dj;JP7Xpp6p(IL_a_7#0!eShA>Q[?g@RsOG`$MI=2=UK<qB9,9sn$RUu
+ku3%u=:_`0@Dbr.$H\ECC'9>H&n?*[+6:k;aNFp'euU'W52E@p&,=TpJUOPpVk0JR
+SZ!9A\AeU$3j(Jo+;=uRQXtNp@f>]nEQdC5V#MO\.eW^%FZf2M;>.dd[QogdBkTP%
+%'V&uOS_:cYp#j!b0A67V#h8S2]>j*B-Q&>^lSU6+D/R22^/M:N1e`?R6fSB+B=0Y
++B>Qf>QDV7icb~>
+endstream
+endobj
+72 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T8 14 0 R
+/T9 15 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+74 0 obj
+<<
+/Length 1990
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X-D997gc&AJ$Cp_GLo4!H+Od\2F1/W07*""iI'TU"bI-*h';no"0YGPE#4j%#9,
+8<CoU303Ntq.B9jG4B"10A1Am=C`AjQPo^(];l#4B%86gbO';3/Y<e#If#<\T+"tC
+S&OYPo^+Jo&)5E<U$rhN@W6_lb@7rLc=:c6f"B)0Cc1kTC5c5d1+(pLBn&h&)D?a!
+[XWljd_0qAB/O#2ft=X]Pl5`lXg\2m4Dc/=g&;"L8KS\J7(Il(+ZAgtK4Z[l<)lqQ
+RsRjb@B?\'32Y0S4o0VT=:>"UF?fCPGR2j3%ZniG$MN?drB'"i1N\U!L,1A2d_O]K
+LVq*Q4A0.9IpNqlNIN0`X@,&7EGG7/r)s*(9?+Ja,Md^KZ#<UahSG!k@geJcfXqs=
+=Gl4=/^`98&qpa<&*%US3H:X!Z7"J;"3ma^>[8*K#4U6NFs6@,\?,)21.s>/j^>ui
+/AVNm29jdF6Cm8+bAJZ3)33E1dY*d_bu**i2s4Ks9Zro6H(MYNL&0Z(;hcW\#XbL#
+P<6Q[)Uo_J^-lI*h0"_^Sm`&9/Q*F:\H4COYi]IEB%JYj[\F!W@hdM^A)2ATZP:M7
+)f!(IdQckf"NiehSfJ-3jQY&f.oL>3O]DrMR(VXbi$ZtOl+u4`.j:3P'UKkR<@Nai
+-5:&8PIn\Gd\A-8l\4V?I!K`ZdibP",lV\9;"*$udl;I;:5PQLTBh>1bs`O<b4fbQ
+'pda+_#!Z1B)tLEU$-PA:J_@mp@h.0f4-6+14?e/\VWFs<PQ&`+_JEk8B>=.Mr2A7
+\aG"jW\m-6eB:#C;-/$7BnVXMY,&7('Ier@A3K6,,R:?<&]&7Z'iB?2Pa2tk\Z)s8
+10$_a[_=b)V5WAnl>u.25`c;YZd<sF!>@u7,lG#+To/kh=I?mrHCF3U9[*ja0a[\9
+>S+aU,s),T]*BaBYrUoE"G!p>ds,bX.F"S(Aa[0);NQ.SU1>"ia6JSHn[.P(/$2Tt
+/$m$CEqFg#-uc40j&eks!EO"b(d(H`hc7rB"QHB(<p.3G`\';Pn-BI@*nBlDhfpk<
+5a;$gDDCQ1oVW-62@h"[Zpf2I8(W>SB*7:UI;.$NS:@RZ@[gV(66uK7&u$FpWtaFr
+[L*c&\l/sT*RQ.fd%\=H@$`/;q.qCrm]j[dC)dMi$m5hZ*a`7Pi(aNpDH4.UT>639
+,5l)G,,[6c^G7MS<`\:5:0,isZF,C?6fDdU@`uXdo(X>KNF0-Bd"[!f-tbu6U?O%B
+[(TL/eD.u+RBk\k4o:=2CB#ZZ6\O'j4o0^U8eMG*r;sDISGEhW\ZSn#qX%6LQmVCq
+<B'*?[@\0iG@]ki7@nh=LZ)6ZEB,D1iRg'K?sm&hpZTmJB=SBF-N+Xn*rM=oWWWOo
+:8'QcY_r.^bGHh2[.&g2=qHc:%FM\!bmE#/k&Pf)PBJIe&Ga"c9/D=B]p'"%)\eVt
+7q6i'A_u5[WDcT_2KXRJm%/!G;PmeJd's;=W"D/`XLes^JYi>ONT_N70BU7B':sLB
+JieIhJfpF`f_pmaimXmo."a)@Q"kX&68[ia.s0#rj%ETYDB.D)?g@&Q=6#3md^Ksj
+j<m+TroH48iYko@oi9Tjjo^;PY5P:)Vt1Go8.A]ln,8Wte,)':bh.n!.cjo'F+Qsq
+h<6+%H18`.9=E((NpV4LpM+3tJ8"6T4p]$)f62J;`fq,R:HlrI&[.OE*;ZG&"2^,`
+&/d#TG0Wc6E0c>kkOK:b*o$N'f8TbSYJ_/S;1S-JeJfg`?#(c:_+GgM7b_\O$!dQX
+<-8Qs'[jBc=WA$c)plf]rrSFSGi\l0$M<D7^Q0T*8i\X_(KrN69(GQB<$IdUaENPp
+=[g%&GWOe">/,!jJm8!0,Pp;5du<\Sr"Z\q0ZhHT[N3F0]A\++DdJOOKsca\1p*%.
+#"].9j<C]kb(F`p+2=)<Ya_WIhdp+!\3K/"C4ng5j2W,i<S2hH.B6O\=D=E,\m>4q
+!*m(O*<~>
+endstream
+endobj
+75 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+77 0 obj
+<<
+/Length 1407
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z\795iQS&AIa;n7F-ul$`*P_M8n$$fmI<Lg1W9BPF:kO@b"tXL^^tHY0fnEgNRN
+`^)'pA7&C7R/,m\RJHhQXP8E]fM5H_nh@<\r4CK/,^'_g?5VA;UP8'BFo1n<Cp3T;
+:)9.:ZfG=sns`eQ`F;e/9E#Vq8'AFVHa3#_KWs6U<ekKgDXu#]m<iq:chfO4Rj@R<
+)#ifaYC."%<G^Y3M2P6Eqql>_F]eZ%@$+Os+SCkKV7ecpRC<WAT`L)9+rXQcIk>*>
+PVR&b9P\<1H@3g6Ok@OtJ/&J;RKt73!/Aika5'0?i2Q1(?"Dk#FFdr,""-NWl_H+>
+Q-9)m<OdEcUqg9niX+NE?,Y>Q$&5"*%<*?+4`m7EdS0)+Q6sR=f?a5`f5Sc=N!A2o
+dR&9(TD7M/9Lj;%LM7WLfU7HZ]JW>PFC@&-M&gD..9O1SVd'sqLQ+c*Iq(b>TkY=$
+UHfiL&E^J$aS>;FP]GBA]>;]7O`&-/LaHb0CR,I.mh5>'g5LFRUk<B%g0hGB\1)q&
+OqpL_4L$<Za7J9(;A#\>aG6pYQV0sthB`S.=@\`!*`#i<,0Lm_e/`(qgOQ3b;u<1D
+$ZJP1`Dpm)R*T*0(lWp4!Vg:H^&OVjpgm,g&g7l.<c%[3HoY?)A^\(4.0fs%p*,QG
+;GV[j:FuF[5b)[>]M1^a8mDuRAeR2kbX"N%ih>"T*9[(`FsbLCag9ZKnd\h-Q"&lN
+=`!jSDBa)5f]IOpXKGrc@P'<faG3gWqji*9!]SdNUdpmG!#bRTi`SUMq%NIe)cUC3
+Kb70jJDpP2XQ`?EY(Z$SKLq[5YCpV+O;sYfYCpVI_haQ1i4?4kM1t9<R]`aVIpu+h
+a7RDc&b$u%"j3-_qPjb:-+*uRT"$-<+r<bLX>FO-Q80@8*)NW1f/,$8ntLOnnGShP
+>ll!@T>h[YrE7L]<aUW0MO.cdS&A9im@VJ'\Y3n#<>8pM$#8t]RNp&#9@]'6KVul\
+V5_NmPgWBXq6NU80hjLae(RrClQ8nid)HugjCXcIk&g>9IRbfGLC)gKFNBB7S99T4
+d^0pb_)A35b)(p\1Z*E'I"/JU'`(7VT+W]t_&u\n"(*p$+c,X+IFDBK,N;t><)iV'
+Eo["p4;=2aeeA=MX$>!`+FTBb!=/PWp5RPcU=r<6r&+ju5d5i9!`:4s'DWZp_(c<O
++'KZjFPcIo,o/VtAF#XV@ejMWT=hN.`l></Q?&CX$aj1LX&;,OpP+!QR3$%8HT@f^
+dW>`80Wt_s7udDH2!LB%TFYL3==_pOD:XJo99%#d*r`Rq_ZFDf7j0'Ag35](dUJC^
+p?L%k5?2W8K[^1>D,0\f>,;c,Z:JP%f!\V[lEL31e`O$Uf1#P7:7aBA=NMq@M6W_E
+p2MXf]hPSH!rt*T_B/~>
+endstream
+endobj
+78 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+81 0 obj
+<<
+/Length 3000
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Xu\9on<m'&BmDL#G\SMeTRil8,nC-G/"5!pk\n*.%=O[b8*4AB?@De'isIp_6j^
+MH%bjltn9Xk`I0s=F=-Al;b4H/aiW70=K[/MuPD=SqZtqJq(7,)!B)$KghRd;iu`)
+RP-UT`V]POh9Sa&\GMcloD\49X8hU;=q9@[0((qTs0VR[Idmq&V>"au9Yb7O.Z;\R
+PiqB7>OU1%]61PmbOlNNAXr[NV[O"),Y\#SI98n\og\n*?3KS`om[aV#breWY^$+T
+nIW>QDf,`k#is7Ff0:m:=O/tK=<9rr[9cUu@lt5)G8q%*dr$Jq;(rDaolqBcYMLU/
+CgOk['WMs#'D+cm'`=,0nN;63C[m"3hQ8u_Ia_<;TkYP.g8kO!;2!&6iBNs"S:t[)
+D,r!'aCC^)@#A6Si&W=IZUr9SXp4'1-(egH_:*84?$#q3CpPLu?+$_T6m=T]f0Z2F
+W3<p-om6T"7F78(qu!kh[^&iHCq6C:=PaB^fZarC:d3GC;N@`HCS*<VU>TPNjW2$_
+q08ZUd6IB"Xid7WlD*$pGN5l0-uFjV!L+qK$-<E#a]m&UHUA1k`c\iBo!A$h_"gDr
+jA_2GL)'P;cW.;gE=Ji*IE#aY\UqfOnGPTW*(mnq8(QN)*Op[k_Jd:QE$umPB"Rt=
+DMJ!VYIeA9A[p.rJ(mL].#s^'UKJm!^\1[@%5AMiNcRkqj76HXN0i=ac0H$r@cuY]
+cPDXQ9_3FHlK)&pj35IU&D%kg$Wq@1om=B<'2@>_T=56m79p[[+_#8+,5'.f*PoG6
+5[Bg:#;MYr-Q4W''/K.b!@OdGO9[<)nd6GYlZ_4*KP[e4gL4b+r`501kDqR\g&/8]
+H?"D+jj,3s_WYb6/0IWVpbPK?,nM]sl=UD[8[=Fl)B7b(@0RH/Sd=u"oB.!54IV']
+U7;Q3FkT&]gL3mj7/j1K6bBaB=rra1g!Wro;<*=:8#FuH,kW^3e.$Z-_fEDdpU'c:
+MuG'$,.b^lDh9U)WWcIfWo1s^gRT>J^;IZ)k_gVto=1q!@u]PO'[.f;QP$[3g!YUU
+$^.eB2RL(I5KI\!!4ZXIMH$O@g9cfKmM7ZKG:\'=7@2$A?%%W$/'<fr`O]QL]jm4i
+U:>eTFk'$T+CYt1'3YFJ9/7IL<Ri'b_h;2YD,".^j"?P(SS++*Do8S<%Bkap^;=1l
+H.;a./S:D`T(1;<fV(1dCo*0q:Yi_r-n)a'=YW2d+-B)G'"***bctdQMf6QU!9oOa
+ci&3[VB]R%)u2p?5cs?9)&KZ#07<gVY7EadRZ3ppET5^-5^kn_H3qnAoC<Rf12a;f
+]U')k%CN;,E`,Zla/FW?s%i[?,'D56H41g:lshDikeDSi(HE?p_ds/=$X.\2SgTAf
+;DZUEr>86$W+:8^;QAQ,QN8<snVm@]Z)uo:J6Dg*:!>\lmUWlYae1-$3="2jHl#g9
+EJ12A;1TF!1<#+#HWqui7suhP(+q>H;052NfnFLR)Nl^1qC>,2Co<=oS%_]U\.]j@
+HIV2EWAo498L[D;R,].m;e0+aZQl8dJ9q/o*mD*>p[CDqlShEPDe(Y3fsr\aG%CHa
+Fnu&G[[P1(3r`DlNK)hHqE*aZ+rA`-<Debm<?a[CE(!]DB+"O1`>=+c9[?#i9p'\V
+VYnCC!eY=5bi\T"U!b\^f70;:@j<Ea_#"ofNKTM7W[*+7,'C:$YW)L.ncL!"nZAsC
+SuY?uE]SM`dTqbE0t&_@jh>M+]035ge@Oq1/4o6%jlbYpbR&:J_2t!B:28+EG+]Kg
+Z%=WT9@]M91J9L>4C3C@WfIaM(&Qs7H8<r`&_Y"-Wp(`p&3JK%+"Vm;gV3%=Yp<[7
+aJr+]-hrmK,S,UX0/^^pNNl$((UMmmS%@<24fM"q!Hh*&8\P1',P+(9*IWjF(.FFW
+L)pG'3mj7WX6.p8Pdt]Z1T8CpB^A$GP0O+UX."'j,J'F/'V%L<S>B/^o\PS,)4oMs
+%Q]GV@N%2D_@*UnmjC,#&83l"RW0tl>#jTsA"mGR@hP(M1iRH<#72+:m6k45U0'Rd
+h*sSo?,)gn-bPXuQ>@Sa:BgsF!k+laD3ZtO"%UMULub3telGi)Tg_Fc)YIB2r$Dld
+7BV5>3`,EWm)_8N5cLYj^#[,eeF_s9YfjaZF_Cs/Tu=[Hk`Iq/<.d;EnMZ@r&VCN[
+eb%BmV+*1:68hJohpFmFP"6BphNH1,,!@";X(;lu8Lc&mUhn$?gZ]m_'1ne\IT^i"
+q(gR%d/hZa=*ZL'Mk%[j?,YoJdAU0GP*Nb[b86NdkCc]]PpYLWCEc:/r3kTN(eO;2
+"cOjT*#+Cn.;"I_aqlRRW+)miU"2)cTD[),_k$C#6WEI_2g*X]8.TeXi2p"136N!V
+ndH5F#*_2epGbCb?DVq3Z(0GJAgoMlEBu5@oZ]mK-P-!CDC-lYVk_=3>#caSZ.-Hi
+ju2I3hf^ibd3rbko2h[tPJX&l3=Kdn.!0M8d.5NNQl!h]W&A=>qg^2=Vcoj7iIB\A
+TZCB,VD&t(_#FjC))=6sKkdEu[#HndNamEAN9KIlj;kK,TG/LK_5-+&DBIhk3oD0+
+fA7W!GCBeiq[7_VqJ;hp%EC@IHu.6TbKSQh!Gl,%f:%SEi!j?<4Y[)H6_-0u-T2e'
+l:PTP:+?`jG1,Zd$IY;Pj*9:g1(_ZFXOO6*X2s]4CMXt?%Q[@TN>4'-HmL2_YgZdn
+I;AN^46?5iWB5d10Y-Je3Y`&$nbri3\XrN91+]k&d/&%)kejEKHLaGE8)>-F`>RbK
+flnhY7Q0Icp5$*<AYb3>.G_MlId*k')6+`lVF'-J@TIgP_/`PGRS+>G(4`FY&`D(4
+A/)c32pk61&bZBr%l;]b3+0`RB(0[bE-"["4.'Qro::c'd,gh`X:g+1%?l^7cqMn%
+/Bm(i73!YbmWrYkLLcpRYiG&,'I!>hkG(^Y$CaIK;rM1Sj-i@qi5,n<7<D?!Nb)k(
+SRH*I*3h'#BIj]9),,N#!'7Lf>Q~>
+endstream
+endobj
+82 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+84 0 obj
+<<
+/Length 3368
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y8dD3*Gk&aj<1$Gg(E(S'^Fjmjug$cI&C\3P['(#TUHrBQ2iM)A(.8BQ/.?f0P'
+=`S(OB@-j>!05-)c9+0EcSI@f^72h7n1Qi[e[%JQS4-aH-h-#VGW_Qfe4\eG*[ZHY
+iGnHKHhVORp=#PWhYo#)H2%3^np_b]0lO(UR!j?Hs3'bqO0a=f.J:B[7"$]oV5]8D
+;qt$_CJ;EGc/,Ut3M!@^@$EF"#JVIe(C+8#?Tl]UI'o+:4O"YBgXUdcU$iR[.%FSV
+TA;/,NjhY'?7a%^^K5oWrNb^>887FQE$WFZBU!M_B.^d8:C:'onLU-+b1EO\eFIGf
+EV'%-6_8Zk,9Pga8"X(..2I]&?&BrPle^m>W&I_*D"@->JbAm&8`BoK&jKW]1%dLD
+>E54u@;O+!9TcA*>EpET/4Zqf6PUS3DpoXA%DWb6(^'r[eiL#+rsJ"ZJ0.455h42l
+X>3X9j]SpVIpN!Q,pf-_<EY?9IPP7c(>>t[(JVIn"I'gi[8q0fd?2DciqX)A^-(2N
+)E`).WrPQ#_aX()':!sY`:rbXqF_:!3:$i:AkRE$OI9"T&\A;9/Qj:$!o_gh#+f<"
+eEkWgs0>3,pbU+ZA!*cA-W/kL8J56._O45l8b'$BYmFTrY*$'pr&mp_&"0`1[&0?9
+MJ'0pX\dg9[,VP0#qZ]^Si4.[0T0D2DWG/,fYt;oX>=_92aO,t<hc`ck*1E='D'hR
+]hhjBJ`$-`X0SEE_Io]V9,c6S9rKJYV@f4TQr>LG=6F[-*l,(2V:'HbM^KQ_gD/?b
+,c9#sKFb5Qi[@dTQaH/o:(>#h`$c#r'%+9\M3&q.UC3Pi<L4G8#h+K-(ANcl5SfY<
+cnDqS3gNcU'h?kMI`T[0YI,[86Mp$?g@AOTdU"6%W`7MeOE>__:u%5Q(*=S5eK'7q
+=\*<1BdpeUIdRr3bu*l7<ehff=5?fGB6Zak=JM,%0D.!i-0]m3?V"3VV^Nf8S8B:G
+R>!EGP0Ck0`EhGJ1'q>.8"$^sWTV?b:T]0#g2#f+46#k1nrL4S[FV(NldM1&iF8nm
+1,*17VF6YC801;?lE.@680<Q:3`?eLi6hUJFAuO#ECJJgL@gjWlb%L:O*=4+X[1q5
+gj9tiU$Xd7BsZL-EGc;n'G"HE(a!7@;V+Gd[csc)>Vd?ia+]EO\k_uHaE%.uZNI3C
+q8Dfg.Panog<<`8Fj7YAGHp'(d_qGZB`:ig0COA_iLS()kE`_ej=ALq%)kfadS/3$
+rEM*U\qlnlZo;NEcoite?[Fh>R)>QXg"K/fH[k%nasQ#UDDMtgiLjfi%O!cu>Mt6&
+*TCL@d$],$PTP"6jq_9%C:;N]UA):9Ft0,=@2Fh>(9$]?o^f48:\k^N:4&]B=n,Km
+g.nk(/(&gc6baT1qOI"V1#;iV(+YBUBPPrE3gEHgfF-XGChjYgge'AE%&:,Kr)j^k
+.]60RV?]8t7>7mb=Zu(_mp6BjZ)FKmIV\Dl@IpbHGMWLOR[dYUK(W?P&rNq'qJfK;
+oJC;q7qbbZL>.%&CG-kG_HpC%6(S6kE[Fe7#rC>%`\`VUq&u$(WGZ[.,d-]?:>t93
+,-'kfK^QRpV@F7JI,,dF9Fb?3)$Nt#8"F\Nr:`;&2_igGB0/(kcUH9C/nH=ogj+nL
+ITV[n!mT6uEnS1)GP'ip?RMWmIOVI0Ng*PXP?"NQPY"%)2]11$mS.t(l=AS6HCid3
+mLiuEpPM#XKQgi1Y_2ZB6bqWUc"0%tT!\.l?j:I^MT8fdF;O(U0)#Z8TYSRDbHlBn
+_'s^FJGp_(iu?OI*F4"]D7(F62't*prZ<KJhAG2O3CSo!r7Hbf*X5.[5nK9OBTOsn
+5&IA\V$Hpdjn5n*EgB+M,<%<lZVXL-&$*bq=]-cAL#jLLR3JC`AI0fW`TGZP2V6rH
+3m!r'6]s13ei%5>aB#=eEMm/k[f"Ii&TJdG/\kV&p4+Np'.m^U=:=>t4Oq<WXU8#,
+=hF:9$gRsL>GdZk9%Ko;.1`l]J\A-d13D)E0s8k!Y[Dts-#BYj5gB(t'aue8q1O@Y
+"120mp/q&C5s)Pj0uj*@>-s;abAd(T'grB4DC>#LA!u$-G+Os04fqHC8J%=nGI4;R
+]>Sl'jm/hiQI+ToYmf++(*=S5Q/-M*f$2pY=j$1b5)':Wcl-I\,1XF:;US"fRqO<t
+'-u:&?CU,MoL`i:!<o0uRsJ#pa2W':V\M5f(ZKgXFG=ohNHSrU<u\i_;1^S-cHQr@
+I-=_%S6L/B_ao>.LfK>_fXf+_jBdbRadO5WSS=K<fV74:+Na:'4UQCS%@FI1G_6.,
+U31V8#";0;5E'u&$2E#.q:l3SZE6J'XQ1)t/(fSYW\Aj^rMTeY7r![_"SlRHU^j9)
+&jPlV7e:*$Mq.W5>1kOLg6.fSjo"HA10@Mr:N\@@#?IXsWUCiE,&)ei5kUVGoCF,,
+H'PEYB@FAU8fr^lf.(8RF#)05]6EnuW.NBSVa;^.4/i-L&%geV0FG]^RDq0:,[)(f
+n+Z4,f'aX%JAr7JO!<7/*Ud/_oC=Sk5g$o&";ghF6#3u.>))ea"n4A)&AuB3UFJ6H
+,e-O4EW2_>s2Z%8_<`:M%;U0Lb>alb0$"ogM_&!B]M=kL(^;Bu?.7E911a(>2!Fsg
+Z.dqjZT2$N31*R\2Bpm^Z:]%<1iZTT-bZkM]hDI0mg=&(^T0"F9Gtnu\[EGaU.i@1
+?r4srrNk1lcC&YP/p!lnnK"En1,;Ch(>.ODWeNn/)c5U<#)rX?^n;I`"i!U%.5QVk
+Z2h&d:lujX..f(cXfC\k\8jJ'XtAj?ZE=X<G^TJ\Eeu;qN%5;Hr+B*YmO_GYq7fUg
+(.5]1p7jlZ9Gn#p7>p0&Xu83O"L6_.c#[%D%-"Sb(kZUS*^+K=I3V1XbR@CfJsa-o
+4I0U%c9s=:o\D'LY.iXEJJ]r'CdJ2#=9J6q\'9ijFTRQoJ!iPRL2SBbPYj[I[4#q8
+_`<4hmIk]!N'T<dT.ZMup)E3OAR:H^/Vm2LdHl"rpLB)>^f@]l??YG(<^cFeCrbc`
+;uJ^'pnHKll:o.B6G5$J70[@k['OpV=&*bhOGoF]0mrMe7Zo&,@u`"L?T\nBMaCsq
+;:mc8iQG.Eqd/tJ<4t>Q?!EhD@>n0NqCs9rC!=DrTufsTfBfkojQ]89(V/g](uVD[
+@CS@4(^sJ--uS=Ua>68HeIV/:V=e/:T?F)dcb2#p]VAm.PIDW>^NW'&8Q03agVOdh
++P)OL1^OTZT^'2+]-)g1^WW6*%P6Z\n%]Zn&nrlc^$p@r&fu9o9g1s4j^]ZU&B$9N
+'!#R-]!)5+4o\$#DnYbp(k&@2j$!\W1BLK6BqqM^.;PS#'"7^)#)c=lWrEM.=6R#l~>
+endstream
+endobj
+85 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+87 0 obj
+<<
+/Length 2047
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPl968iG&AIa;E-dA2=>X>0_0FBqg*Dm+o[&7M3sV4/A>U'?n.F@&aaYso"X$'.
+*h>kaYrrBo//B=N^O>$c)-rJ0N8npnT`gPrakrrob2j]p&k(`"';9Xk?+bK=j7Oh8
+b;ri)G#rN.0q=LNU6MG[63tc:jmUTK-#+'*/1KY@R='!]D76P`e^?3':eYk@Up6A`
+-j*':cRrD6<-(&URtn#8W`JT%.!%YcU`@>V;(YW$20tPG_FFZk=:2mSlL^J+4u*/[
+1l.+fg\[6Oa/RmtL7Fa\Uj$3Be^`YfHa]_J_a9m,0Af0bZU7a,rbI2?H62_+"O(GB
+Me[(^#?W*LqlL_$Tt.Euh!-[4[V%F943Rf:\_Xq>HF'pn\+<G(Y[*hNkKFg%[d)Fb
+[2.JMN*.*6GGP#d*R\d3[^-NMAkDTa_`YpA51K-cc;b8(U4iB?W!?0onj[AJ,2YOB
+)Mu.khHM*Y)Q.>;RVo7:V=kD"U#0P,OZ[`UJ)H;CE35rRqR/Jc:.)qSU)HE_%qG2;
+3++TL\/S1Ahkl%Y[T.0P15(%o>Bp6W0$@!e`Th+`@']IuY*n^.nD(MQVKWM8`&`F#
+s6F"=r#Rg?8^M\A1sGVL-GWW9_*6:W>1[P_'-Y(K-51(Fo#c^5\[FmlSXb3UO<*#D
+jsTOj:'E76<0meTno8PN8K5W[A_PXKSq]`*\.t?l0c4F0RT&+>[mRQ-!L8;UP%N:6
+f@NniTBe8[DYtfnrm=04]0R8UA.kjts4GE^4^4(9).35b.;:$Ae:-EiMu'FHLP(Rq
+7Cs4he(e.(R>qU^HSp$?eF_ICN&l,8Y0Sq&Ap=3U;.>b6Ki4<CU,5G`oTtV=.(ReT
+pJ[V^LU>6E@=?X_DEZgH)d*u8>(ODS>00;HgeU7))7i#D"B7D,_:8Rnru05S]C>`J
+:l6A%@(s[FjiB_B%U7'XD$\%rkKAD/q[h(P+D&)r+(Qh*&Y5e+7X.b_-;3!"Q>d:m
+)b9+kGO(pB%RjB5I@R&thjkKqS'L7;`S-oUdbnf5Q?CV3U8r_a+AcC/&^kO>gK+uI
+hoLih0hN"pnLg,qq2b=94c41>;A2PB,O$Y[r@<A]<9I0of:+1"$'Y$+08`.dqaMoP
+P0fH(R9%UDZ5[8eN3"HGpI2rU9gk*6+HHp+^Zl$WUDYLJE'e+-maW<&8=>\hKe1#d
+R<R&NdIZq5Bp4B&Td6Kt9<d^9(B)U]Rgs\#;dT55o3AH!4n6WP"hA\G\?)k]\F7L-
+K76TS/%42/=jJ?QT5CHSC9H[NmeRP:;]LJCoJAsk1N)D+4`DC46#D0`))S6ub*]=+
+,[(kijA[Z8&Z[,oOt<Fqi0m?_AZKFk)3id^Y5tB)Y-4hr%b]n,`,7*:D*L>oaKaDc
+#^"K(1_,Ita[fb?5hRX\la&:kD5qq7"lNP/"5F(PG_L4R"-VH/3qNmYqU4pu^@[V^
+FMYWk/G2[7@kF#B7]h$dM%m\^[<9B`[5eQbp)a.L^B4H)6c"h\=oWC/k!Pc91+%*@
+Tr74Vqc&Q1XI3:c0]AF\*NjNMDJ,J\o<'n@=-)X\m>"3*lEKZkQgZMF,4gjO3%4FC
+;OlNk^i!cM:Co44R-(*S[+3IU"ko`t[VP+i:P>S?fbYZ@6fS5qAOc=_0ET<SMuSWY
+$[I?M_rs1<G2Gk7*@PRXeUIF8"GT+6/t]Y&UL\`DT)e-H-V!B/Uj;7:2Yd&^lUK;c
+j530<22-tXj!RgbGB)omVa45T9H3i:(&Dc?*9hCK2J]OPT[ND\5JnAXi?U6NBY#kY
+5qRJt$5=8d07Q;s*op%8?OLj8L@70L=NA:uKNj5&#MV#7o40eDgJpd)-;h&KD(cis
+@FpI,FUVb%BJ[IDOOJX6gf/ck\"[NRX4%N@l>L7;bE&*g4S=%\h(_2c/6dsSZs0Ea
+.VbhX[&X<J/Xckklh96.e&DZ:=(aD(CtA2#lj+uKZCUkflbjVrcR;kQb$@NO=1&<B
+a>;)k@cs!AN]q^TdM.2UR1/DI/%)BH0fe:e>*Fp2S:D$E??IAY.?]aGIg,m)Rf'A~>
+endstream
+endobj
+88 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+90 0 obj
+<<
+/Length 4179
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,95c%6'#*[5kU6PnT'!Y3pD,"n,f&hV,9R8^*."EHXc0&6>4(kJrq``%8[2r)
+'$)c<MT'mj<@#?4Y!-aj>-58h<SJq8DW,e8?NL/[^1m7dHX=,Ga486!Io>UQ.su8Z
+q!W@5Z$4s[5s\l^[VOU*<M3dtm:t,.>&Vtal)*orLWkOup1_1Of,j!2cc=l41*c%F
+4C6LgINIp+g]"\i/a_n-iPXgNP.&)0O-dm4^>)]UVTWk)?@WGT:5AIq18sd(f!2DN
+WODHm)83F0g?Tqu]SPboPThgM,5!NI$ad2?e`lEN46U`roX1;Dg"1L3%En8L8*ZjH
+m4l-^RrPuKW@>D!CSX;hJr6dXY'a4"-3l^[40MH#*@]B*V8]?s];Oo#^XDD\n]F5(
+%#,@P7@?#j1A`iQ?jn>ugEf"EC"#s3q#b\]YBqljA52[pGSuh;qB6.UQbA?Xf/Anf
+%Ofu(8e7Fadf5J(mQpS2EJMFecH56hi4q]mMRl^X/9!XJ3Vl]#Ft^\XL/d3b9>b()
+Ij)-ZWe?%fa>+9mlX?7.LO%N(_b!8D[AErpAqu9k7-\Kr4H<KP[7LE5O.c'Xgikp\
+O4dfl).esJ8_GpB3J4>U"WfT15]*5!*O>$_"I5sG-@m!@`GSrGPTL[(C.$Z)bOCq0
+3i.c[;CW'9P2sn=[88V@+k?B&e,8u]jrfV!a9<\3b$_e=cB_FakB[!r4<6)5*)*&i
+$+ok/?fHu?rm#\^atf%l_3b$s*C*gP3)9qASg/0sPq4SGFPRBR(=tj/^ggrc)71q*
+\RURN2l,,YWgkLsOeOJgCuVI;jlYU?[Bm`\?,W"oFW]cW*(_Y)M0a)b*gWgJ_3dHh
+>"\7G*P+tsoC/7t%aPdJ6<Oj0lrI^Mddsk%lS8[tnpQ,QT/=-[>S_I8qOU0V]_6cV
+icGs%[.^=8Vt%"(4:<[Nle_@j2==hp-a\s!Et,8spU0B]TI,2FZSE$uJbJ^-E[AHf
+Jsb50:BDT@]kE9$bD\q<mdJ'*el$8W;nQ8/iCqEI:EG+9BAXcl3Gf.6[M>>6kN$?A
+Q*Bs8TI*a'ZeG/J&Rne3*+YR>,t.&Y^RDZZ@r4bZHUru,Q_BL98H'P'QJnD68j8[L
+ek#gV4G'/-,f=<ea67QH/E^T-gQ`GgIO1=5Ut@=F*U83:l$R360'/'FI\olQf,_uG
+/9nE!4Y=t^"dAZiI#Y\gg@u*VoC+cWcY*@F>S^UsOt^K(jQ>R6Mj$4MPnTfi)B@d$
+*qS)t&O(d#HHpk;g+!:9>ZEP`:*X^BSORlO>,uPfK,aMsO^R52Uh@W'Glpdb'2%Kr
+XfgH*NX*;mDbcYWhE/>/V@%kE/32#GQkMjYbAho@LJk^=35(gsL]>6r?Nm?TUV!?N
+h=mdBGPBT5^V`B*.-T-6qI/uVj!-]Wp_IN^"eV4t4n1,ZGp<OJCVDPn!NgG3^8@ad
+%Xi]nn-teN(AC_@#tF/&IhaH+3cj#)AtrWC=cCE9NtG9iDlVN9UVBP[BApJi9!.VB
+5JkH\9pdcW2]b"*^ki&B6+8ZXY/KqAK!upe'`\+p8H/r;^TZUHJ@4":C=iJj5Q'*8
+pFBh/`iUi*-p$D>B:ulEL$OBYh"i:pF-<r2;2/.FqFm4fYqB]lG@k[m%tSj><8J#0
+LOMHZ10`&),oM.!T_2<*R>JQeDK*>Ba(2WH=%e^iF`$"Q'qL<eXE^_p9<CKp%8ptC
+C@+Wq,j=_1FP@VR1Ypm0eWRl$DXF+hNq6RRkETpj@s,&c@XnU:*2J6uS8lgc]X$]8
+j/+'A>qnU]\4T(C5f2)QCi./A<a9L\f2d99"YQLI1aAl,'KQl`.RrAeQB7&0/2t5n
+S3fm:R$ptKEg*I^77=\)CJLQNG5CG4Vsrjr;fR])g9sj6Y/i%AIFD]_f[=\Skr6'#
+)dDTeXglPr$2laEecCIu`Sh:^+a7!7;Wlm08ilW^YqB_XpfdkIQ"NP2JY_n5\ZPaD
+>!&G4$/N&<D(FF3lM_)C<I]7b^iQ_WP^VF+dUBpuMb:S#@H&OAlYuIbJ3r.8fP,rU
+h4XjN/N=AV=jXD0[1*-W.R>[f%+Lpg6Tq8T%VcLM^rIMO`uE8Y'aJ;lA!$j0@*>Ds
+%`gWYG\ZcqGh,f5:lfHSg]_$2oViZU!B-(fR?SB$^mI5s)6ptK'b&;ZBFH?W,N`_N
+b4JDYTr4'WK'(j33*BH,Js(l]?8i3^e+C"PP.58spea6#,Y=V0('G(]K7]9^M?+@4
+!Yh/&EB6]1f6*k)hk"m386FE";ZcL98Pq3-_W]"dd-$ij)V8C)P<W;j8]/+sNH8Wm
+JQ4Ei!p4_t.8f/78`FL'%nm?8Dp8;#+0c.X%p,amTUptid%sE9*:t!8LE't\cB`"6
+(2>t``GCebqS@RbOOpijBO'`'7`2$.d'+QBjqc5e6F7kT2dFG/X$[j`'a#c9`oCLh
+EZ,&_r<Ho<_rP'g1hNDWiols=\>6C`?)-Y#$.28bi#GWqiMp<r_'K>o\>H%s#E9Qt
+,rmA`pgiUuh[Ct=@Ma?EoKk2dFp.uQD[6ND%m1[Z#"lBPB_F#iUuGbmHHZt[iWrpX
+@h1Ym?I3tdHX&7$_JkZAc%W><3(5CE*RupN.`V;/R=XPF2qo&e;OUo>p[k;TD-JuI
+2!SFdcgZ%%>]"rG%):ZhA$bq)I-Tb`l.=0-?F\UhM%<b>a%,Rpcc!TG'+1pUKq<ch
+V#C!0quUe8q4K6E@>VS`L/[UD]^4*ODk<8'WLn1i;2IKl.h0&<b)d"Y;/ens_DeCo
+3Tnh[&KeODD3BF9/^i3>H9ebDO]pmUa*LJ60HFhZU3EM-E_dsWI$-P'>^";1\r_*:
+FRa5hs"j(LQ>qsYVX'-6lfRkS]T>/.f:#(+ioN5H,hKVsVjH^XRa5ft]2EKHP4ft?
+Y%9S4`_s$214=(%\A>+f1@'!Ze\K1ia8opSojn00jg9<E0I(gN[E<,rf#`ND:CZjQ
+8l9IkSkIQiF-534B:n>VbAlKMR`P@ZQ`&'X#A!X,qsR-W"Y;u,rI/3hDZID*:^mN"
+:j\TGNk>6>&rCG$TklnJ::/,9ck%^]1g\js9?X7'$YMG1B0<FFMjBN8L,Bb(1HQf=
+@5Ets\U`ekTn"nUnDb:'ZJHX'cEqM0ol1pq'e[CDPmZ\CTt_Oigjc3"o#'T=ofP9r
+[M0.pgU7?G+\ElMKK%W>5OuhW3<^)[PfD*rpe4jbK#Y^j2Ot?,9:f@tl'dE>8n7.r
+>fY=P6Wt<M/6(5FD&EtC:3W?cWIB7VZD@#aOQ8eWVmQ--\>`()$D][pH#*Z3&elAt
+-..hgk9FRH)DC(1aK:k/V0ZD_/r7A],;M?S4H=+Gdb%<^<6EdjDG,u\naVHuRqEYu
+V&I!`h3tMH8o#cmq[qX.?L[EC7B,7'k7:."?^q&dh*:r1dgn\Co)HG)+Lc2)#i>H9
+*#g",,Z17LoN^GZ\bSW`Zm.gO%8'C\hfm3(Y.1LtRqu$Y+_PG#r.a71.G'(B/h&ZH
+<q[G@Zed<T.h+0,A$@=u.eJ_b-25#@R];._kgJit7C_6=R8LNQO;K;].W6EEr3:3O
+1cO9kE$(opd#IpZ(:c['F<:4J/m))QW\nqi2_Ub$n[tJYd$"q9*Z,8dhSgLD-(YZO
+;r=)[D5jMAchJ?"L%Dd+B1>=!X&`XSio/oPb2CRl]O8Rd4?""Dos<@g(2M\Qmk=o3
+"hEk"?sW.E8f\&"+&L!gTiG>&(p;LVFX\L+_aU14JJ`guC^B_a3/#%W@_-IGh:U%L
+Cl#A<"qG/,:*Zc$WBP^LD-CB?[`;Xj!nkEfamVoE_"a6[%<bOMaJ1Y)]f\0mQrr^F
+bU"W&HGNs#R/mm4;PU_^31p/r"dbF2L;XPn+P9T%qVL;d_:;HP\<jUk1m/h$6/6sr
+U&0o6'$SI;gq3!aI^Krg#Iit"+*rTSOj\ERs+ck,E\*d4.aFDXD#,IIjDsD>;2TY,
+9=i3R%T_SV[6sG]<</+b&+2,qrd0mLCKe"?'5[si334YNR"Wg/%.;^>M<WBbQ=QjJ
+jOg<?/LaBW`P"*&\^.8D]"q[t/+>k]8SWur.SX';'g>9lKSIDl//<A%C.-SfKKWc9
+YAP[P>.?tM&R4;RRdtrck+D:G`8RL`ln@ts8,Ve_4@IB<Ps3T6=FS@$\]Ai/^oGqc
+=u^:sr8IDIO2%^g=r@~>
+endstream
+endobj
+91 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T5 21 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+93 0 obj
+<<
+/Length 3746
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Xu\9ogO.&\[L3kdDC?eB;d9^$m17&d&>YM$<Z.Z\MkdB1@V>-7t3i(IA%IW`Weq
+e^?KBX9SjoWa?R#`N!"#eN^-ImoO*RkGsB+BV_()pfkaFdce]N\SFQBgjHN%M>?2u
+rJs1dq;Vd1YL^&!Y(&FG4Q!5hSS;pZ+bYO!X1umppPZY-cd0Y\4+([?B\Km(oFCkG
+SLqRr(TkS4.]p7.pGnZmSLfteXVNRS&0Jul9usq"EKt?/mHhtn.mA?>CR7rbpnjTT
+WH"1L:H;et*-5W2GT(1@A]#Lbc!f0n0<r['09lV!r-3]YTc,L3Yu4297A6<.mVmJ3
+%f;$T>G&MJg'0"(,tO.&QA6ui03PuIPcq*-H(/m>GoE_Eep4=)Po!Tof<]RAn!Kc<
+*bE8lanU$8FK\\BXI"&@pPZCTLWR,Bc1iop&[tiAL-\HcK!MkmO\RPloSYW0C"$+b
+[F]V"is,'4;n,GP#C]h-)FaXjX`pCT+pG(Fk.=1_2VYmd/f,s8+lq5Nef7d1fiVm@
+Q%(+e/p;Nhnu-JS(b+>&1m^e7GbBr4IR>k]GF]131V[?6VgJA6=a[8b.J60nRH3c(
+Wu2HMre<r<Z(8cH@i?0Geu?ZY3Qsr62RFN;UNSin1DlbDm.@J'_>G\Un`q/!&fKi8
+F"-8OSDS`/o?GKmf/RVT?/%Umo0"53)PEB*Wc?s3GCcCr`!S;f%1n-cd=rn,`s;)B
+Qb?<Mq5Ft5$&s*LOO0(XrOe3=8[rCb,gM5X/NA>?\hOuk&E!\WioLI"^bBFE4"Zsf
+g1\A9[#n&gE(ZM#SC5f>,NK(S[kPn"XVa<k;%fHf@nf]l"]/O4K.Oh%@<Kk6NIVHH
+&\r$EHt,UhbQK(.#J"kA5fn/SW=d:V"_Kfh)AChhi>P!HZ;FX(!a3u,`tO,BK!p3>
+`dlA&Aj9r))$m1S9#$KldPQMR9DTuSC*f[MQ>E&+WKiR&>"UW&;_'"+[?PPq9s+1q
+;%))1E,$\pU)"_+E,$\pU6^BEE,$\pU6^BEE,$\pU6ZRSB@J,u:^]VZN*6OdW!2$@
+VcH,6C2&b=:9B0`C0B3)0kt9q:s6]cN_q;OKj#8K3(C$/'P^eGhaM9S&[]q[MqN\8
+*%,3U-OAG9`acS&;JT"6i<\+-X:.L1.EN5+D1F"^`04A#nSeVI/DRQM:HGrR"<e^3
+I>lO[2VHRcg-Fc4N4YPjo.r\Z#!;r+0k84d+-*!'Hr%^[=BH;4(k<AU;'<?1^HP\?
+Jrge.g]ef"^QY-*5oTprRE/TJki<_WLg04Ii4h-!79h'N"*KP#$>4n8WndhF2?L8e
+qU'&ACha)h*:c\AXp4>gR,DBCGD4.@\.G&^@JU-@VMl3t_P@Ga9Go:rKEi8dQnhQm
+ak4%b-'Q9#,RBGWQmcOALlu`h4VOZN'N'Hd!3Z6'PVQ-)aZ,*JM,Hg#-m@$iU6L1*
+P`,uHiC]=i:diDb+9<.PN"f,E%PADA8f9(PA3<CF';^X%;)2IsPO'o`,"b+HOI9::
+1/^N^GR"jfMc*$%-lEOs!>D;g'N$XB2P,b'7Z&U&KV"#u7Z&VQ8Nd``N"f,EIMDeg
+;FCg9FA.oS;FCh8G>+5V;FCgIk*RQ.UkfXQk\<se5S5='MIWBFOWmE="4'@a,=RiU
+KE%>fAYb-FM:6Js8f9(PKK\=^-tT31')%c,U6Lca8pD6r7;7Y+fr[[0J5]8\:Csl6
+mV>@\76XRt3(!H25"'f*18UlMW1LlIW)CIq<6lIK)jggmYhNWR`/#cHA_F$o<AQV&
+Z<SWmY5ii'VJTN%RgDD>=odRkG/$g221g3o)i=AGW$9_q*21)$QnJP%BjL"n)F5;a
+UMJmJjT47(#%R!,!)`iXTT'!^C*Op54RiOtV1@k[Skl-lk6S(cgM#pqlphku1-tUM
+G7n4m5HJJc=!#*N<q%]m8/4APQLU<[p'2WEbkujrLMslHg"kX0gW,YS^KG=HO;&)O
+W:+UfY'pHK[J4Gbl-o3@nQ2rVBQ8d1eNQ2;+%H$>o[/0Vf.Z=SnW;Y!qL?9PLU-4C
+e=H4"c-XH.,Uc7WTmO7n4l%YhM^D`<I=SHGh(ID7<Ij!Acjd&mceZqin;CAa0OM\'
+S.Y?Bq`GiI`l4giNF!;7V3p_4BJ1ZP!SWaQh[fndcr5E<':j>tF!KW8ki:b=+U'&T
+;"P)@^3!Osh@J]#YQJG1kmWJ-4p'^-l"Rca`:ot=E^i*ab+X$7A?2^u08=r-G:,G;
+#"HF,osN%/]q!Eh6\F=oPp)H-CldRngM\-[1.X7?)Pu)X;eZ.!E#eSL(nV;ip0;@^
+@SAS0&'*Ld8co-$Zgr6cGg&!)SbqSK'7GnW/]S$^+Vp]%-D2s*a2cc]Bn(@fX<WA&
+8haOOQ+Me[DgH[Jo+`*jn:eHgThO`4/,tH=P$05n9:9OVQcWk<FI.Is5/rD[Y4kXf
+em!PFYJQ/O;ko6f3=HtDl_1W.N;<p!>ou_:I3^WM"CCe?2Z<7C$"(P.cK.fERN)(Q
+"gk>0TtG0+1HOOl\:<@X?]HeE\`"K[=6KR;(61%U*>'hT#-nb=I`p?F]>JRC.Bae"
+k?UBO?I)!r?Y'ASa=Eeo\\,kjs*eAC+H9'R1l4>.oZL0_kbBP>g"+H4.O[)2EI9[5
+8OqpM@[,Q/<f-ABE9`4"^EN$RigS6h][?=iHlT^\d9M]@J_>N5P?aL+eKhnKOn0m>
+Lise&]=d,2P?+VqPSRj$qpc?#TkIOl;Q)H_F$.h>WTg_UVs']=<J3XC/'4.nMj%p-
+RL(1KBkVuZ7S#TKnHVi\)9P\+m2h>+pAD9F>1MW@kYA&Cj+2;TAq-<;l+@1:iY$'J
+-9h%"4hFRXl[1Q0LX#P>@22Wk/aYVLn<#N0n(%VPK;[5T<U$3X*qJ,b>[=s\a1EVS
+7]i'7%`d%A8U!;@4/91=/PqO;.*sGM+V7Yd4q((fN%H_TfZ&rnU]`XTYjXMT3.CR$
+?^V5SD`=lIIqZmJUDhMn$rX,`3;`:2L2NX_L)-BFR%h;i"PPJ7,;CrnHC@p2)roYD
+a2@<@L\(Li,%$)\f68rha_o`p5#E*&@<nd$abg_-Gf=WBJ=1+tQfgK*gnA8"5"S\b
+8/84Pb$1E`Wi5(!5[aAGL(dtU(DG>#hIkjs@]iPnPc2PJVfCF!P)-r9U_kGb8#!2O
+=6CZKCfIg<;kg]q;BX_0$L5\-NJ7eMf!;o*922QGRp*5"1GSGI2J6F8735K)\#^R(
+\+QZZkDOpE[<6@<f!M#hPl:8uJ;a#^&#1VoSaBOkV_(J0&HAXea4a>3T)H[<3K.a[
+/Lu)W8kSiS)Y;LUH/7!lI9Yf/a6rkI/5r4AgGVYR+.81(;J1XJV;mdui_%8oeh8I4
+9!Ik_EcRE/6BaSTNUAsd_XO*.$`9`Z<\1CH_@81ne&nM17cj_Ces@_QZG0orTdqS;
+guYRI$fSIkapK'[%-2mZP/u(l>99cmF#U+)q>_5lIta6:$GnJ*7Gn%V"W;1+f(f@G
+JT(CjNSt(/Kh]M#2f"m8@=iE-@nfNIkMG\adY7l+CXqpsKLVFD;'2#.,<l25--,(I
+_Tu0BVQ9-o[G%1s:5)i5Y#3Y?6SH;UW'0[25-&ULpJW:=6Pfu)g7q1_&H/Fp?Wh26
+Rm4?%$,4926]]V@S6@)eo,rkm$<82.NrQ#ZAJJ&Q6]8$;8,#GVlt%3<"C"+:=Y[cB
+[!(*PK4_qm1u0%S4C!_L.:b)?)A#17;7acmhbN@Z(QtN*d/~>
+endstream
+endobj
+94 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+96 0 obj
+<<
+/Length 15005
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z,'9p=<i'#!U4n.o^g_r-^Y2W]QiM7mmT>8rX'ZDk)>ZG`/>8gE#P-F.E&s80M7
+#S<f-Ysue,fOGNs)VpD)Y9/4\NkV!OJeunj&M(C?(k/XcPJLVg8g]G[_h]%OU[MMr
+oAXYGkNR@NhU]=+AGR[>X0A*5K=0/M8)qR#[U6-QFnj`q=5GobhQ?\@3%l.Z]`%\8
+rV9j'Pe(u3';jQD^R\U9M`'PjZCYpAP:Oc=D0K@-a$m?5\=?:M:Z%*\V_\/E[3(CC
+OEp*3W6L;_>!#q?P*o%K+Y-#?7%CmH`lZo*]1l#GS=Uh3c0?p-q'!s!YIuO2Gdd)9
+o@8"ShJcI`lX,t"c>)1<?.@WW03>I%>T$o;S)'Uc$a.RPDTD3[Igf[U,Ad.j\Hi`@
+0'Nd_`ZOK&\%_I2\Z#@m_D1N$80t$HFhNAoK%=bU+sD6opGP&r?U$/A)J@7\3^1Sp
+U_"@.<I2C8X<7;:l%acgj8.rrs*,Q.ri<$mho9AIVV@*iM?iq@^!fU9fmYK#Y.<p?
+kKCgg*1&n<mGg<>>3S$*52&0P5`0e!O!3=[3Fl<VI@ocom;1W1)h5joa=P._AGF>3
+*'_UhcGK+)*!WT)or#iB;]ij3m<Z<ZU",^Q4pu%Yn93'&eU_la_oU&LgoTs&Z\O(:
+<1R*\'6L>IYomd'VN@pTitq?V:j:r@^m,21+:ipgq+3%DY[*UUD>Xi8s-rJ0"io)$
+Ibs(0ZN2#Pl_P?T@l3c5O&,d6)K2(VqqY_p?dXBrSCO'EhejN;F39lB,N?0#`f&Mf
+p28m36ftI*r_IL&.pln;BXs_\Q9JG0B<Q:g>YLp?`TB):5ie-diMZ5+Y/c\Y%[.MR
+mn5beD/u_ob^?kqCUX2mLEp"a9XEVN@S"11H1<*R,BLG)@HnRdga:A1pTrCU*EcSS
+eW6A7oQQK1\D`(UlfGPbTX)6n[J>p+:t$NM3>gf;Xb/Ud4p&IXA:RJDVdlSoRH+<r
+hePhh[3sDNAsi42[73l-Hp0(.lWOgUbF<^7X80saN2fT"LkX^,H%[Ko-OiHJ%S_[I
+XNeY#Mq;l_ia@hZ".;uS=aS$"#>bdNEtK"8PG0!r%Yu"MN1]EV8F3fo0MW!TkB]dr
+^%b?NPm0Y6Ors#!`t-F0[di`g30@"nU@Z\uAZ48QkgeB<;qnT*26LJ$9e+N/)We8R
+g^Rd$bOTs8DMU-/BDhc!e\o[3ACJ>p+(M)'HG5@Pl<.dKSB:IYE8I2En!cmN)0!C!
+lLFnWhE9;GB""b8PfWJ^*2;"&Sp'k7?$)pr7DG0`SRUefou%r<&L3%t/"&HT/q.)%
+csboA+HT:QVd>UG'Q48*>)HF-aPeVODg&)b/aM.sf5X"Xn^R!4>4al+:u(/*f=.a&
+H/IsrDU5fU`A)j?(>udIZ]KOd9!DEh2rduah;bA-7T:h#'^:3GV2D&&qp;<J1sq22
+IF*M]*bm?jbIViNhR&610!H:/(2lJ"OsMB6lJVQ@iGXp_g'<0[=H[lt\eB$)RlW".
+>aPt0k,-X*R:XeaEg6/TmPF9D^TDFZa_G/&:H-nu_V4`-ZTh/Sb[3Zm^)lh(%3GL"
+:lj<Fqgu06fAbpU.i.p0'VeGK?K)ZiT?g,>RIQ@0#HtHnFI6+m.&qLl>Im^8?>*b>
+>Oc0jNQAClf>\e?9ArR<R4*3SBhgaaS1Q&2d2Z"aVCJOV&58DC#e%Z[?r#gfLG"h"
+V6pYOY"-7CAbt*86)RcfN0TYVYX0-AgD??*FSf$&]YZL^>nm2AF@<)b2:.LdL)/5J
+T7Uc^fjqo.mPY.9+SDeKrSNO`kQfo:?L^:&'l?_.ASD^F5Za7T(K(Wc+0L"`"-:JU
+$!K<Whk"r[0G-c!`RQ(CF>i-1$lDtOD4\te;rJ$[)AL5sn:#&gHZF>/$$6rZd@@H"
+_sg>39d+NGp_SNKOO14=O,B8rF\)s<+]=gUefFjb`IXbCAcPLL.IWRhSCq?--,U)G
+AR:2!;\)-7Q_e#8nMa#;0]UfH5u8ZHpePO5r('p)!-YZL,\ZDIn0#Z7im/+<Jf@4T
+H[SY2[T#qk`"OS>$76pRU,`lb\GAJ^Fblc*&u%\r_Y$6I!#_TlZd<H7;Bd*9BK`"f
+_(&,X)5Y?8%aeqkW(`U&\f442mkbS-O=j'hBW,K$dN0=O&O$JSghH'ulBQrQ":1i<
+A$kF8JhC:nOof]<+\iWp&/Nn/V+4T90/IZSr8S2j*!sf]%ceb6%OhOR$faT7=o$kJ
+Dup@tIl+s5cO%saL/V-PR)K*qdBIsCFZq^S6it<"59t%d@S/="<2p@**\SF30jp.8
+*"]oq:t:(cqLti`1`'3#6Z#,[T.'"MAOWmujGflQ8L`T95#mo#1m7>UTI2^@_4[m0
+WpHGICpk(;'U[!MG8AqB5:6/Ff_tA`fH#eVqUA=K:Xg,BUb3%:@jO^#k65N#HQ<Rb
+f5gurVsDfS7@Nj(=E=\!jqOnXJ4`(>82jKi(2!41AKN?OcJ7#^h_:PPNNqMQp7GtC
+'1^*!929SAC4hk<0ccHsm`FmU$Qiq0[HH^LOG77Fet3JT.qh9e<",\r4=$##6+]_U
+I>ER8SP(A:C:&ldcIIn"JKUMuT4A"s*Qa[BTOf5Z)3^nZ%WiU:FauL$"9$o?';,R*
+CrdL`a`5E#lQ!tdKHsPH?*8J$84R-PK=lr-VZWqtV)+IC(t?0:o!p<+%CK'R=mYMn
+=Z@%f!NOYK#UOH-09$O)iTcgCdY@*VJCire#i0FS8X]kI[CM6oaWnAo4<Zq^BVi8$
+\5:*NKQ0V6**00SV5\Q;[H)pmR^guR:mX?tJV&0,._:^(EAVc93'j-+\;R^D8mNYg
+ATWkB%'P"1"PU-2)$'g)4o0&QLC!c6+usTn$^=@7[HSq,he+'01Y<3@XR-R\OpfSY
+(UOR]#t\-fC);Go'ra_-maE3cB<-G(kh6\sbs:U(H2;Dn&B+3aj9)33=8kc^81j<g
+TOL:"mRB.q=3]R]VOh$aL-K1XrqFP3l'me::bfbjHMSk`]o4a*ZUOJ2E[;^=D!Tbd
+mcU@u`MrU!b3A50;qM!n:'/!0/Tb@pi.q\+CmCuE:ORJ9JJ4kT^eNnk0=C@>Zckm8
+AB6Lf!'AJV37,5f@5/36X-N01Wm[#4n=F%C:Pg=S<b'lEdc(%[G$9GbLA_8N,sfPN
+Js-8Q05%l&3Z\daA.$$P#7cNCK7l83S"u=iHiVXRR/0!kSI$FIgG=o51\XC>0q7Q;
+;,p$iU2`.=5g%<ZGGk.?$47Ytird!\p7;1u?ful%,@mVW&EET_oEm,?;0pij`<EVQ
+NI]c-Da(f<o3qZ:K'BHtR<\ir6ZrI8s0'5@c`*L'gnSV'l-+.>7M=i[7pP,bmm[@n
+a=t+.g6)_*kco"n!O;#+oK.k^W`7+ekW427!i,ZrKk''C$@sXFDfnl9_p(L.bU\pf
+GrH?EO@`MgKbJGcW%,5,]!:4J4"iXd<Eco&=_J8"e1*1(XX!^YP#jEn^DdJ+66$nL
+O9Dtqr.!L'99pg7$Co]t]Ri8F^U0#)K$W[Yhu->X!"pDeeSA4qF68S[L_LDnGDsHM
+@F12-PE,ubo]jro/,8Mn,C\UBrX9V3M._HJ\-I`<qMkA`)KTaX_+g1R)9)EI@KCiL
+cF?W.EHo<tXBhJc'*)NhI>'u*):Mg=n@Q%6[u"OB5qu17]g1KJ]//o&c`I9GA-Zgf
+'j"^[%JMLL#ojJE*ok&2ab3G2=XqI%!nlliXEf\!SB-_*UPV[gjonBTidV9up!O?'
+r1BIto>t:>UQe-?+n%XV'3-/43AbipA`@7iampTD'0t:n:>[2<5<fiP/=uZGg(=c:
+RsBQo?Mp9Xht=T;s6""a]Z8i0dOeG<acim!..?*r=:8J,(JIT9b)]+1f'!<FF7.R;
+Gi@X""n2o7Ga;UKE@c9IRe$9I=RlK1:S/.7g$4k6W14DXJ["Hqi::=8oq"g'4ngdO
+q69cMJU+r*mr/4m'R'oNP>a-XVBW[NY\0AQA+!SEVdTHtcEP'Kkl/gDL7GQd,s<Dp
+_hT]D#KB2^5<mZ&rO_K_G$&DW\Nq'N[[kT*:]hJsiV*@9Z.:al]Q^5uTZs/T!R!B_
+Y7hk2)m13iJU!a<8;^b+\rkK;A?(k*G`$2E[+_l%_&j-X*A!%?lY'YS^\\U5&K?T2
+hg\Ao"^\_O?8#,p\`teT-XoCDC%)lg(7UEXP"5qo,URXm>eb>M]QHWh'd\d]cCV"Z
+]_\g%,ECOWVa)-+h#HRWiF-Fk<<(]C>/ju!d*ki()9c%bj;Mi%\5""P,2!X4!u<cq
+`9?k/`[T0:*eR'NPn>q7BjKZg_q^_Hp%n+EHcNir<1dtKaZun4m2V,F&ZJi?/g>?]
+,E2h-K29eM9G_^NES$7d?Gn5:.6gKfiAd<PJKccHVgr&+muYfo\QM%52XkM.Ce%!*
+ZCWMqL`Nb)ES"m\)9s.hJ'rN7`Gh,V13C^B@:!!VZ!V[*gU?J.+T#^d3:?Xj0=ugY
+=e49XbDLSSlq[R-^t1AjJ,>R1^JeNYB%*$A4*!5>QBjJMfFeQRX3la`SUB^i0tZT6
+,*"7K13dp.\,Ua/M:;M]Is4SY',)$SpuHW;r8!\>2ANF!Yi[AuE>nE(6lXq'Ga]HD
+r%S-t:qaTXrC]K5.Bk`El=DZN8H,.X@&PH=Eld1g/h)Qado,T]*Gc^l8!e5M?@-gU
+EVDTU`B=M((X?I'k4Xf+AJj[jP!ZE9.f+)W8V)?*jTL#IT+fTCl3_0!.$cetg?Zl"
+\u!@9DZ@1O]p3MVrB=Y<Z@-&uGglW;j&G,$-SK)aU)967&G[j/o&B@mo'-QLSDoJP
+[Y+K3m>0Q?C0co(0Ab=\o5[L[hd+6tqaC$^(V4Lg'mE0OF"=>`BWI"mBD,B6:97O8
+irm'0p53jCht.74L)RdC<*/5h[1Q`9B<qB'4p_IRVVLWE<Mo`4e[/a;9#)3J9`r!?
+J$M26Q;-;mp!;]Vg+ZU)C<rV[k-_5>^Boj)J#'9;eZAn"ZQrl+]`fqm`M^>>=N7$h
+AtSL7U?b=gmRbgiqI(bW6BDV)<Nop7W?O.u\eBaQqBd)=)[0[#IY8gY\kX`dGF1-5
+[[K`S,sK\UJ4M791lOY$X)p>'l/*dP',)jq<(,Sb3%Z^S$!o8]BY&ZcT85[ss&FX=
+\As@gMf[2Z35$uo"#oM0&=f\V#IRn/9IiC>\<c'9'g>badSf$,c<^HLo--A<VV\B-
+8D&dP]KhSqs!BFCrSbt='mQXlhQ4M.b(JH)gbe-Sc,$$:cf@1c0V?1`:%S$(SX8k?
+2b1.DB31J"WW=?"NB3X*bR3UHA/%^Z!n[mo^;;k+),beDLFJu_0V6i!5!R9)$"U7.
+mf&AD[u'Cp<4[6TW2JT8XLpIf2Q%1d@f3;b&X?p%eur7U@r!;0[IZmi4D:`;f3gK*
+(CUSPMOo4'KX&o(+*R=MejXuGSFXS);90DP73XA@fDg0-]L0-AV:'e/H8CnjN8BU:
+_T(g*`:C#PQkM+JerTa0Chq)4j-sl^_L"A*mZUoeXL/O[_R`GTlbpkl*%CLfRu_(W
+MTe/\-[eAE?[0VV;bsUR$ebR10EHMJ%?96U'<p;Uj'9LGR=KAkV,Uh-T.GI=a12?q
+h<QR*c8Eh9WS3P6Q[.[toksnKf5JsIYM!+`p0Q9U&g"r;)XV[5.#AW$(SaBn,r5GV
+=e\_/1=e>(X@]RiA)2`Zdia&S/@[-H!m0aYN)Q2(A5-'qUq3WXl`0h.0Q4Gmh;)G$
+kr)CeEiPjT)OhT[3^U#34dun>W#M9:Cl<9HLqA*ET$A#X+"ckK=4=hPg%%?2m!<r4
+PG[d`cR0B<_#eSIZr[1hEB`VN?s2t^iAtsTo]4u,@pZD>O`Xo8@9DNSjoaBoaLKTB
+g)/b*4KU:/r)hhSs2D&9]CY@D.%3*,E'W6E#::V<fp1<2"rY53^nc_>rH0JK?aU/G
+)1K<J':Wt#O_]?8Y=dq=s*VV6\T#"G#-9K5,@bFmH#YLkbQ!Xe,TUja0(9%8e0>H1
+gPWO"!RL1K]3s78^:&#X7be-0f2jB.D-1OoBs5sUk-_YJrt<]EjW.Z.MH^8XAmnr.
+^)SL8^J"EG@Tf%Cep,G#T\h?+YQq:KZi97)8E5!c%heYCc6N)srdW4'"nC?E@<pRH
+"M\e_<u>.RFP)Q,s4OG'S=-'Q??U%dLDT9B(sDgQ?S@aiGg6$\K_<FnfKH>SAmV50
+oX"gm4fn_i:M[V93H^$BCP%h<VRFng>BdG4^&.j,Y24Ac^/6_Zb_R[]GbR5T8#*Rm
+jV)'GMPd)f$)TYQnB(7aLe])_?D[K*l^GR9:*Vts)\kOkRhmL8`P2_d?,&DkIr6#4
+%Chd8YXJcC5He"?;l,m7*YJ8XiPHE6PsLkm_U5S"H%FuJ'o"]e)98M]r%RMocCE.l
+^upLK?NThF9AeW57bg)EKD.t$G+bda9npM>fP+On%+o3%6u-Gj&'CUQi=?/.VS#1f
+q?iS]KSd.fV$n=j-L2=/5Ld@Rkj?e.B5>+T0R0"AK`hXCVDF+LE$>nt9H6bib/DeZ
+-\T6j?HLSG!OPn2YOLmWS2$m..XBRa8AobA(\mn^s!CRT^:ufqcE6*Bqp<6SQ;U*o
+;`og33?OhB0r<o@N-m;bLH)53b>'1,I>)6h:Rm4I<?$kP`,&c<o>CJZ!PMgn@@>)U
+X*ELV;SZ`b4]7,,b7ZYO(_Bim+>QV/J)(EWB'#>.ArQEMOV5\2P;X:?5uV^78RPaN
+)"nVS;kQk%:,'VHbhGSlLW2gka=5pCY<0kU>"AeV;M8HiC<hH#ek&&OX:GU=pPK%]
+?d%/+.WugRS+,$5R'>!9F(<%h#:"#$RgW/S8J\2(D\O&uA1u4o6EU1*IH*iqdeg=D
+4]eO+_`Zb:j3p^m(%bW,FG,8^i[.L7^-\6J%.eS9g2m$lk&i^_s%>V\QZb?d4^4:k
+("f"ppR:II7+qd9m!<+I2n79eiTrsq7L[n".C?Q/p7P!FNn.aE6biCf;M#`@K'XoI
+dP!ItFcY(Lk)9,B[`T\<+5!X62r9n_1>G'+QkqMugtb.!*4CR(io:NXciI4OY:qMI
+@,8o$[OuB*hJIA`^DA;)hr"F0-LMT#HSoe;p`@cpX&!t'd>W]YCY+6Ca,$1)k:t]&
+3<soAq2DKkR&9ct(Wah^l<b(?!(eFM3J`7m@gF0Z'=8HYP@Pl&8?A@Rq6(fh3G4*Q
+R)EFB?l6d4YQDch6%LpnGd?>/l/.'O+%i5Y:PC!a`Dp*+3%s^[0rPKJmb=_Docq63
+)j:W2G3W9qnoR&I@oIXAoCCgJGgNTqO_G[>La^-Y9bA[">"=G(s)D,$C0eb*k/UP?
+9$+0c"c9a6TE![-o)H5'P3g22(q@m@HicHN&;P?%#_"G-me^pP!?_CsEr+NsC6]Km
+JJ>pe@>,]W^Zu7JlbuqR/p2uc(gX8eIH1/MF*OmI+Zi?G8mTVb7]&%hT_ubDAf>J7
+n(nnJJO)I551k;pd2D9fVOYCfro+Sh@HX+?Q`UbAd03-a8T+fUorf-Z.AY.WlGYeF
+Z0K03M.bAL@\oC"hWh)i&q@krMCm#Ep9`JDji;JLT1_>bjg4kEIBNT$Fu7P+b!Me,
+/+t'5=_+o0V(D0QOtR3U<U[+fb$r/3Xj_RPqM9$#1"2UX>Q%cP?L4"=eXba@^s]#8
+5)nPCAN)]aSW:@A,:'Z`b(o+NYKn(3n#m;]`I-U6o$+h0F^P\4:l[4)Vh&_=YE6YO
+?gKn!Q;eEb:3nE+kmYOr^%?2H>a0HO]mJjH;&7G_@@61>R8)cohBo<Q\ej4dh>^fo
+]AG^-c@o#7kP-kFmKF,h:SYG-_S"NG/Agtn1lW"?i41!#=C_VEoa_sIbQgm2m-7<g
+ftn+2Hc\J]FF._U*<,hEkIL1(\YDe&N*XZWL(in%K[HqW4pF1Z;F23uK67B,oa_sI
+bSeI'Z(@NC&T'=.G_'<Wq5;']hXpQSQi">AH!V1gck`"g;?[$nbUTLM)5^UF:bt[t
+e%#NW-IZCW$H]c1;TQDTa]q./Me1Q-FQeaZ_R#hCW:3W7-XWT?+m?K:PsX]C+X#LD
+`>kci.PZbo4(eebTPn%X>EK2#ZU<nFlIGYkG6gs=.1.XN\2!`C4i.lWBStA$k3=;>
+)sBgi:)gt_B,c*Y)mugAi:?b`1dbp5*=Oa;;eFo-CA5E8,/!@R^k[,7(oI,faF/:`
+pER-4$mW+UPr<7"Ic!Asi\ca<kJD#K3>c@KVnpD4LIuU<2[:l:h]2.8](]8Sc,"?;
+F&h_S@><CrT_Zj*Xo<0SG*b89Me)[:.,uAX:n&\%>>_Ce7I29oNN.(hR0$X?Ju:)&
+OiL3To\c3d=Koad\"XONkApGSTOKTl3h@h[]eZ5RXjI6uq,@W<%&hM#LTOI0e,6Wu
++iK-!0-5@SBQeHX(^"XVlFeP)`##k<4g^)S1nE/gM7UNEEf:[F]&^:D&]?#j132,1
+.VeA^f0S:')CZ`rI7<Ls-QG+t/_,+FMWYF6-g^Z9K*1PMK6P%,7%E['i'5YK?0Llm
+e0C6diS:6fAUH)HA`-r-DlmRj0fjrG&+BE2`]VJGgbq_:o>^/R*oR8d^+@#:'^tL7
+^NPZ2*UM&Xp:tUWZ@Fgf8W-H2me#'4BL)&a'L'$c'?$Y)#ciI%n7"S#-3:.'TTXjd
+]Ki`gr6mp?QWI:E+MZEOmS%*qXl,30E>3$9JKQr_#6l8p0+'.8!9m!d!.!c+'uj\,
+OGG.=bSa<InVAgenR^t0i:-_`mrCFT3Qu9prCP2/BZJPAkDJrF"7-qlSi9`Pm6D*,
+jP\b;>VXgU(a@:SLOT8ZoVjb?0;SV!4k`P%Vt>s;m0Dm:D5U8)+$Bkh;YS\B=Jut&
+S#>C<G+P-Q8CCEmVDI\EE)?/AP?OmYADRpTW-RMaKAuk.mXOl!.imuqQZK<S'#a18
+b(EmPnS188H"G`WqF0VmfG%LnM.(9*PWJ\BdPjPc=ZU00\GVqg]>;ld'MBg@hQp)O
+c.^1tbHd2dD0'uVUG5q0?0GBDf$]sp)ldKnfWei7L7V<&WS5]s[+=)3m$KAck)/P]
+@R$]e[.TY)@cO4]a#Rr5B;q)4nMR"BC''7*C4cG'Me^*qnYumTH[g`I'Sb^MVt[jr
+&`0Nsk+;jh]tD4'Z!Za'GHO1\\uD>2Z2t(iZ;XT8aU>%B7H4Lbc+;b;@2s3Ji=J9>
+4S7#,Y51_Rg[B9-Y87'53_-`%`rqHbgae@'[,N-`'B)GK))P5.\/9Ut-He6s3J4j<
+7h%-6"6Ynek+/`H/\F?RQi,;t\!L1;iP.$hSemkahfa$pn;*J?Eedlf*"Kjg37q8*
+cD-pr)k!342MKEpohtXUNM>H(<I<8W7WI9Ng]R:)gOZKNG"5jBZ]=]?fd2*NdS+.q
+Vk6euGaLHpqoQ2BBU^lLo%39HoQ[L3r/uM`m`A=a6K&+oNh0FYhA1![?]'cX^A@<?
+EQ`lr*2`>gNY1*gAYqD=^A@TbGgc8jbFIkCeX&G<(hSX*N1OKl*`sfp$e8/anDX<\
+$H3k-j-<\A0f-I?N96`:]"Pbn8XYo+c^d')Udn3$:[P@+RAbce%`1Z6"ZR6N&%3"1
+5%]=tG^kF@$m>aIo[cIE9lImk@"b.K_Gbo%crU2/_LGqZ4>4+L\47*X];6OnOUo.c
+p2SE#h5q[P/EVht4_Rl0-#7kEW1=/Hd]:C<kVrObeT"5RqphA)&sIEpF7M^^@Ek?^
+lLnA$aQJ$MP$LCq1p%+?kuKfc[]1J:Mh5n/ipqFuh8<[12XnB/krnK?U0C@9m.S%2
+?/>J9QVMOsA)4]h1,R;e23n"%.W16;*_NcdC!a*hhQoOp>A^DddaXpUZoNVi,nKTu
+;pRDoL7D[7_@(a==ai0JhV[d.W9?k:U$2d`(H3-!4S]R.:5.1]hAoT8n1jF+keZDD
+Wm1LVYO9"l(N[T9CGk"n)mhKlTh*BR]D^Sfp[4c*?g9JXRnC/EQ+h5?0\AqfO[Q+J
+Nn=MFaG-c-q63\o=I_\NrX,RrJ;H,?F9W3W;tL)4?^b:1FE_GQUPE4>0J>?RN,#<#
+PYb"QVS0ELE,CKb9os(-Y!?rJVA"9S&/Q1GT\pL<b`rT@2EA2[,IeMp%u:)C<_P%)
+Xd8=\Ji(]]A`i7jD6A;`'dIkK:-Zd&'a!Rb#QF%elo=(Mrf.K(<S$NBT61.u1S\K9
+M,HA&DNmh^*j\a"/`[HZK=Lcu@%?I8;6"mLj(e?\ad.Dpkk<F37uM@Zi(=6$n^X/0
+*OG#PQ>3$B<c9ro5?Bo]cLFcF(X-OjpOYVJTZWVrZ%4)Zh_4f:*Cos=a[9Pc?Q"a_
+AoZeW=%:kX>:P8#(`.hcr=t@8:b4Oe^$!@qn5^D_s"r*iV%oRpr^mF-EtRD@<KK16
+MLoVc2aKbI_V#V0eQ<@0).Y3$o2j#%6*Wrfo+o<=iMRs+r+8d<^Y_1[e@!Tn+sieL
+1fSR$HLt<9dV=%&acVlO>%m_!C?I`@C=mZ-^,aTgcfCJ4>5ajOLfWWumnaV+.n,g%
+6q%AT]j<5+0]+;?D8%2bYUpU;1#^'i+?=q(UETo62`eY8Kob_,&Xn1dbj>l>AbR\i
+?0YgA/jIkH']9IaJEGjM-GTpLpgEt^7;#H+k5?$\6'MJ7J6(j,Y@hqli0rL?eCD<;
+o^=:Nk0CQ.L`q@G)P9K=MR8k_-(5d(O+Dp-8f+p*F/T"t#O:+[,.a-tL.G,9B&;H8
+`Y)S(j3+a_mtZ,]H^CeDc=pU#&9qrX\pq_(.mt+,2!@1Q_up)GV>/*5kVO+dE,#!o
+TWVt'_<W[ekqot,fffQ*\9iY*.k4<s&UsX,:BU.^-h7u7/MMN(:S4Hg6U`ZSD+,Y)
+btc_VK7[i([n,jS>K#FseeS?GKo9mE\48VtnXLX,;E1M.qY2=]ghJFU,bKWLNCH"O
+QbOU)?&"uoK,"FuS;Y5hgIE=0b[=fVG7?4f^i[sejP0;R>R*an$,rM,H\9'/G8G_m
+R9)H%SI7+lDB(CTirkWAG2ijG^ADVt$LNYmn(G<'P\J&i:D<"VL5cdNLCqcpJ(MrA
+'oja/8uHrsR87Wj"csM.S1@'1)&kS2Cg"2KPqCmUn(:#qG,*5\^-C9N%)XND"fZmf
+eqcs^m3u74B[S]N//6:@6N';Z(3M^m;AXIK.4tg5oaf0rKjqUFkrnK`KX\gcq58d]
+0<K2X\RVBb*UM'/R!!fTl`j,/.+-jF,cIJEr'\C',;'1UpK&aVai&7pR,2oB(ubMT
+^=p+;l%s*A?f>r_=J+0>>A>oQ5X=VV3!>/cbjocI,8_Q]hfGioHH9rUmB@rU?ZeN-
+maA4A2N^OZ1$I@*J%tm#7sd;CK8d1fGduDl12&dQ;:\oGV8e(oAAq*7n^B@2d)b_i
+C#NXAqjb&g:VphZ:64qF^;O0tBheDQEE8l#mV3^'X%A/K]@t')F&s:gBoRa2)#_A;
+Y-qcQRd/^IY(YE-Xnfq$\!KRoiN-<*m(kcgWV;:Mc*#pX-\n:L9`g!GMQ,O6fg'SY
+Qn\38Ne\$!NrZ'BGR,.$dI@cC?!#'6^l.qgfQ]r+k7RCT1aCtELGZa`bhh7Gri2@Z
+FKdRMfo25QIr2bn=>SJ<aH$*GC38`c13hdW?`>9N6%qFCrX-WU6S:iJ"qHSroF<MZ
+:%&L&n*fu,]&.B8oADJr:;E)j9Vq;Ca4qE/NonfBVYJWB=F3HUV7QBQDCh@m(SFa#
+WLb78*#'U!F3Vc02mVK*Y1`P]=V.S7c7*V/$;0?(U7s;t(NZ(E[[@^TQVHVZQbVX2
+VVrb)aN5_M3kiOm?EP/`Ck1#AY!n/"6*=X)p2UU%H%1O=9fa%J&8r_M*o>O;nr#fk
+T(r3=?d[r+%X."*/&@Ul+>X*7VkXmApu%08YV67$/.j2er=q5+L!0tb/B#r2)m`(]
+B2D(t@aRF6FI4l)&%J2*`)GdH-r*)k\MBa</rD8TH[1Xho/O<ONS_kscQN+41iL`X
+a$ii]DqX5thjh4R]sgeDT@8n3#`tb#R*\`76WRG>C8_08#4^'SVN,@Yl0uR`'?M7P
+J5l7A$Kl$((n?%3Dht3L3IHH2I*6F4Ab7W.r5[+.F$@MGm0o=1Tn@E)2B4I)&1ho<
+JTJlAhuYQJ+6bOBK5'tM1jh)l>d9?;2"(cKROro>c+`9uK6?fn?20JOS`_^6#XpsD
+%]'=N3RO6NP*!8E1Kl)](gDipP,W>/!lnnP7*_].B<oo"[(I]j(]mR<nA:BF;uUkh
+W]!-K'4tOJ2Kd"2?K>F?XZ#\Vat%4j-D%d';4BMMB9:Lh2e>EX+!#!hqU3;mp:TSk
+V8daUo\IT[;%$fr*?ME*h0b)o\Kc;EE:r7l@FeGCf8m+l'X?8$=9sA'`G8Yj^VZkk
+"F".JhHb:rGh$Aoh[Jf6?X7n03-TML1FG_2PVpN#MlP6eZ4ZE?.#WeuO0ZRSq&:%6
+lpail<XI?ORmrV6@UQf@,OBi"5DONGPW)9m&"MqER8R+FX)Qg[1iS_]-sOK8?8cUc
+SF[@rc)3CPqdd*+O*<@)WjJ$,JS`IXJ55.9SEdu)79@i-EpP/ZYY[&deY&g*1VtTX
+MG'&'@QbY/E;W<]Vf$gt2LFOmQJPYGKQ`69&@7VMZ527?1*&a$mT80%P5bIk$beKM
+iI0^=I=lTtD1gU(&-R6kf?)48^6H:%dQ6:-hBH%L1%aHA*]a_51c8*=aHj%shfk"t
+'R8T--1I3Z#bumrnBJW+9Oi^$UP_.qn-q;QQ<t&BH[19;]l"1(3nTkd0@N&h@l5H1
+S8!EPN&7.-0+I5cau5k!9m?FJP0Z3?$t;ELD-S5Vo23.,(WMC4^)SE)HV,55B><od
+&b^4-#M[(L,cRc]i(6gJN2Ft#ORehd&Z`R_P%]b]pH'q:9okPXfB`'r-!&:i9WLIh
+3G+V,BJhA"6r\1a@@080V2h]*J=#QE!Xh$-_'"d;0tFT'=MJ\HedpZT]?9@5c%*99
+rdOSd%INFgB<FOZ?mI[sba2CN,t10Iap0>^FW(`eiIu!UQKS`,b5q9;\E%PaEEX;5
+2K/4D`]\^%Q\4BYKA$/!h)@+Cds96?Uo<8,/>Tf#1([XBcU&I7LJ\=Uj;`s<e*'!?
+7lLct/>J/KbG<U]gE\&tmJ/fSY:f[lY"nRj]@]j_#_OC?0TZGMjsblhJf!R\@QfKY
+biF(F,MadHD2HTG'1A<]e+SN9h+kE3+_m+hG<B$5Q4reslDE\$Mo=4n%R/%"me*)S
+)o*CGBsRj(LR/2YKNgdVdrHaVnM81)@s2DV1'fiKN<+*t(IE@He[m?uNIe>HHh0/P
+Vs(iJ[-[d;);WIYl<M6]c`tb85HM"N(hS*?.%9GT"#-mlCCaOgCE*cBkT<mX*Xjj<
+X*83+$*W_^o8A0;09&f^h6,&p+JiE9-#+\?a-Z0O@X`*<T=X,%H7CDrh7D^@'ApV7
+Esi&>Hj@i>OhQGKcb>#4-h"4BFYLYF"fZ_7:d)C50[25rqrYiQn,;O;n)mecDM/D_
+.\ICE@2.9d]0SfZU5V'\a#)%_G[X=];H^%d3#1nc:ol`PF-G8C$lg+nkT*t>Rbeo5
+hV[_6?1H_jL?'m8!XfV*Vm6;%S0BCAHp^(,.Y9BS6rlhsN<7,9+FATl#iEiDc_m6&
+dCdlF46H#A?4N9.%/T\9hs\8cg-)"i62m^PgW2Q09kpC!6CT8`M,ReF-nF5.;V;8,
+&pBFO-_[c(XI(h6+.1VF)p=,%rPF0ERd:XO"gZ0LeoHQ4Dko"1Q3U\J/#J9QFW`QE
+FSQ@D;-jmtbGi;;ShT'!YG[K!-@IjVp89`kiP:b.d+f8'jq-&bL06`;lKIjFE3<Ms
+?ie])0UP?0.67?8R.Z)XGBk@j<I\\21K[0IeV3`,EE<B,Et(G]=bAZW*L]TBnI6NH
+gA3fA4fYEu_&tghK>#0H/1k&<V1\O3g>Xu>2j!ELs'bXq]Xp5NK>bAJ9Q]*5EJ3$5
+A.j0@61l,(WK76K)"34QSJ-2h;'H3I8PiTo7"D1$M9HRc_C6)Tg&!96le*]nE>G7q
+URMmYoZeS+J%,0QS%b@j4]k1ChOLJWM%+=Hm:0'rR5suJ4P)K1)5]jgoOck!GiWD!
+@?s',`QKUdH&ta&LgDt?:S[sNAWu%)Hdo[.+pkHY8b8Ff3r6%4%!9IqVh:OC=]G_7
+#g9bQ+,VRs@M3!$NMr\Qj0U5IY^HMjR6`j8hI#6SoLZ5rYgCe1,Q;<`hd?iLns_oc
+rMp>+Z*X$aG2I;O$X+-`9kKea6XGJ&c;Y5u'5^/q4]WbAg,+5i[oA,=(CUZ:M;EhY
+TJ2(@Y(Z/$m!,/d[r.qe'k8i.Pe:EV]^Su^M[!J"ME@>N.m'oV5ao-Um2>)d9CVP3
+Y/jFj"X`e[Ssc91StBZ"aVEG%c9/F-9g@4pe4Y.(cR/r2/br04(-/%bSROD!MMi*C
+:9ai[T2TQ.a<;#tEV,=.,aIAl\CA+u1't.A:%O9/hk'W?h2e)@X+NRV.GJ$u:Dl$=
+,t4/V#d7o=KUZr.mV>Zf0$.(^5uq9AF*+DkfYIsM:W]Ro]S5YL'fKi]Hs+Ek6s5Rg
+W_Lo'K/39>Ma!BRDGG=d(;gr2>"EY^1*F-LCE\@:"t`g%4M;N1<!MKgY\Tqm7E^Lr
+8=^gY[#j?-K>m`bh7&Mf:Zj`Z!o-;p6AAXdTU"*pZk2^LKn,jGL?Due&$qHdL0;Zt
+G?6gg\gelJ0$eZ]BnW5IG''0/$a#gt<gj8Cof-"+%VgaYiL>$2'N%&AFP`'@7nn5P
+Ki@F%N)=S15+6]7YaRFq6^NF:\*()ApNpi9Aj<30[u$Aq'.mt]IW)_m^BRr!-@sd/
+PJIX]#9m>/J7eKR$>8f$L*QA,k<3tC_b[Dl]DQ,78,qkkJ*cMakJQcFcqqQC,UL1p
+0+p2i*Wq,Aa1#Cde+(K;cX6\HbE%.&^46*I-N&:Cd.kl;^V'O0O>/:\a1'sDijX.L
+ki'kVT0M0s`Up@Kr8[\;J%gAi/"qI,J,d0cB2(fWs!F?;qL!eULYl^&DE1\EkURO!
+M=]?.^E<IEG51M+`/#2U~>
+endstream
+endobj
+97 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/F1 19 0 R
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+99 0 obj
+<<
+/Length 2712
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZD/99\DE&\dR4kU'',Ua6")4gc)mm?D[ODUKLa,"CRZ,%ZoUbp4&(p&NnKLmGR:
+*:2`oYA4IH)uY55rV^@%H'?J*I.K*$f8S$Cokt#3<;dp$l]BFOVcbuDbWc'o+)HDi
+eTnKn"jpL9CgL`u9[o!F&$t1!=VmF%d$IUuihcKmSHU,3Nj3[HL*8A&)h"(CFft^"
+='\f_LJ(n]<SR0BoB/i*R]Z-Sb]tTnff&W9H!'T)nHt"\eZ3bmcgnb/SSPc8^Jk*C
+E)cCVOBkf7p<1!^+'(_#p9O-=e]@"'bL/sqmAj/_2%NKP^X&,c^*VNAcsP#Oi@+)G
+deH2E8YT$cRb9&1Nnu_K?FDN4#^bds?r\,[p=1;_2$d%9dVR3r5j'UK[**M0)eDpF
+Dg9A%+RGAW1gN^?;`0GY!:kg=!G^[1fp_-!!^I$ZUT[j__`76JSm'><@t3tP8J7M"
+TPJ.Rja5Mg<HE]OMIOnK^,TQ(#3="G3u,/NDZ+uA!H/\\SR(Hdc^P43.uKKOgKj@V
+:-YHW:+8a//Fc\-QeIo1\?/0=EZ:W4IAf'@BlbVY7%*Mmn*lflZP%P:?Wdl<(>kK(
+6t@?fd6CoK]NgmgW1YBPF'ld:34DmDllP)57T/2P?ka"/cm;uRmT#6\hdiufg-5Y@
+]2eK,8j%iM$\+Yhl"R:!J9nKi=\tA8oqS\m+-""r$!';f1o\eUp<<ar_iq(\Uj<)j
+1nbV_Vmb7p`neR`?*H#Na^(ntQCq/%DTl9n#:72mTXnKU$(A'TnY$6'q'I;(5'@G`
+3^VoWMq:_g;cerHFV8GLl<CQA.@6jb#JF^3iccJ\'B+a[^E6mJPihZQTja#V.<n!V
+[@Be(SbgrJ?XT'!4'@fnf%VZ.[dG3@&n5a,qV)f)LW'<D<\-jKYm9(gRk3.PW024f
+.kUYX\UCBumW>@U/,J@\k@h;>Js6l-=(@iU-I&-Jc?Z:&W!9E>CdVsc(Qq2@`B.TF
+(]!-9PDBnN@R>qH&Og]S`@jCj;fSN55#;7R\ZJCbj2WO2*]\9WU2q1qr1iWUoOlqQ
+l"g"3.CJWdVH',nGPQ0e$Kmr:c@p8^Z%Sd=Mk*^VTr0N5%DKZR/?>K3(@IB\;fG/Z
+5UJjBfajEEp)9"RLgZ\"d2)Fp;@'?`8Gc0"/TVg6h;U<)XdZOnbuQ%m2-]R,lFl>j
+';4)4!$l3LouT1nD(M>G-T:XUIKHsPj!6NHO[d9#<)Ma6/QaDLi[%3NpjibG8ib#0
+!QBIIor;[tGi_b"fbFd?E^*-uL:9m@_;N,I5'-57?AqY;2eE`aKchc8A-l?>Sm+!@
+7p=[XhUe]te\iV/:2q-\/Qg:-I[P4PfpcBhYo-OO;I-?^BH_D);kfVn?=^C/p@jB6
+'iq;\qa72#6"$]Gk$u3o?l2N_iA<1I_j$+.[0#,J(("usdOMARf,b`e0fPUkVI8cu
+crl!c"?AI5@-:+d3"PHNfsjgA-qcjX_Dh9ic>Ne6)cod*Reu'R-#[(3lhU,mp#8U>
+.5auF1/*fLQ^T6kRit(#"J7_kZO<cZ:#o@q^#S1B6E!Lk^TF*9Y>=I#0I4d.`=ifW
+W3Mhh8OV<gc`I+!RD"'-)%N6sJcmk'#qfpEFhO<\3o^X<!a'o\YQh8T=9IBb31HL@
+r_"n>feg$r7ftJj(is>eVqX/D1o4&uVpXQ.]j[W,E"EgCiFF&LI*-BNom`HuSNO;u
+-s&eNI(h3\^n].;2sPZV&S1Ro@1NmV(XKMUX+*`oA#ZDh.t/i8rGmO56OS%e8qD(_
+`nW+2\%Vm"ed)Lbs"[#OU@Wl8N29f\1@"Z%@c,`Dg<oSO.MRns`Bl6S=BKIpW>nFL
+\IH9>qr6$s4#$`niUL.R<j]36Ec]pYEOCB5c/DP:]&K$9E%T[7O'agU_TjlS>"]A$
+A=kb>C83boZYY_/0;50BZt?(rE."]#Fu&6/dG,76_jTHF'&a1REOFKd<Ja7[*$S,a
+JfGISq,!S*A.:$.rh?Y,gh.&sJREkS75Pu-(+@]f#2QkbpV&oCXl4-BaisSf$:"/\
+G`,Z+:ksEO:?U=2<&`p6/FoiL'(XE?d1$-jebD=QK1q100%)h:6$&#A"AoW`^3&ba
+hIDr2fIQ.-`je0)`tA1W15NKFBAGr?N;+??W_f\?R_bO5Hd]4-[+I*Z0(oRg8b`2F
+d'X[CM]rIU25&S%0Csk(jIcBE8Z]6tNZ`\lH&sG83StjH9&\X`Wi2saWu,D.!VLSr
+EQG*A<KWTm]%2E&a=2Hs?Z9WhDK._s)IR1[J4+%[=[H.59ueG#"V"UI$W1h5ZA/1o
+?16IA4=a/iQ*@-AOK;%*,<C`QUo38H@f)hQJc*ND4-4;s(%+>\Sa(CaK-3Tk6H[8.
+5nsa&O'b),c_5!&!G#E(ns\;s-.G=P`ej&$IR^-mglb/c[YZWSB`b8ai;SBYpNr;B
+]"TX2p=7"9p=5k9Fs2cc?\G7ASR"m@L'FdTV<CpC[1%eb/o9Uq8^&^O;WE-i9)T4N
+*:qTS*c,Af4ED(T)ll2'#<c129&tF?%AItRQFc;Q(_,V*mYX"Ir!%!nah<7S30At0
+fhLt*=W:N;XTDs,WbOV>39BH@+oF/6.mad\_V8PX[ibr,JruSgn+A*O;M$Vc[1W]9
+,YMg&Op7Sjbh3Iul*f9J3ZPD'Z.S0!c&mG/26t,=X8USU:i8"LQGaFgkf:s756Cns?1[j~>
+endstream
+endobj
+100 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+102 0 obj
+<<
+/Length 2099
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:,9lo&I&A@C2n5af]6LYGi[rddXP"pA&28.'k0G5rn6V/>^MX,cL?%;nUP"mbM
+-T&'[IJ\3^!FZju5OEI`p@aMXa)8l%3a4>aM9KK_Lt3G""Y$t(\BomHQ*o0-@7<!M
+o?T#@Itj#&)'p!jShijB^TuZ3RN5F&8A[-a23C4:-h+,l9f4AAf$$'Q:3$LGPiN8I
+iHL]h*;nN=XsGM>Jl;(k(sX_#<(*A[-"b9:cQY&1!Ke",!&t,^JMkfI)*l45]V(Q$
+,n"h)"EA$/M(q0`$O1Yh\KVqdN$,Ye8Y[o,bb<=!VNIVLSL3u&2lEL>SkSD\Vn?9S
+d<l7d@*S`jMIhr!pbCRt.>JD!*0Xi"k%_JACgS],cr%*h\0+%kVQd'J>7/@M>oKGk
+RdWP>8Bhj*k4V_&N\fejZob&mi`AGu30XKTOZ="0pu"^d7OAG47(ZY0=oa^-9sEQ7
+LhHc7^nAb!_SP)u)@.Yq*s[&!/N'5!=f$eWN-/;0+:T]DdW,sk'liChQpB@Vl.cH3
+?\jr@CSmel"&2MPE@)Gf_881W$&(nfPWYD.l*fM<7?]DeSJ%N?>=r:<0af\ks%.lX
+G#JB>N`1F#/N5PS<G@WF%)^k.NZpZl`,afjbiM6E;X)fo6lJMH.rlgN-,m0[#afT$
+MO`U2^*k@,\qsaT';6-"?^)3I.&O^(-W1XH]cng:\1kFj'i@o%GH3s:X1):8c\O0c
+$\/?V1t^G6:)/o\P->S64i+J`#X@)BC43iLmr**Ph`rt`1lJ*LiR%9]DL?RG)pXhl
+=91!>.EB-XqI=rd[aiVl^_0oTNo+chCd/$;*0$>,Z!4t)*:!.cAcjt8R$D(*nDdb:
+qkIHQ#<2V#)t]1kph]9eI(V@K?XM+:.EBF(m!Uqi)o;'2VtT+tXUj$3eVuJS$0$<D
+eW-41UKfjY*(:ao`hXoCR'NB2@,ZOi<r9Tli$u1tR,.Vprak!:Heab1Lu>$FG&H(*
+l*8-c:lc&!4GP\J5iVXhg!\1-E2nDhm2;5e&lemrVl-D<j#lGKP:0t#U8]2[k=7rP
+i32=oqB^]SH[%mpb(nl*[UWO5:.(>1`jn?3XEWfW]>_h]HtY"MP_bgkBJV#Z8(77S
+-\mlIZ2)+U*5KoiVYc9U'uFHo09'Ira/?Q7qZ=4+/Xr!EkPBS1=hq`:QQ-0l"dAr5
+=tkR@e?E33reDAVDA<BWf+7O;AYNoi$^@P(Z&*3/PA"[8VV55plL(W#*@_TUedKDX
+*[)rSd,!@Hm].i3[[i*bE>0?8pXh.^MBn/`A,Lu!a^Y`hcZj-TY3HX<5nA]l/q%c%
+C$@G+h>[6E^P.2P7-n9N:af]*dT(lFPaeIA*)013;Q=8DG.G23[#,=)Wc_U1Wa"#b
+YXsm>>hYl'@T*scl_'&NUJB\P%6"u2K/RUE]U\Q"<Hi;+-\6Q)3;e;]*c1,7;u<k7
+T\N;@4O(6@,K3$%@^/t^"&@%BF^4U33AJ79!/m=o;><IA#Gb+eX_:(3Zsidi=50`;
+q!U8b[c8naI\*>BF7`WpM(fITFl%%hpHj-683i@_+Qs`H&0nG66/ZaSl98H4O4>[F
+Bb,^&B9aiX[k?G3EXcHLh<9Qd[EU.G9_-BR(T&%ZpU]mggq*cSaiK36EB<(A^%6GU
+><P8"<K8`'dmP>T;'F(7I&5="RE%WKNdfCqPL6;Bs3%U*P7k%3LM7sEFb">Rr@]S\
+G2B&&hWhEfH(O6FDWiNrl;71,!MSP3@:ohpLDe>Mf'_/Qn-Gu(2a\Z`22ZU#38t-/
+0Zf#Tom>\i4Iia2A(t1i((]$g*hOY4pf8j@:bo\d:ICg@dm=FrQ@lG7+$&cJi`2]<
+C<N47`/@uX43bbjK4C*C#E$ub#Lh<`Ab7V?@A7T4QongL-%nhBFL4Vq1!mB#L%PdL
+L7G>sjb"Bik$e;on&p7qC1uP$0)OSQ4pg&C=&u[e4LnW[g'7tEeTiQuCL&s-43o9u
+;u]08$-/V;R]>c$QU@$1%/t0V5ita,<i&UQHil7rc#nZ/3LX?gOJ_P^='Id6%*-FX
+oWn.,91-l5)dV?-pH?0mLN;QekXK.k1VQl"_&si.X8`D)s$(rb~>
+endstream
+endobj
+103 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+105 0 obj
+<<
+/Length 1396
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR4a`?-*&A@ZcGU$dXctq@9;@]\%Em#c=&Nh098AU#\(''(e;YISH#.'s-Mo8.I
+LpOb^If6jUq.m?`LtEWLUZ2\AR&go"h=^gDr!ss+#4(JaL"<0P_]OBeor7'Q8*OcX
+eQqq3S=@*j:RtE`D;KA7S`P(Cf+l:KFV$m,K13P3$eNr&8aM,5'Cm6U^-,f&Zn(E6
+lnB'(/),;qlL)VPTn0]dW:b5fl=IBO(B<N;.IbkcQ+Z<,:Oj(cSoe6o3ncdLfD&+3
+<GVVkO#r5)[)SI=lYaIDenJ%)UK/43OXZpH$7Fii##1!AZ,[;-P*ZJpp%=o`:rb2V
+@aG7Ups^SPBBLRdXYc2\"65tj$!/*n1e-F%Gl'ji+sWobYp6)Ej+(gHcUF8J6lQZ^
+LbQ.ZmIkNqq+U'^eoejX\k80hGD%`=Sp7lH2YY!t0G#5]`HR**423o"BUS^UA;E=a
+G`W[o$T,KB>B:"bLd0(8l4]KELTVe[p?UV6=j+uH=2KJg(,@_C<KMNo@s&r0bc$e/
+m!G>o:DW:ihR:P*pWE)TgAuD7'/W8p#)V>'IZ\*V0NBlXg_#o!=HE=6<#>@Gd<=nH
+A6S4:KqUW%@qbH$dT"X>C6d_R/EJ1EYaN-lT2tFPbM9()6%)CB9Gf[tUQQ;rI#h"0
+cUL_ha.K7R<!)B6RMZ^P[sJU+O;BJaUd7`F?FCe30Z=KCn1B-**T^"GnNt>m(^Q7:
+ZO>/[$b-4tT:FgORHbB_B\BkGVY0aZ(7Y>!>mWWq0?u8Xo`YcefdUiXZb/LN49V><
+Ra@US("GqmNdq-'9U6c#LK;:?kY"WVL=a2<J[lps;*TRe*0#&]=K&%iN&kP@G@"$<
+)ln!dll&ua#2L'Sps74KS^]@6]!6#u(6@`S3(7D&a+9JGl;e"c@(I0-5#F3!A+tU4
+RH$?qM!0AGcJt`^-g<Rl\6_[C0\5@0e6oWi[Br=a+,7doK.>lm1QRsKpO;_FZ(8,n
+0mZfh6NT/a)h8p\.Y<YP?e6Qc^a=I?C5mQigTY,Ws&XKlKsF.HCY/4lJRWeMVd.16
+a5o'Qpd+Li];Eg8?E\T8/g69`aQ"Wu.F]X)L4"ME.M]T,h+!G2hg)UW`ht3R^2*Ul
+k[M7jUI,#KB:c/$<'(VGel7Q?,pP[?AmD]JWe4RCYQh'0bVliHL&%;oWjPZ)I+BQE
+h<J:<g@Nb^AS,WKrtP9/I[OWYB8sO-%kp5paW_gQq1HRcoqffG91IVG3>EIq`Y#R`
+dWA'H&HOTWoSG9/?Y0[>.-[RB`)ZJI0[I[!-H@Xg;C6nJlu?%O1PAZ<`iLVPe"TD'
+#_e$).YDW"3]M5.1;B4@&<<(-'K;D%M*")[pO;]Wo%,u]7o=s)'W!Qd,S130O&eIM
+!+E7<OT~>
+endstream
+endobj
+106 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+108 0 obj
+<<
+/Length 5072
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wj<9lJh.&\ZMoi,KH!FFR;?+NP^abo0\,LWp1I@C6>+Q=VX)P#imK#_M-HkIkUg
+aVg5l.+Z5``F?1MFk*Nohd('T?0':S(EYT5\#qO^44dh"pVh9sPhrq<@^e)JmH37%
+T5Aeaa7"rPc1_/!j7CsCD]A!dhR`KRk-(9A^M%t<Om9+&p'(Jr_tM:QAmZVj+15[)
+GPg@hq;=[\V*=]dHb"S$o'gVmE-lcrXYFF7[6OQ]il=bAG'Nh?Y9np;9Jc'S5$pHY
+4l>acO1t#Sq<8L'E0KUWrVl@]2tA_OC]"%.-aI/_?U*sBIi1.9XuUo.K9a<[jhZ8H
+6,^tiR\sU,_VFPKbO`HO-OoaE0"C^=!93$o""7Cm_nXqNHD_TBB^!_NcaJ$TF>JYX
+K-"'cXr\X%mV+]e)R6X"0e00W5!P(SlE8V7jKs4tFp@[qYl1fNE5Zf>EqQk)nV;R;
+g\6SY3J_;Ep$(o?k4\')o-Z^9-hD,eXSD]j%sOCGqFZ1o)[Q0.lq_q@lN07frUfWl
+O,@$.j3I\<gtpKAr';\.RC3ajT6e)ZqCkAU;I51Knr/(kH(;YHmt5lI31S_Y@+l\"
+LZXLZN#iZ/@IS@e<Q4un]A"u72t[O%2Y=91kl0&+?A:jlE+*,Je"%"fmB:]*n&IT*
+YHOcZO8^f$jK2\DCK,esfGJ1[^VA[YmRR3MXY[X^WVbCPe,?EGj]BoZ^n\MZo/h2o
+,ZC*8BCI84cg)TZGJ+)#"CtPj*=]_!mpV=77b:?E\JLL;F84YREIEg]O?U4c8*E;m
+=N<VAF'=@U+\DIKTk1-f<,rB,SgDqm_bGQ?1G*oD0?NK+-C#mDT/SuO^'!-h@-[uB
+THJQ$Hl"[,CrR@_OW8[cD.QuO4l%<?m5mB0r<e!S(e*\1[YQ+El&.-a(tU-B/I=TQ
+QIoF1]#g]Il@:`72UhMKj%JWbQn5ro:aDT>VjR$k/U14dNC1la/]$*pNdFkn"!.Z^
+'^U]Ml"pa<c,qX@W5i$:*;bQK+>3@##j'X-KHS[`5Z"Pus,Q"/W9o]9c.kh,V"DL0
+*n91AlF\ehRIEIC5[s$4a$MnK/D,SX@GGP,=.`<m`T?`/Qe_HP(1#M\n@W;EMDTIS
+>m80:!f.XlTM9b.dE5:L3?W=or(OM_5/AUs?XcKa"XFL4+#aV7'7?<QR34!gnMmsb
+$Xq$tq%Gub=Aa[N9:F!uem)&;V-;NUQ[Dg6E<&BIZcAWe%'_/\_S\fDCWq?;!"j5u
+35JqLa.QL(R%^&P,a="dLG5tE&#$cK3qEMfA#Z4-&p!8`Bb(<5_'HB1#C6:;M1c#R
+SQo=fM>BZ(8@$E&X#YdU$b7TF]2-\6o@%`u@]rTnPBp<cb5qZ0]6-D<'jX$HBX+L0
+,k:*WN0]e8FbOYP2'?l=)?`*IJEr>+fHKRMdi)@sZbCEmfr68D42q;O*(hLlol1UF
+HpDfK73AL1r5*(U6jqrR3YNPN/:2\L.3K*BFg_gscaZ%^dU/Ma2t_oUECLJ]+@s)`
+h/,;pGI',<%N1o@mW"4-+&/2DGI'uEgYs'\RkD/+mXe*nDYaM+Ma">+GJFT`]EQ3m
+hQ1IR"$`5>8Z$[*lnf,[-UA]4A0@%601/O/kjm)GL5BUQ0#&TNB]2flrIP*'f%o7O
+9/,ZqdBhrnL.bY@=b?if__0'lYg0qUTm9IrB3bN<.1-BA6)=WX8kD)a:7bB$08:Hu
+P#_mSiSd*$+c&`=>UpD;=O3]+Ta2EFed$$l#VWD=+^nj,(;XV&dYrTd:B3\UNG4O6
+BN>SM[kE&lbW$"n_kPHq?5*YZ?Q"_[2n2VV16>-[[<JmPm?CHWP+4OtMW+dsR!<r,
+<-060p,Q.q<.:V_,.L0/#]1n!S9YAcU?!3bUI,b]oZs?EN0G@0*pl5YeVBkSXn[G>
+.,](,Pa?f)TmlB)377alrSWl9Z\bfNqU/Om?5[M)Bes/dh;g9Z38jC!YI4XIOc!CU
+*kleEoF=Y0)qR'AWr?MO:+_'0ftm_Q:aacEoO/Xkq]Kml\o:bRE`n#++u"(^#R_%A
+Dc'UJ5p\=1F<)+5i!2(Y?jc=f4MSsh-7N,kKdD[_@eI/*,[X_dIDh2/Bk/dG-\in^
+4qVqTb+e08XE_E=[d:@u>1L;_)kmWsW#@F(*nopQ+0_b?'2`OhaleqXA\ZQ'P[n\\
+=rfPBSC'NWU?KPHBRcg+d!hPj96.A!DeOH'#1B+].T^7pqCl$7c_7;m0O!Tr+5e;b
+*0"CSjV>ocbG=@YU*KrcBC%pjfV-"eWBjq>.F@T$LkHO%']r494Aak%?#X?.]"VM)
+_h2".NL"qaM,^a1?-6qH'S*LQZR4CW=Wo'#>m@3gSC@^JY)L65Opj3K6IHc.U",Ng
+G,hg`Ti=VB:gB#+5HFkkISncl*c,Le<H*M*RFW,T_s&+qQCV2IAUb-knDJ.VQj[%P
+YP>=5Zhen],VOSs+N+tU3=)@3#<suW3?bF'85<<#(0bG(J]M%e9hZ'!KRidPjH0G>
+N)\]c'@fl"Q,m*,#(/M7X4!B6^0)eCDK/?L:EO3"ZB%mH?!poZH%kPHZfBf=IPs:a
+XM[c51KX_-VbEA3Y9bj.2;WKIb4Gs!.G7]/c3>?t'VQ_LB3TLMNQY\=XGR/k*Drla
+^#eaF$:9l2)RLD_)dakH?Kj<)80D3(EPN0:?mtAs!N3&t!N0)Sp`a13?H.,<T[PAQ
+[S2lVMdm`Gki-=^?>ukG%Xm&1E9oppJ)=q]"'+EHL$1.f;iAb\<W7*Hq+(2KXW^5s
+1<@[L`W+C9@up\1?V?[%V&&2qWZ4jCGn$T2H45Mk5nHBs)+rGE;&ZKj_f;H@8p+C"
+V0Z\*W?l7_*Qo#b^f/r\V7PReAOQ2Qe`mO7[:HZj7!i%:V[ZB(`.`K=2I2%IO[NW3
+'!eTOj?iKh!9os\eIU*[9Zi=Z&WN06J4+[`340=8!2@?P"LjKpl)kdF:5_p<KdN+J
+A_&Oe&-I0H%Y\9NAu"rOCZ%CME2Qi+n.g`\SMa^p!Q&.>7S-IT#QkYV^?L4)aIMHX
+V5gXBO&r1e_)u?XM>W)WK*Md@1<N%/+`J"RRF)KMD;ZjV!0@4K1^>pfoO_VDRT!Fb
+'dEq)AUH+pg.l9.&XfbP7b/B9/3C7-B(li=qD+EIdo/Mo8"CY:>k$Q72HM))p/u1e
+!k`g75W^06:)AT%_H<f?oE3]71?rB>('GFdqH,kQ[^PF1iLM^lWZ2e].j+AYO.0Pj
+[^7_?W]i>N&ghf..kXgCM[-i80D`>UNtF2gjXl`\k[T&cKJFfK1/'(CC4dfU0[a=f
+*.r>7IhXQrot,f!73P)e$;nduTnT5b+bZSUN-qOB"5KbgH>iD4&$EC!$`E%C9:&Y(
+%&QY2.Pu+^l1IJjCs`C\$1H;9gG'`6]aW>LQc\YY&JGKXm*hb9>>N[bnu0EbYXcoJ
+e%2F/,jh%3dUY]^PHkjX&1)o3&(PgX_s$3rn9@CQ$*"itp4hh+aZ9`/qsMs>8c7qC
+<Rtm4U%8NY'.JoP09-qlG`imfcuPk07,uY"e&23HnuCqkj+sE'r=qNM#<B-^YrgE=
+J=m'LTI8WK*1W!.$V79aOq6f\n)Fg@7LKKbI1g6(adIQ&+#/TbG-bna*/)>h7,nD`
+%2V]C@oUg.eudON=*Pd75DS6Ca*TMh90Q;c[,Qe[*+d+\]a"99TY[B:eSPZHc1hX=
+\;qK%.\jfK%V^fk"V$0!*^o--F@%g;`-eI(Lb"d-0j(;!Qa752c'pktm]jjnq)Y/3
+rhpsH:[_TFAL!k1IG;)gVfG-RK'VL&/Hg,DN293=!NF/ZpDT\T@je*+"Z?jY^>)\u
+>JcU@\T,)Hm9D3X5:Upn%jH(RAM=QiJ=9FJNiFO4%$km"Z;:qNRm!k@EUiFP,R$,,
+plJp2]:12f._N#>oP<^WSn9JkMp#b%WR=KOnqsJ5"r*eM7"H0qbDdr=lA]8(p>@VQ
+eUu!r`\Nq$JN:_3omdgGk@cSPVAPhW>"Ft=iVXa`@>E!p7q*p7pfX67h80b;Bc65;
+Qg2j]]3$U_9k&;19G;M0)r4bk_M(msZZ5Oc\*_D#=Z(?5e(2>V9PuSN5rEloO@aSF
+oYN^o#aUfCP>DW^Z8l%Ei\Kf7$;,&lOiCCJ\pXJ<U>rp&&R7nm&*%hUb_%-oGbtM`
+Ro'ROi>t90L:m\;nlQpKdSqPSJa<*X=b$YelXgYS[i!:rRZXU8*Iqin$W*[2cig@b
+l.)Qpr%GqsDanOk(4*U.DfuNB$?($Bi:8FXPZU]JHi?\@U.7A(MLd0;;#olibW&"&
+`^+mN"hH[!;EUo5@P!.GW3>6nLkeB>+Bo8?QU.qh$dFhtXR:'GD^e[17BdX;5M^]S
+P=%!jlA.e,WO+o5:4p.*&(=?B9NnADd[?n2,dJ/bBVZ'UK?5^"'e0g4iiH%7RFQ>>
+(bAmfRK[?G*nL(q>,mElA:(rQp/7^mhN\R]$0*Vuctbu._XbNATS7#:U<BjYc7Bm4
+e:Yg^_dGtS/-^_InMh_p)M;URSQ]^`lsY$tX0>5/X,[j&P&A;\L-GHKm`,A$Q883E
+U[CH*8\R/AP[N<Oj:6C8;,je**=!RZ)\CNV;QpHnm16j1-NqWKKMW&u]6RN9j#ZTt
+g;r@Bi]BU42RBBQTa\2s5=;.qE"`\)#_j)60Yqdb41/HqM$K;MN"1&lg28\$3Ef@E
+`F-6oSQKQklsY$tlaR&-"0l`>(Z#0S#GCtLZ/9FsW.t131Js\FbZ28H_/*.(R-gmY
+Q$$!'LASW.O?"F<Cf3e>C*?`cLXePjo&6oHiGYU22CR5XLSsqXlg5'TNpYW!rpj/c
+Bfj1+C(tmdIJA3iqsO@9@Jd88%Y+6CEVf(]bL<'cdAqj`S::;;Z]D=-al:e;Y[(#Y
+D^'[9IP!d-M`CLlnGM`jp$goh[kp!Q>nd\6>=\kam_A-b-bA4A=P!QI^IZku_-6]n
+]@1csj5j_0$\`hR5"`2cmDo0Kg&Ki"7]0>$cI_7>mO77)p'3<tGrrh,+TGU$Ni2j%
+h1*bKh>SL=rqWb496f+="(*,8SOS2iA5K$]`c``PhTP'Urr=5hgR\~>
+endstream
+endobj
+109 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/F1 19 0 R
+/T4 20 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+112 0 obj
+<<
+/Length 4063
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"$bDtW(&\Rj>oZ_-DeO*C-$(oe\I]Q<L<^*p>W"r#=4VXkAWR_@-O*=T9A[54^
+?tKTFMQCH$Ajk]e2G[[<`H1mgff^X"WHq=ph_dN]mU&l,-0fbsHqL"):LF,#>Pc")
+h",.T[/0T+:9tsJ2ZJ-H<W8:08a<0jIX,,YDuO<OA8emQ'41Z#o\8dr[6m1SY?s16
+DRqIcjB7bU+8!;Dl".!Q9$-AR\%eR&b?@pFf?Ti\4BhS@lsB\'q57Gl_DNh"]!K!d
+2HL'rEW9=9<`cP;=[f6:?aZ*PVY9?$#N"H&=aKCW$SMrP9PqQ5GX,p<rRpO_mQA"W
+e3>g6g5bP*ITZ,_9\7Zs1S*aqG+PE9L8Rt^`LGo3KB\lND>j_>XPG3(q)$V%^gERS
+G2N7H[Edun")fr`)+*8ZB=SMV\Q&[<Wf5uj)?6ujj"LOtR0`P+7``b0*b`.`0XgT3
+#iX'd,bAK#N?CYhGgR%1NPr"tKsq:C2OAToE4@HO-"od&_h9kb).EhDdL5B&(recB
+&rDL4F[P++.a?ugq,$&Z-SrWe<)U_g?%cV_9Q%VrAXRNl.!Y^s.0h)TGl+*Yc*e/r
+N+cN17%6P*i?:".>h9FhZ`[cE0,)&NDpcr%A:t(d/Jnn$/hIr^QXMRN/[=q4.fmg@
+KS8r0Ci'Gc*MW`k=1Q7#W<Bqk&Y*4ka_aAm%b'4EU;9q$%]9obYNW'[D.?r3pkl5]
+_`PK_e4ZK;Zc.c@enPB<G/1_cELI!o]s"T:V3jWP^,US9Je,>9V=NK6qlPp^l.R!V
+S0g["M/]:ggYqAEb^=LC-tGN/R@]2i67bjso#=[!49<HD'9PXc/D'i%^e*/*Fl,>c
+Sh8MCK101B:'gJ"e@uc8l1RuN+8jgGbN(<[!#uJDi"W76hV^Z:"&(]NEbKI&c:bFR
++.`Rr/gY=p@jmH-/'j<e6JK,N*hdW<oH#CXBP>l7(RVX@==Hu8ALZ?4Z_.#tjAX]k
+4q;sNo.eLbJRH2))t."$=sZQ=R)`uJWJ(MGP`/_e7*)FhJ?5ufETbR5\+ZTiM;h0Z
+">&&!)V6]`T8Mp&83[].NKpPTXarV#67hreE5WE$<1$K'3hh=V.+0B!l^(^0(\DCc
+e=nlu\L;[!RqVHkSPE't6keh1WF4[+2_Ta>F/AqaM>3WJ]1V>j&#@K1Ug[$2\.gA>
+8d@F%>*TZ.T=S`%P0pX_'P5OVq;8T;B7A_'-X<>ri`@c0G<TfOFoh]fGlC*NdRoHe
+;NE'?W'Z&N"mPs3#?2H*HZ=Xsa=SbWp7jWCYK6G>I94Bn:q`USPjaVV4Da@q_YMhc
++l>\:$OH,Z2uo)NdO^ZTAeW+a(,8'/q\/*;e%aiK;MhIt'a%-D=Mu^N)Eu<DF=u(L
+/8cVQGX73crgRuHNp'?]QtO&s+m(DEP=<F_;Eh2Fhii)n9q=MKU*:)fd<rWI5`f+0
+P+^6EOW60MhqEp#A?GIW1RJM[)6"!K5UiZ>Qc%_j1M5=2k`mXCmNAf:W6mG[b9Mi0
+E:+W:N#P[A]HqNDYs!;PUk'XS=WL#43M/?giZ"aK7g9r6fYn*!T*"uf7>e/X[<1LO
+^m.)M;!:"!"U.YP;n1/@#p?7b@<,RqGdFg'*#VVrLB+A+8p79:H6[j%nEn'\Uq*E?
+cs/8$A?m>/CUs[R`eO_pV,#'6h4.!%odKg(H:U1HOCsW#aY]$VY[Fd,f5Z8Okq2ZR
+N#D@=ItMW;8c[^Jjda<PGj<WWlFMps_$"W#1OSN(7X`)3n%HN3&nin\H2V.uCd>@:
+]ct9%nKal-CI.X\3:o_!$^QXbO&KJ&E39fRCT*=*$jbN..#q<nDb$j/8gGk^6!2`l
+3\?V1EDYh?_I1?QV8Zo,\<*/MBct00hFcLRA?%Di)t;0t((<cAUfp=Z4!;E6D*#3S
+'X>mdJ6-c>`",UbaJsfmi!Rtb"Zto%$8JJEqb<bSq76$bjipJlCe4;r(5Q70S*0k/
+(@[XVSY;RkgZS\EE\2NhGUcs+*5)qGL5[Xmi9$-U74-K0o(`?(-;m9u#ccgW(Ytn2
+0d[/njfHTS?6feJRb^&$1%(pW;P@c$SIroGVX$'COCXnsJI/Boep(JQ%*=00r!o:V
+nX1!#d@03T]Df=D%-HE#OE.eHj%SVLF8@k;o/Eo@6)Tnt)1g*Wjf5nXlsRl)g%m<6
+eHqD"j<l3[TaT/Xl+o85WJd9XLqCcCkcfJ4BdrUt3T&8>/i"D1?,h&2RRq^?q'ckY
+Puf/=='DSE$%+Z.@.rAKQ*BWRHOBc4bJlR7kKV;[&*.(Y]:/oQa*DjIi?\tH-VFq@
+e,G0DH-=FtD!f>9U*IElYaqP)/AOAp9\-Xj-8mjq>^T8c.4cb";Ac`BNLcJ^5n'h%
+nO!)oA]#3##"mmh`NiH9>N:2K&o7g5QL1&8$A:IdlG]SiVbS;')U@&Ur4PkSUU?)K
+U`Ll(Ok+<0IMrVS7lDq4iM`+<((Wb_b1fbr35sLe$Qa$gg`7?U'f\mqBbmACEadD9
+=-TtKo>JgJ-p)A?^6el_BgDc@!QUbcY/(mO7'J;VgrV;@)FL3?;A2nX,Y)[lYhRCn
+)j;baJu1)c2PH#3NnR^pHA_IIrWRp:1r78r\,P.<)dL57IKffaD&4anhiq7jfpP-^
+DB:F?j9q2U)RlftWK@TTVO(g.B=mnD.h[N<Ks;f0cXTC5WWh!*SGD!P^p]r!eVa`@
+HG&TVRmKA\%$IK0lqubHUB`EdZ[]cP5,3-rep9gP?rp@(na]GK*$.Ula=<&8rG/Ll
+FWu>Cpnd`!5J'5+L$=ACl,E"CG"7Wq\4V.!ae"G!@t6WodtNp%$t?G'#MYdrEdPON
+JrVT8"@]Y`CL7_#f/Rp-=i9[nE\RFMY![=@#qNuc[C"c:n+d6IMaNu#0;=KQ6#u9[
+HO);\OPhGVgI'e6Qh,Ce=HP]Qf:Fr(Eg(k]o'Qta,mrElN+beRVnln?gl;QlO=>AF
+SJY1;+qbju'<7'j(U]'uU2R9FbILH`@]C$XgX$CeWl7`")dR6V2C'QV\a$&0R(DZD
+11>?BaWb@h,n@DoF^NsUN'O,E*Q+C0d;e'RG\c^d$0Z@_>P+h5J*1hfM-RSJNJQR1
+qf1K]"6`l?S9PE<eABsj!;S]WV#UTS91`GZanP7(q1op!F'B8Hh'WUD'g]SDrF5S4
+]kKr8M_qUsqSB:fh]KB%4l,H$Sl+Rdm(-/l/C@aL;pj8Wr'HnNg4rcj2WZWHK@Bs?
+Ubi)q$;>,"$7,s)`[Ie>cso3S)')<FNT&YMPQYuD^_N8ddGG6F7#B/0k.3839=d1i
+EkM'lGu@2mrV^P"NbF8gB]'Mc36/jZ<fgu]>YM*]9'FFL]5+p&]Q.q+7^O*q(XW_Y
+/;pP<o;:O2LSh+MV6%Da;^V^_V@=R%Z_*i:&aG%1K?Y!UFEQmtmJ-OnLX-J>=.0hg
+aG/=Vi[i\e3kQN8B?,!/f5AJiF?K!hZJF4ckF+B)[TU+S1(?-VKrb8Jlp]!$;h]bW
+`\ihI2,kbfEWi=?Gu1WlBRN$g]BW19SRqj2PmM#\;_H/OG4=l.5.gd2e=_ZdlD8=!
+/79]6+.n>K&MIFp)*[e"Jmjc*s+&B.d2S+h1!F2.Lr+i*h,]=)U\2nJN`0su,*=ia
+ZmQ?;!Ep>Zq&1lDBoZkmk55*(jCRtV6n3ul[p:mP#Qc^phKokNO9jkg#Ohrc>T'%7
+&s,L9G^MUE3i*R85a]d&e%Y9n1mdia,l+!#V"b6AkX#$_jUaANN87`?_^i8qe\65U
+M7A6nfR_/AZm$#"7(TFciu"(eZ_s.Q-#X=MEQ?MK2k`4o)"\SbgGPX^d@teIUhMY<
+@1:s:M07d#-h3<-)VqV+RSr%dgc^aVb#p5T9/FS.B+n.A[F]5"PW+S=nMa=I<&LOB
+a9,2YKQrYe(p".6[`cT7;1?tMFO;i5og,KHk\Z!a)oC;G[ukfPaQ+?]&f5=tF!Hq1
+i64@g-m#1'7g`+P4d<G:%^ZJ%09B@doH2u'-a/2nf:p%M9V-dZ)U3XFePfWhAq;'7
+FkiA4f_<,#9fY6QNBfJ3gP.MV0:OWGfSrE~>
+endstream
+endobj
+113 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+115 0 obj
+<<
+/Length 4722
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XEL?'!aM(%&>W`?7qt@&sr3M38X4!_JT!VeA$R`^RK.k!<M+@l:^U8ogHtpEb*1
+.:/&uaV`ke[N8#QpY=)9pguRuS]WI+2-l7%M".NJs)2@rAbt;oLgkfjh2L?oLXGMH
+5-h5E:B-p28$haOmIkjh`,Rn?oqM;+rH\86O_";R*&DGBqK=]E*F2J@4(:42$N6$4
+ptMsSX89ZF\Xa(HSL4,TXd6X`,a6$,rm-$MIY9L;S=-UGV=4r?$@8)_&;E95_7;*-
+d*0N$ZG)odfYhb?5K4$PFFDj9C8(Z<nD;0PA9de[5HMG6B4@>!h#,j/'V:^ORn[$=
+I^2I^Vhr<_V`MF*8Eu=AQop]ForQj?<E"+6c/U(mnaWngX3W&c8L>*f%5:M9Dk7m)
+J&Em@qnME:j*t,NrW4J/3jJ`g/5coEY1MQ%o?F/>0=bp1rJjP7JB.P&mLi!`@tgS`
+RubQ&JiLm"b7-L82D&BQ<OmWrg-:p@ZbbP1,5%[H(I!q,]B^^)hDGKN\p&7.o>?lG
+Y2I@4Jd4eXj'AR1ML()Ma5Q9r3A#qX8-TB7e2>QgXs'8i%TDl)C7BOEC3*:o!f@N>
+/A?t^!I/q0R*?cG``LmpcIKF@X7C_A\f61g;D(ieTRXWOlh'o^YG].^K_tL)J)hlu
+aK4%SmlsM7hZ*G7=@b5ab_Vcb=d\N=hLjV.T`+5QPf'#m)a0"iYZ4`YZ7TMUm!Pq9
+Y/cmR&t^eV<mCN=X]4K;2bi9cXe/XUm9sW5)5R&JG=J0Y)ltt>mBFV0;.FGsha#F%
+QV$Su-c6"Q068ZlbifN&8_5TTas-CJm8Vcam2&4N*j#DBPA(<6?^3e4&n+YGA\YO3
+Ba^De1H#m1O"2nV_*uZ1WMK*DSJ\ir\Wf=?`Xo'(_LN^9]A)'.`6d"n#2d93V+$-h
+SW1*qisIMBSK8\J$^$*FS!eB1/qcpQHKCqC>eYumO`B"c-e_o'N]3AB]3]D;_&Ynm
+_/K89f,ND@"l[>g'0i!sD2tb+3j1j]d)SU]`ajQ;L9te`LH&g;$XW9q!)?/ECRTr3
+F:*=>aTrc.IVS#18K$#Eq"PgTg5&.O:Z'&gq_4"$Bb(Y6KS$<&E<?4K*k'mgBlI$h
+;p95\f2W9PAJq`Y?]hX%o;]7$(A8<+KTV]G%c?P.;n3.b2S02UeKQI+S#V*$aAPc7
+h<F>=&3<j)C7_9/2!/"Q`7GSgg?r"$c"M^PCGt#[bW0@!DR[S_1n^g53r"Sar($u?
+hnT+-_[VISA@q4<jnpsU,^s\1@+WUrAigDG5jB,._L2#ChTfAn\itktH^drgb7TQe
+AX8:GAfed:-1'iD])20\mft,-HMQ)M\<Ks(G8jZk65$!jl9C6@U,t[#R)>432OBKj
+eY_)&2*E9S)E*drNd&t"s)]n1_=^(Z2m`/Jr$jS98cLg.N8E?LDEhF3dHrUL5Ara`
+`VeWL5Hjp,VablKYPpA)G;oAb[Umch93UJRd[8/iA'4_7ZPV8?1OX:Zd<<q`@cl+u
+(5%\,cnEiMP/\;YbgJW%144'?>?O1he%Q2-Abh%-)nqA#hf%&Ngo^I;hKbir-84Id
+mp+]'U%`H]<mTr8O'7d?LZ"S49F[X2)EZK/HEG=+27CehT<]\IWMQS[LF,6LDr5KT
+(OLY/`@bQA2p?PMac9s:)olS\?TRLJT:alW>R]Ttp>D\1bp<t?J$:$0=TN0-QHNUB
+pk!6FF/,P_e1;b(B3F3=cL;lJ"@;\YAj.Hg-[T";Lr\[ZNG#]e>V#-:T(*2sZG%f&
+G."F\il?t7T@LDfqr]2\!^OK5cU3p=7>..S5W*3TEc7^>@,g&f.i[iqMX7S-35$1+
+;d4^@/m0&3V]cQt+Og-\9iXZQq5[;HPHujqcH7n(G"1Z+([@KYn$HO+M0:^5^AlMM
+c,osGF(=P6?(OO'0%[Q,"a>5iBP_RQX0q?%Jq\O;kBaTt2?eWR:Vf&qN]2H<.%[64
+4_#"0^p=[pU$%VgID;CULhGrs!:\ClPpG&KqS!+OQj\DKBN9!j6"WYs]J?Q'k^(68
+!`83=9'OjM&Oc&,k%LW8AuMY//_J(H[VZ3B:J&4l*F(2;]s"eM(:\8L7a&.-fLBus
+HiITdL52h3.j%_\d0kML=@U['F9W3WE"j*9?oo/RB0Jjo#"biAh:P@76dOS+%`_!$
+Es7+.#:4U0(jY"&R^/?](*6UGY?\/"c#VuTgO.DKIb3"Z.!-T*#\]]e[E9(kBlf4s
+C=o@6(EpBOY+?TC9/E*rSfMn++,P>Lfq8]Mb%Mfb1LJ>&lN%F2gN@8A>Q4g0cEn`G
+E!;dSo,sEQ2XbIG$_ADi[O(HdR[<?JKuKH*mC4VH92,1l?Ij8J6WM$UBiO]Op`9JL
+Y17%Z&..G&U6+*:B4/77)E2njSW3)D#\m]2n0*TUL*4\`lUgO_P$/Wb1=ZiLaU^-,
+?!38k!@u'0k$[+;YV\uYX,q5_0t+B9fPM=5>:\R79No/NC!:IpDH$7MYY3O0l>V3?
+ms@@3.ne6*\aCBC]XKfpJ`F&<NRCQRj^W,OcJuGg(\mj-2'=1l\83\)B*rH9(TB<>
+YEe`JO,uP,QQ(RI..<rS$Sf1`WU?(JoCh=C'EMf_>9&2&Q1:<`7)n-p;4?*nq7UJ2
+6drIJeKiTWTqR*32`>hR\Dnm,KbT?un"fVO751>tkO7a0,DL)<"@eE1$n)=PN'%W'
+V7S_YKValGG;s%\>D7X8Wa,Gbm?WHJ:KUjI6W'_u9hHc=@eXANdTUem"1n^a_F=!f
+m6giB!1+#[O9;>=+]>/-a+Pr=Z<'!k.2qK&)V@=&pSOefB2_.kk"hQ3p+,-Tp@CY/
+C3EoeBa_rKJa8^Wfd"5qRZ0Ya]5A[i\X1)t<fcMb07[E2Db^[JOmsi`kMA#C6j#aR
+CJ=9rEr&j.*pG,XqR9\A5lUm8eA#Y43j*r77.Gr&p?_G?,s49f)gFR6(\R6bKm6Yu
+%KL,$O'Bq+eK6M=PiM\#BUi'i7-*2R#8A3@cO=045g,!@b>GJDf.e%>Tl?Z6oY?+%
+91*\SraJT!N</t$d!c3j)(uON/.!tbp++c?"7Lk-els:haANOd!?B@rSI1;=5a.=)
+K=KtkJ\sj;%P$Y+W`KS$N#3Rad[Gq&!Z)\+]iHBaa!SXgE>18bOmQ`Ge/BR>HE'VM
+[U>+ZCoM6k%$Kc].Y-efIt6<d8cq-mY;(B#^FYFA#3I_fNWqDjOZ?cC5bikUZ<lF)
+T0S\&_@kd4[T[u:-Hm*G&9ZMH44m0Y=OP):Z+L@KHDFN]?i2#jU)Is38G[mi[>[&G
+SWd1(5tHAhrl)6CX?mn94h>m"QsRLOSfoGH8*k&$P$+#r?=Nblpk$.hkSJO/rWTrF
+6$ZWp#Ls,a)?:eU-#egEF90G'8qZ/fDETG>=,#g/ann:p9!7X=%S>)fK!bY:qf?\$
+Lh1S9<%/d21`a-CC@mT=EO:s;@Mp'$'oj!bqf&Pbs!np_5EpF3?4:sq)Mt'3rYg_Q
+DT1[>:0%cGp(Tu_eD>#Qb[/L%Kt6MM=lWFg/%cTXSoRu?RnLUZ`+Pe)Q"3arP\%l@
+8?]I#>><-^;L`UJ+JFn]*"sWlIAA)%&-ERhi=2e1Uf^S*+uJEiombPnV71:Y#61$]
+EnCH:G5U!0fP.f8MIAbG?7g@*S@GniY5S*Y8<K3C3CSmsqQNYW'_smC7?[m#MPg<H
+/LEN1I@(,N8+8W3@nBAn]3&n3*s\59>-3ZC8ulnK6[t9*E?!6%Q3hCl'O5q07W6"3
+UC2[6I=.03.K'=6*9FME\]>!=a`1rkc;cGtLB_[=5?kIMD`k!i?+?V68<kc"LnPJ<
+f@B)lc<M-TOt1%E=K43]%D^k]]'LC`"]AFV`McFDe%hlB?.JV9Xo"ng<Q5ou/+Dup
+6_h#n]b`\CcG4C^e;Dno:-Hrmi(kD;XmDMJTU@W+*+(d45+^aH-=u]7r?&Yf:?d``
+g#t$h&.:\WF"1fK>Pd.gK7#sf=GK9k-T]`gq%t";m#Jk;PPfcn9&"T.UKne0`mhBj
+O3QoGC-)0N9KEPaH[*.Ro!q4RJ?qhaqhX,A$(X2Z88JM`!1D4/)@[\=c`imkHtij8
+q%kqf*!2j"NY&2"GV.f7MF&1BNNF<Omq3[c57T6*=(i(.iNil`*J,(4fkJZg>gcgf
+W=g`fH><`s.GLhAqBb1BSG0:VJN:%X2tbrS&7JjhP3HEL.N*j8P8T1RA^T#409NFV
+n+WQ7fE*X?==d,^o?CBR<k2TW@7)>"`*uT3e/T5gWu)Urr?,T@N+ik:?_:CFQ:'Y+
+29(d2.rRQ94]WCOK[=sRK.ithSAg@Q&;Y7s;q)Nb`qZGp2-BX)V)U>&8P_AY;=JL]
+3\%6QVuBiJ"+4>3`#Ir1lO'TXjBTh/(nt4`8^QW'W5VsO#6;C'Yu#On^5'1]:a,"Q
+>b+(li*,J?%m.2c=,V<#"jGIX86e]%:Zg9+6D$,YO-=Cer7ADR;?oHe,X+.*^)2Tl
+El5.*\C`S:X)ML/-nDaoP,[tJ0O,U'I9#)70$KXB.Dj'M85o$<$jp'c4VEZ<i<HQ3
+a1$3QnrD%eq(]F"[.igEZB\k^,f"dM*PFH/@s4*#!ma.h(:&'`"rjI^CV80^7IYD:
+B\r#rR_d<g#*<Q50?kf@@Xipbh:l*Cgp6):^n(>5(LOCLAgBW/\O58oj08WW=aLVm
+INP2aJO@C$8uF5H,+W-b'<Z]^#6:/^"JG~>
+endstream
+endobj
+116 0 obj
+<<
+/ProcSet [/PDF /Text /ImageB ]
+/Font <<
+/T3 117 0 R
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+119 0 obj
+<<
+/Length 2548
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]T=`<%a&:W670FG1[;q'T]='Z&%d%X'.TF]G>Op>0bA0s(rP*?u^a)CEQZeV6G
+<_ei(#fJl<^A6pHf?;.P1-VBZbO'nO;g(Lghba>Fj?Jfu'6^[o?'(9+io6<6oOQRr
+hok\%'th,i3t2?:,UfZeq<@PMo%-<(jTRuL'XIXN&\L:l?%,o&,dlOEjjid\mg?H@
+'69\d5A"[G]QMZRjZ>fJ3q(5&dS_`aM*VtVSu!ecaip#/eS3+(]$oILn8hem\+q)Z
+=t,_$Q)`G,:iET=VLIq6UtrTd$2[o$TkR+^,?M_!)'&Tg%`F43[s3;I"@VZoh/$7k
+PW)?-HXgTE[$U':.imJA+(ApcLE<"3%o(^l%34/,js&)%PjV3gagh;np[WEkLMAR)
+;8u?ZjlTrrY;)4XN+hlC-,+",G&<Z:S/AWP?/FXJYu,k"$F;;`HWWfWeJ^imU\Y%%
+"0GEgTWm\'[</*I@k$?NcC7k(^f]k(OU@"=YKP:V83h`JBPW^9KW,>%W0G+JUHl`[
+,51KlRegu)<]dERONbI?hl4CGW-AFT?LRK<<Po-+jTpa`P]&,A4EeAAISaQ<Jj6H.
+Hu46a5kRWq?D&8f](X?:=1*$V%bU/m;n0'r8s9c:dui4m?Oj#?\@/(_&c*CX_P03&
+q&2Q5AuRr>LkZfc%tD0+1cmGdI9EqZ![BX/`\RXb5F?STbbu"SFkt,TfBPUF>_)!3
+\2FB*r"uQ:[`b^H4+LnIfqO`(kjJ&>bcgaE!lB6B93IZW@5]@OPq*!ceNM78),h4$
+I#h"H8CF8Tp@^8(H/jL)QJViOHOSR,1<XKar<'JBjnj6m:P'5Nh'oWRNY'>N6GcDm
+Ya9h[;m3?cXct!0"r>7n`.*M#UR@U6J+H0(D_e4&XpgT7'70$9bCKnHob/f]?6T<D
+4`g$Q-D!RCa0lV02?/+)r(mi`k6AKh`DNXc[>X'?q[1&c7LmC5q&cf4E_mD(n\74d
+CK9N79jsKF5C'4LAqUIl4$2UA$TX/DJTGihDWqoQ^n[+MC$MbWB@YEX;D)V[^-d)W
+@!>FrAPVlkN-g0om0sW7aT2,Dac/c[3FWO=)RRJV+nEo4>KI$<;sh"pj'USM6R#4N
+Ya1YiQ2/a(SGtjqZn!Ni6LW6g]Ef0[M_pVDEk6tJ53`Fl$l"pq%WJs-W_U;F$4UtM
+i],8V,EXG-3><8:BH+7P+!"C_09Qj`i$L5FJ[HkJ_LL`nFTTO<="L##%k2Zj,icCj
+J3no\;!Q4GP1S.bc_0GJgf'%<,beU0aL$1=e##7pM,)'3.NZnbRqc2WX]<%6M55h^
+a\kMQdH;hfmq_fjl<P*b7hm(JAr6(`F<"/uE&:I`O"<JI3fgqZ1Nc:'[N&rB;)Zk-
+5b<?KFN&***XYZFTH'_Zd#M%V6i6=<Sn/=3W.B=E;(7tb;&OZ)9Jp-<022W02Uk#6
+%^;`)q'8Bb4Ve@N*/1Y*W#2[hEXT'CRG$diaU%ng'?-V]3$ZIldJJ7LYug;H!XWBG
+(!K7SIVe"_%Va'61f%_4BM'=`9%b6GK6<+f0&k2cAYu6^r#$=Q=OWY15/.H5FYe`6
+7HBj]M$&V:r"A&fbX`RA5uZa)U6s9RPK5NPAX5M__Z_MYcf&eO?uSgR\((C[pVgTO
+U'Na=(s=%T1Lo3_;rf%:]M!+4S?#],\sD`V3iM7;d8nU.h4_Zk"fLn_9GAL[jnN&$
+^9?0N@7G*hUp8U&V=bCE3jl9BRPBZ<W)Q>=,ukk7/8`+1bo@5aZ;kZXN"!8n9&[FK
++X$=c[i,7Q!4\I",hL#7.\K)&\YQJV`_6]Hi<D)PF?mqHEN$KYA&&-ZC]+R,DXo,]
+GG^#a36(LFPgrOT_OL\mjc,:#f`tq6afF5@hs".4>(EY];k)Jo4f5J?-_[P%j&:KT
+(3^BZV^7!Y8gn3`ol;/e+Ls"G&oPdiP+G_okV4hDp[GfD3b,,dX5NNn_7>4dq0ii_
+>j:j3,XZKp%[PrO),1JTo;2L98q22j"j(aH8Hrn(LpMstOo]p/IC-"Qe8i.u'2JJh
+575ESo4;NAF46!g67WeZf";NK[W?ONbVs[nh.Yrq.95e4Oio-[UcHY4`m5k/g,I'@
+n`1jeDe=Wa*;XjDZP7H=%8X0<FkKd#$L6,OBZMpmmJ>>Gc8-kAq>MK==D'^.Yh7W.
+8VgYcb2&%`E<WKQ230d_nOuu$Cn;q:-)r*],u@"ZVpJ&1)>12og*Qo]VN]Aap99nF
+HY:bdp#TpeKkIF"b6[ZY=.>/*Y_J5eM88qG`2s)s%GNb9AWXfX_X*2_A]gTBoU&UQ
+'T1]rGdE*[PjZqg8ZtU/8F^:feCtQug-P"5''"pqWnhCS4^rV0[rWuteaUakioUQ`
+4ClF!%n9V3*^tpDbMI^0SP5^@'I"htd9qNregFk_#UId0[#s;_b>']e%\6FbG@/o+
+F"Ep3+mmW:`<71U^"P^9(![#7k8O1\DbW;a$"@IOha5GfX25QBStWYN)9Mh*XLG&Q
+dReQ`-3kg=\R!q,=[01sS>hL?Q]$=u!(.o7_u~>
+endstream
+endobj
+120 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T2 121 0 R
+/T4 20 0 R
+/T5 21 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+123 0 obj
+<<
+/Length 1945
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WR495ilL%)1&kaJFRq=O106j[Y4l[-.VZFm$3fKAt;&\FA.%-#Y\,Is`P>U8<^Q
+7?J^tCl/qKmj"g(O1Y/,qLLaKcb&1%kX/d-Eq`P&hkE7Jo\k&L'b?YeqqjW$LPmq6
+a3O[0hIU'fa1lgE1OG.slonuim`"3/pGo@5U<%4]s4?ee>tIlN`I)FeVoO52m!gNi
+gP9?&aj1,>7sTCsp.tN7kN?0F6F../KMqb[]ZJQh+M=NUo9oeL3p8_bIS^7s7%4NI
+B><,0Etk5.TN-FU\#2O+F7Sd\,m:)])S],h*Y4gt]^#?$QYfie_CdR=KT\^W[S=!%
+QEHGBUk6;Z**a02fut>7c!Ea(2XXNS;CDuXrHTf"OgFaXWR9GeDM->C6*Q7U6OX";
+Bj$$5!KCLV-Od+O0'.pF)d)NkZT#_>`7VGtn>XI+7q[Tu)?[eBR,qJrEpP%k`Ip3+
+Z^II98WZ`O$"/oG?Bs(RD_F`c"*).f>c5DLU3,p$>e'q:k:G16>ft5\fc:FfbTcst
+WKoiFc$i@2Y_KnJZYCqAQ7("LamUUn5c4GK@Q3DM0"F]Vce2iP&0qfL.WLXQ(X?Ya
+"=XXb$[3\r-o]Bu3TK*=T&^]s[3A$@'eq7+pX9ttc6eN"YM*sbmo*;MDW</H5,kS"
+q#@/%l6Ntll3DUc\XrB&^K^f#Ul+0u0F]bAp2\kV4u(4;E_"=KerN-j1c-(0DaYML
+*Yb)bH1$eA"PF>"Zrq!%j;2_J!L0`Tn7t!:2q?rJo<.nHc6g:iRH#_@p-Y:<g`4S/
+cW!)T$s1t_*XD^tK01ScbZb-hEIQKeppL\/>"=kA89ThXi,eU;TAUi1\JI3T(IE]/
+k0f<*D*a9A3\jH7gY5DiP'b7c7$U_?F9'qmI!C3\.t`+4FHJs83*O=NOQ>&*%,]:F
+T]-8OO&oCbCFl_B1q5i^HK\CE6;i8th#dD-:J\=sQA$+8?9e2\R\lZUA31T!\sdIh
+R^ds#(M1J,O1f$0j?R'R8%RsY,j*mk5uNt`$0p(+`l`'[0+S$VR!prI>p>=Ai;]K9
+9m9P\%4C&7B57N-U]G:6qi*Z9<gal>>tUS3m1MG:M.'M5GJgI=6@Wg6)b(0<[kYRf
+>u%UMU"?;/7?n;3#rM(u'5-;3iuKQWF<ao*9UI0_*f8T6Vqt)ib]\GC?PQXO#0bL6
+:`!go4=rqdPA2W<Y6o,[4I.0TCntcn!^c9K9!#/!(?:(EWLjVmDGp47YVkB:Ad8Zs
+Q.XB(Tq1rY2&M.9&-tKa_#f"W.:*`=>Tkle+Qm61GWb_40X<!iA@X^UBUOAX/)ks6
+6"mY0Gjm*IRV(qA?e(jgD1us].1jfJqqX`d#iFLT!7THf!-=38PJu0k^iVX1Y&o[K
+$IH<!fdTS^%#_tg^dFTWnaPk,c!sR3l#C'@=Ei)tk\SVa&De8Xk^^C!nnm=(]j8N%
+.e%=TVGK:D#^Rp\&$;R$]Y5RR4hdY!`9hZad+&Rd^?ulq^FkgrTcte$2I]\)\7+Wt
+Zt=,X0cOqt8g`[saD,cZfI#W63k(B&ac]kf@AJ"Tk2D$Bdk":62^?GSTRbE<k_q%D
+Rom1gfI7Un)Z7YJ$$K\X^lgmKG%"aq[3Z)C0)_I7hQ`0IE.E"Kj%$UU,q[Q@k/E`7
+nP.CgCId-TPC0XGZGQA`kS?Oh!M)>"g5@<lp\.7#YmcR(#kh#P:fuK[.mlkYZ`/@V
+Y3cmp,$#1_]I`&olWu)%SGeGA@;.Ip.(d!KZ3//8+B:ApGQP:5$)e_/lj"[BDI?Ss
+df3\3K9j$r._#WP#,V/X6I?)<N)gm/PPSnVY.3$<3.V-?^+;5#&^+""1RHDp43&oF
+19XD\6rnm;ZDeG*G,heqT`s:lf(7b1MDa5i5FKCYJpB0\'m<cB!+T5:@sDG-oG8=l
+(4PshXR^5L$8H/-rd*Au3rk;VE+&~>
+endstream
+endobj
+124 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+126 0 obj
+<<
+/Length 1104
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z,'ac>(?&A@rk/EME(Yk6pTA.I9,.EWf3Hijif2TVZ07^`Vb.0#lFmI%617+!D[
+Ak"$/Y'OCHl;bCn-FTeVDaQVC=C;2m%I!8JIgYB]LaE,Tn]h40es_'_!pshn5K@PT
+m_%EFLLV,#i1tX]SVG>_UZFl.!!&f;nN4p>3uQ$K((A&O7"=:WkH`a+AB/jU:G%%<
+W]J>4'jD\Glif;%^;PP<&S#1:^*u%?Ei&erQ?2&$d-mP\NEq\'fS@gC!-<e5Jg>.K
+@26Vq)'nHYnsF=[o3a;CnOV:jKSY?NE@Ydej]ThQ$B^qG_GO(Q#))!?(MjsCT_<0^
+l-9\n,ELNePgb4hSZlUi-cJrE@!Eun-N(g'o6O/j?WtaDjBkJ)HsPu[cd,Zld>Wa@
+#i<NO:s@ic`lBi?o6aF!RfIa_F2/1A@XV,+)7drrVh*pBCT6g>9Rn;BF)^9%0Y2iG
+B$6TsNoVr0KH#@]o*[WWL#!FX$C1J31ho>Y3`qHD#?YM0W@:'IVPpN%5%_npX[ufb
+bf9Cp7TH0B,IYg2UB24*i9.^<E.N.c_J;,8.Y0qDNs';hV&RhS#ZOBT-Ee(he`C4F
++3IP>0%3oeA?gG'AP(0Z)Y`'?k)q#$4cqQia:Gmu8d:$%J$JTg=gdZhCid\LF]RQm
+?=lgA/=1t$Tm;?'k.YfUa;"8]0pGBX(V]LY6SE85-&0C9V`cGul29i'r%?C]8./,$
+18P/u"gM0b,cVLFAHu;_IFTbe&h7F]5@t@EjRc4[\%5<Sq('BtS,j(,>o/uG4^_*@
+,4biCLSGoimuaELiD\).!Nk/%d-&8H%=Vk!]%&V>]f:&%^<Fip=SS*/a@q&D-7:h(
+T%)]8j21,tlZ8MeE?8h5@=-@h*i)7b<:a*b4/>#PrZpa*1S,t.U[`dpBcMFKC"Yer
+8FAClX;'%TqnC/BRO$#"fmg!Y>MXHJCHQm=DIJ3einP)`>E<[LN6iF)4dL:TQF(&Z
+Se)*%aq@0,pB6KASu^&*;*\0\<eI'UWPLd<X2F3eA:4=1N/qm3hAORT"g6[S9)=j<
+QLl1f?.gjd2PtI:?<A>injS/dqjRg>G+$nXf_RT.l5gdC~>
+endstream
+endobj
+127 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+129 0 obj
+<<
+/Length 1143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X]TgMY_1&:O:S=NU`A$"P^'MWUaMeISV9J-TSMe.L?SR&!a4IXAb0n(=,1=p7?,
+4M*Crk007T;s)nHJWKbGkFjm_53i,Zi[O:Z.%MUBB*StCGM^TrDqMfdFjF4,s#k\W
+Mp(J$Hc2;qdkhO4m'AY,2YlC1rk[L=KZk#p\D*4^\`L7Vi3'%7mES_ZQ?C1(";E<N
+C0GQDYITW<OhF+Zn*=S..JBX'Dj71Z^US-8.1N*gA',V1PZ0\'`?mj4<tG*u`!AnC
+Vdr+mb;+!<d7WjeZFuS<OjaFS5b9g>ZX0_7QOAp$5p>4_M0H^g/c4I#)lA^,-Z09$
+lJ1_T`$?flTF_YK+qna!(\qC3)VSgP<F4CZrJNh^)i)0tcQ$W.E*"tc]M"OG$[b2I
+kniR5jOrp#+,)0/CK$c7$ct:h=Cl@9LaB_;^PFXN!N<9APd;hpB*7eG&=+r:]P6r/
+bAo2E&k,C,Q,K\T?s%g(5N9;NJ7Nj(&s$;J-`N(u?PWOfb"]3.G(paUiZ!H(d2Bu%
+i*bjSG^pN<gTiE33sS/7I1^H7`%dJdZY@B"'nP5@+1tme:':QL,YT=`:!k5Of%_dl
+BM9IQK;F5)%nJqD0di8DV9])%?4pA84(a7g4-@Z!598Q(r%'+EhLS5Niu[NX<Kc,8
+1'P`,T\@,QYZG=A]GRAXA^[gVgf0<,"3e;G*!+DuN_jNA68YAI3*SdHht&)i0>j^N
+'M2cd=!Rfo'%=]P>$rY'-<PDdIEA'J:Tm^Y)$=lW*uLMWY8\_;fp1r<-B"FI()0/E
+#5[sb[!&Cjm8tp"F]l-JG3]^AQ+`Y"<6uLQUT/=`c[D/crhk&"\*!4X,*KcA:_SWO
+=j,Yb'tQZ![Gc?UU`jk;DRkrW-Y""9X_KJ"rH%:4#>cAdd3&Vjr1ujM37Nj="/XD*
+i=HK@CofC&X>8]@?rSJ5,3OpCnJ)CFk`F5$$D"BSOT\^_p55\NF[2%RN?T@;1O)X)
+L*5bl2(>X?drBNe3t#9p]boWe?[$!>T:!9);P9@^8$Z`n(BPY,>B&CB3Za[>0u$4l
+rtS#WZX)mQFJuecT^H[BD-L)%P8=\O>BsrJYFOapK'ZhjlCrNe`UYAlN>'FADICQT
+gl$pBktC1;*<=+Z1<]~>
+endstream
+endobj
+130 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+132 0 obj
+<<
+/Length 913
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YPlgQ%aW&:N^lOSV4?D%^3cC6b-c<Bm.hQ$jc_Z>9h8i+sT;h/=sd2Ah`N8OJso
+;+0d@RH'\kA*9&ZXaF'&\t<YD$'>__pS)qRl4<BM!9sJX"8Z&&IJjBCD,igt&c4V(
+ZO_-W7J!T,!!(RXrQj26Qc=#7fJpn5d]6_a@WS3LaMifh/m_,gL6-2/To_Xa7E(,^
+?9i1-3eW:i>0Y9IlS@9[;i^"!35mA:Qt1kjhq1AGh^W5.^r(O>_WF-miIB?h)+eLH
+*#hs+#%I9%4^`<O,FTAM_dF781^rLk9Rh*_^iPq0AggC+(c7@ia!$bfk,!WPA-h&C
+gt5S/jG,;HhA2F+D2a74cpO3cEjo@6cF,.<JR,4c?MAK+P@NY#K;utb`f4YoN%>dh
+pI4bjAhDN]NLUC=_-E)-SAq9286gniEGC'#rQpT4P[LZUEdNXC&\:\3+f49+R:$ea
+q.n'.RRdp<2g.V`N3f4_=X9fcN)NRlO&,.\Cc"\uY@[hi]siQ*Q#]Z;]nnF`(t6/l
+1/m<]b",Y&e*%$D@%U4f]CV=EL\-*K+dGMpP3P'_P:JUB6LKV-$Fs0BK?oJ.Z)q'F
+>sl.G@LuXLTHW!V%f:_4'ri7;%J'?qX(oZpa9J<O%'J(iiqjf6&E4ulSVe,"P=c/]
+2_+YomAh]][=+G[9jR3nl:W<?+1k8>KP:]W6R#XR)XF0"#5G#_T$OO4]#S-Irj7eS
+&,!8KeOdHGlD3Rs'o<dk]3kDtLkq^Vg1jK8C;jH_<#`OR])SJ('`Lo@;I&rt`*8_;
+kt]kH;R@#mX?"VD2kR>^mk_(C"rUkD14K*Ec"V=Q$tJ+n;78nNB-Y+;L$#$R-;a8-
+!LJ:G#1ku&,!W+-_DQ8n48aT"%;h,[>`W)D)f.=*0>@.,!;YYr^A~>
+endstream
+endobj
+133 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+135 0 obj
+<<
+/Length 891
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XEKgMWKG&:N^lGf,PNZ59[$nkum\#F)\W%g:H9.0]q@3,-olHhZr6)_4K[>I*bD
+bh4dnAk%.t]UL,9TjMUu&45F[p0ENQ4:6/jV]ZKNnr'%Dr2k27oc*P4'72>]Dp`Be
+`KLNO'^"c"!fPC]@_MQCC[/JWO8[7JaW7*,"9:\/6K&ah[uo&9f\LTF$Kg-"\X,/(
+@sMJ@gk[cMU)WT;DN7Yk/9&:eBR,PJ"G7DSW[6ad1t<+&-;@aXWpH>#8Us5HW+.=[
+"UYkYFOr_jDF$7/+2=Lf3]cXMh2AZ?cqhe+b@4%a?.(K=[e3N3JJjCTM2BUHk,"kq
+'X9'tS/ThrpVF#98T8!?p2f^=GMJ9-S:kJq9Oegm4r=J97Y\bZ<GEejX;FHN*S-.a
+e1&c'`om<ZN/S((;='&;(?^5BWJ#&qhs#TO\KMnf(<NQLB&?Uql+9l>\Uni1(ajJ&
+9@a]n^ta?HPa)0.:K$*&+`TFSdd>di?FNO7ITkR6OaC"o6%Id@XU$<W\2Y<)0PpTG
+),+gSe>+C4?JJHZ>M8%7On'8h%&tBr3P2gHB`*UNZEUG1*?A&q]-V.fWb_if(>J(L
+P+=U%83CG2Ghu?L-pf`&07dZ*c?Q@=R?Pj[A&A<%WjS\$qc+cEL,eX@LHYiL4EL6W
+re"sj3/qHt>Xu%p7"^:2R*fncW2buEPT6-<9.77rkU?97?7QK@!n#W9Cq'"H9\.)q
+a?jDb]<:t/_D/J$B(k5+gkdH%OD`ZDY@bm\Ds&Cfgobe/Z^pf<E+lho56NbuUiWec
+*(Eh'CHj0qY\'J&p[$DNq_'SNRS7hi?`i>6-_LL!fkc6N#[NXRFB;QMkh/DUm+rGU
+HrGSV:_SjCK#aVGPe2>m]Y=OKX^`B9~>
+endstream
+endobj
+136 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+138 0 obj
+<<
+/Length 1333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Xu\9lK&M&A@sB(ap/?)I"@6M3?fbV;7lt"fe'ZK5/L4"0E8.EZLq-s'CjU8fV&1
+[bINJ&1$=an]dOnqWD\gPjpc)B87Ap.@V"H^!_DLnqX#)@Irj/N6I?hVr)s$o4'0J
+cM"T`00Xa(SnC@)V+:5n[eNg&q5MZi@Mm.i."@e#Mi1c62"h5!e6$?u/Ra)X^W]S+
+o(mU2nm4/\g5R>arOHd*D>luk4Co\#]V7-A^ke+<RoN0h-lWq(a6g_ob(F&dL]6:M
++4b1NV7%fV(V)&2dHfi6P+4#2$YqtC=Jm7jEZ2L>7Gd3h3cPPrqY%;b:MncNU`dTA
+Z6,p&kf^+ml-k=e0qKJ*EtB`I@M(4_#LLR+NkDpg^"M4%9dT(Sj1`k*5P#B[&7U-I
+9mH^`LnN$aWU=]#pWm]en)#dKBI\^e]*NSR$i.ehoaD.E/NJEGL59Et76AriNTam^
+31/pR/5tc`<UZ_fE`5tYHUJf!,\2moL6@?3Cr/%RW\W$J`oB<M%.#D>ZRCiFTD*c7
+[Q.+fMF1a:R!K_?/F&riHY/l<!,eRqp8rO^=t&P_+D)M>\"YD``Pd^0!8P5O[:h7b
+j:o@bQdWLGe'ilm.RS:?SKD:2-*^bP:n$g`\:"pC<VHH)PR/[n^_jgJnng"!3l8/#
+S,I<+pI`P8k`m>a.$SM#-bh65N429s7Y2k^=J&!dI@/BO^NA%kE8(O#h#`;ck7unf
+\NXJZ@<a^1gT"52QZtpC1ac.P]0-QYY%g;L#"]-<.nQ__]Uc"Lnoa/Xh6r?!VSs3"
+6(1UZ;,9m#Q9bLmlipk>l,[N\%n]<1NR&G6Rg`;iPAS5JndTf?aVXQa!^araFV>\2
+YMsDj%AjI6<3<IAg2^j&lVge8-bsqJosU]?S3$].^GM\QrE!80B1TO%KlrqMU4\FK
+0'h=+%[57Ikj^e^7E'G!L$Pr`I(p/eD.B)oUMu&1.9k8&(\;W8c1j4qEq66H1FR,g
+kU/b"qiFn^V`5Uag\;GkLd7MU]Y2<5&9_SC&=,e*L_3K6YT^UbEL[XC1X4^\hGGiQ
+mH[C_q<NZ+p=ko!pE`8P>9Tf:2*T!go)WL85UM5K6n$07`PB/!)]2G^!$k2/HVk.L
+97S)`%tG_Y",Jr;&M.=>1p<*`l\ZNPYKDCW3,uc2TF[gAP2V-hnL.n3^RC>BGRp$m
+kl8JG!'^WTh3DjWh+n'2[^j%iDDRq2,3+=Uc6K!oF/oA0<aBm_q5f`K_1\=PBou-Y
+^jI/$+$fR%RGK6q2D[(%)!RE6)]k_/SA"*goP\MPTpcQh=UZAr.1=Ak2DBmq&nUQJ
+2Z%h$jFMfG~>
+endstream
+endobj
+139 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T6 22 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+141 0 obj
+<<
+/Length 1353
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z,'gMZ%0&:N/3pe=A/#t`t3c-)hM5@F.rqn\EVXh9OuYagVUCqmZXaItRMPm"^A
+;(N+Y$842Vk&uJ$1ZpY(-?PF<*O;>S6Fu'es.TNs`6fhWl%6-2p>D%SBBT!_:NZ0<
+mCop^na`R&\#5_^i:qcJ?-Ib?]X?qR`A:k28[KUn:q>Q1p`^/pq0uV?MRIt]ka-o]
+?DM;(LqW6&F*E1RUuBDfY>&/l(,+[U:Z0_am[Vlfl^K3XRBqu$68,0oItYnM?FDhU
+8eH9\K#k_M%`4V_3^\TN8j^s?n[V;GQKLKTWXt0tFVX61fCjrse>i1DCj/l^(K.=%
+jL'1mQGmaViu%T@aM8[ChdL0-XuJ/66(Du=K^?`_W$^/m(0ouL<:%D[qrS&$]Ctf4
+rNpES(AIJ3>Np$`.0;^M83&"$%c#9m#6e.)]cn<A*K'j=IHf43q5JLDAl,,6!,C#>
+E%+a@/PSD&m+UHP'qBsZVG!DRG_XD$b`S,.#Uqh0DrI0l)rG`G?Pm:#)b@"`p=803
+IOY05nK+9<!=$+3a#ZGM9oZ2lmFBIaR,P3tRk"!B>LY1c04>_-6J_h@V5hYHQ)-0-
+fed+0].-&`a-%8@.6PC4-'9<7A(3lu'C.h`Yg?i$0r!\CW>Fi.L=lA>@Fo"HA$9T,
+K,.0,BL*L_Z_0*:1(sL78>lIodcl+@D@A:(\Tq+27i,ek7S&iF5U:hm/<s;Up@u&>
+^Ban#E5U6_:sgN.!Wl:5WAGYeC#9oT>V;l/\o3:jJZb/,ha5GMK4Eij#:k'P/bYNt
+o'\3#<f$lhM)Q.q5<)qLHPcuQq]\#]h?%`bEL(HCj_!$j6"fLQ#Rk1t!Hpm8KIf3Y
+jusCO,W316QNt?_,DIMYC65`u1X.aI2Xn2W!YI4N,a9e7=<aR6md@\B?RJsn:`D`[
+-")N[K^=Ml)!pk!9*I3#R$fKQ)DMAj6^&LX4p>R-4TgGS^i97rU<L;%B(J'P3uPaL
+)0a*`c6-NtqZ#4g3/%4P_r0(E&5>F6_Lc^R!p]ED#)"=r<uG%55U=/eq[ilLa#C[U
+4tEgsid57R,AQ3flZT(&=bm9AI>Z`XUK+:;(hs!?+XTZAB^gf%U@5ThP[(4YN7FJR
+SfPU#X0k?$@eEKQLJ*K0mt4#r"lg;XbJ/M-WgOi-,NI&@7SWtR(p&&,Oq=UAj'?&K
+3%s4k(W8d`][)t_NuN/eN)<<:KZs#L(h_)DkMiakBV#RQB=O?OAsPUhRAL<"kgu=J
+R),]Tql4>Q57>R@p5oSn,=!iti!oh<dIAG&W,s^Weo1D^f;JlsWZG7.Voo"n/=ptV
+]]Wi;$"#ES$2HGCjemRNS::_C[`+(>~>
+endstream
+endobj
+142 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+145 0 obj
+<<
+/Length 913
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y8cbAQ&g&A7<Z"S<faL_Z)!;)!#>>4_osS*YbOd=tn11*e3,>I<9o4tTZEMVOY*
+W$QY2B">PGkJDQs@NYHcecR'`5%+C`Z%=\9Zdd;d*WkC=7h>AVn+#.VkjM!L/o#<%
+#&h=`Z1h(JR9T38S'TsNM;.T#RMKC+a]RsiiMg`W)SW?K/l$AQZTiRZ\-O(A6Y2>j
+M&YH[g-"m'-&aV`"!QZ^6l[k4\j,h>J;d?C6#'G.[9;Ch,RVUI",K8DJ->X!2Lpib
+._\,=2Z/(PpbJ!u8N2>WH=YZ/2%d+"9UW@C>ts(f)b!"#+ceQJ(\ceG5dn&ac^f$6
+J=Qp$ZGs0\Xqsf$X7[LB7T!]:qIQXj1q+[b0f%(W(OnD6fK\gN:5ic>X&m>0;b$s.
+SDDJhF.0r;lDCo0mRV_HV8rS#r(j0h(4(@n:6EY1EY??XT\+pf-NJ`$bVHtPq$4Io
+99(\]iMCu2o-=+lR<0%kk_4RE6ZlFBD)jk&9i,l\5ApTu]'3"cXS(B%T'u36**F13
+NYtN4ccYSoqRS]nI%6Sp#KcCK77\u6gq6@JC2d*^#ojcGaRh=1o%TAWaDdBl4-RiS
+B<u2]THe$&<YBQR$\`Y&pf=+Y_%t2l/P6/]b!qdYRm7Gb&;5o-H@JS<j):1!-2YbO
+!K$u,]<8`sC31/_,>n,!.SA!'ZQir'UhHdZ-%'[e:hb)8R`ZkJQP0ZF,JpV=i%tY$
+G`8k4PsIXA]=(Y!#^-oN0%1GLF<AIXN3W?W!>\$/'g`7K)aQ\d]F@@tASN\e7JWi1
+[Q@[TqE_fAG(H:?N_LQD-VGIjbW@ruUo)->R:ao%qoD19mV&MQN-+8:`mqZ2COk`Z
+#*@S8%GAmh+sor"c6hpgOia4P0F)p2iA@1L,8P@ZCZ544!*LT`DZ~>
+endstream
+endobj
+146 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T4 20 0 R
+/T7 13 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+148 0 obj
+<<
+/Length 2422
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Xu\bAu@I'&Dk(]UGRq/=CbP2*9JgS;A7f.cM]]B,7]S9=Q4/)Nouujn\ZPctEuP
+F6i73Bg\#BI\&aZ\>gpC2)umop!Y1W&UKc.hpah)oIQojN7,%Y5=s0ZPKTFA3SX3&
+\R&!n/+pDNmA:PPm<SZ&#pCU_V.iQoq>-YEH(H97k0%=AJH"d]_`=2d<L"HLjPg&m
+1AetFniVQb&'=M2HqGn@S:&d]/2^5lci9q.:)Kr36Oua9HJ,!rB\)tRc>34721,s0
+h_m9kLSQ@&*Q\PofhQb^L[fpMY?C;#L=2UHM.UfC)i8m4`(KFHTOb5P$N$^n53uIN
+T2?84l&7a""e$2R!#h91-ZpOre4TGm+O<u1oX>#;RCP^@QI.KTQr*rG,]q[jDN&:I
+roUc;k9oXY2+Elbqh$\d\TB4$2*b7^A2a8=.@hr`PZ;-7m?88[$SQ/l='6)6db8`=
+iN\@W/'t*Emo?^!):("^47bBu*A6N'"<s.C;=Z>]=N#l8YbLOr-,hC2r5+2V([(q"
+b03>N1Is@fb9B41c0bJ]MOiaG0f/$eVX2Ea7Sb6jD3Ar2J)S/t[`>([^Scao^&Pa8
+=V0>`hm_FG2.*X$V=qgolnb<2imsM)$r^c-D"\TA>m<%<p3T>6&+;OD)WV5dA8I9C
+U]*;HF;$oSA_3KWZ5G"h+aH!=^sB$EX$NnjN3Q="GdDhUcQZIH=s72gMoE&0/u$L.
+()@?as!0XER6k%H^TirtWYhCO8iY6(.8*aKqlaQKQcrFJjG[Qq^VG?=gj`[""$Ol;
+/f([YCDarRp(W,+(!rIB=\pMN9-[SK45@E2^-+$GH.X-<,1"-oY_CBOW/!VM8&sN#
+4Z.GeJl=W.fU&t$aQLnfWnpt[I1$Nh0t\eX$Ot0b6smY!-5&b7fUa;*TS1+[s,E1Q
+q_UDCb6kW9m\Tgdk_-r\,Z]P$6(TeOdaC].qM;O-U3IH'+2E#X>BWUs/$Mp)k@G'(
+qK&MWjnFFin)qHKPS^MKc-N:Q3^>WXLW4`Mh&EVs*<A8PRG7o<(n,c(3MZOEPA]`?
+Z?2YQ-ne7-J.h(!jkCZ!B.+t5b]QmGU6"QZIe`+qQ:&8?"9p2&ccLJ?m.I/qZ]R^_
+C<%D<RDgWo[Ls\VU/?^+:(0`*(rnpgHFT*JOh)"@%Yad)L:pVP<3M?"mGu2oUE/!;
+QHgA33:"kih&hZ0ZNe=m=G-8EJ6>]pkM*.V>(qQD,trs$dHf1`!;2M=IN.Sj:=^>^
+b]eL@3V21q%>mk^('0e1S@pcEiXVUp26h$G[>N!JNKI`X.RX.(mg7Mu/bgii$pJrc
+Ria]!K=9<Q_&NXmdbr4<m-Xc9A5!b#q4rqrW>=L8UOEXW,(rU<8t%:nZlJ.8.i[+I
+=;^ikEdAS(V.BIS&Po/o55V`sgcPuS!RIDDcO(GbbIVe``:cjTm9jXjjS1(Y@l`h^
+[S':bD%l98`:?QP:sa9.-!\/UQ0Wfr\%Tq:6bSNB!r'kubjjJ@[Jm#BDc^tg_rj,O
+kYI,1e\'I[*PpefBg1,=oA,bB<:RqG';*gIDBe\^f=g/o072;3lRUAmNA:scr1LZ%
+q.%diV.UfNc)&i]0=Y0S.`@/"e^r,$b+c2":1!X?FMKHI"C'"'1T2)+XrKL-Q;`E)
+et^o+>CTVi?6%<J$Ph-$YkR?%I\[e'.`>7*7&;P&_[0uF15esLNk&hGpj^W$s#0#r
+::L_"K.ujg1?-mK*0#n&6&e)M=\H:hh8TFtTN-KukjF+XNu+1;5ND^XO2:SqPO(1G
+hSXMdEZN4gPe+g@0em%=Q+lZ\^KHp$*[U]SI"D2bU"alkK2QrYCLu_`0<;nhf(Y*F
+>T[5+^Ycec>JER&I8[,Km9f]UmX'?U>I0c(i#fZ2VJ,WlYJa&kQT:!VP#Ze_NAL%n
+VtLD@a*8X7VEq-bB<C,]Dshq3:DHYc4+V<QQI4Q10>B*ZID%XU)?Y7dK$7T*/qDi(
+>(uRD%-L2:/r'u1qWd@jp?oA3>(pMkC+Z.dZ57qm"Dm-f\<\C!\@RIdCBZd8@e`P(
+KB`]>TZj/8`9Drl3.@T5;/9!fK)#N:UA4XG[!Uc#QtOeq9/*dpF8jXbHQ5j9`[GDr
+DW-LKMR@\.].)f(/T[P.2+5p7_EAsKH8BSCb:$#n"bePM=a73X:1_E!qOfQFHfE<3
+AG:p5&\%i2nAGsn`Kc43nf!2T2>&6X1P60C^H;Q,,(%D6Oi-GS`8]%s.NM++D#'M%
+F7NL6(QRmgEDu]^^ho*Ygei/HQg\?jSM]YBB0Q<*OY=`oX\5V[N8GRs3hd;dcL0Vd
+8psArPaN5"AFB]$U"/mm-iA$;G"U)oAgA1@qf=Ra8p2o]FdJkH,Y9'53+HL[H!H^G
+@")?V=VXe3Yah'm!aJp=)^Ac"ioe6.=k&Xb#6:RGd+A~>
+endstream
+endobj
+149 0 obj
+<<
+/ProcSet [/PDF /Text ]
+/Font <<
+/T1 150 0 R
+/T5 21 0 R
+/T7 13 0 R
+/T8 14 0 R
+>>
+/ExtGState <<
+/GS1 7 0 R
+>>
+>>
+endobj
+151 0 obj
+<<
+/Type /Halftone
+/HalftoneType 1
+/HalftoneName (Default)
+/Frequency 60
+/Angle 45
+/SpotFunction /Round
+>>
+endobj
+7 0 obj
+<<
+/Type /ExtGState
+/SA false
+/OP false
+/HT /Default
+>>
+endobj
+152 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+150 0 obj
+<<
+/Name /T1
+/Type /Font
+/Subtype /Type3
+/Resources 152 0 R
+/FontBBox [4 -42 151 144]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 66
+/LastChar 121
+/Encoding 153 0 R
+/CharProcs 154 0 R
+/Widths [165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113
+129 0 0 0 0 116 129 65 0 0 65 0 0 116 129 0
+95 0 0 0 0 0 0 123 ]
+>>
+endobj
+153 0 obj
+<<
+/Type /Encoding
+/Differences [66/B 97/a
+/b 103/g /h /i 108/l 111/o /p 114/r 121/y ]
+>>
+endobj
+154 0 obj
+<<
+/B 155 0 R
+/a 156 0 R
+/b 157 0 R
+/g 158 0 R
+/h 159 0 R
+/i 160 0 R
+/l 161 0 R
+/o 162 0 R
+/p 163 0 R
+/r 164 0 R
+/y 165 0 R
+>>
+endobj
+155 0 obj
+<<
+/Length 537
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjI]l&HV&-m/E$qO]L"T/<QERRn?OO@/Z6`"tk"10(1Zta5uZoe\V^rV%F+kV@X
+^ST;<,tLGT0?>-r43RJ8Xd3_Nh0Q2g^:[8q>/!XX\a!k=LX!A1B?T`+q+Y`_R65W'
+P0%#0VbFN0f1O43]2tUH?`u5s;.=R6rABiDLkn=u&<VT5+9@9`kpJ6GMlh*i5=fRf
+*lSg[KN(P_j!^05NRHIGNREFN_5/8/Q!t#4,!2EM<(`bc<%=LkN_)ABs"$&o-SGFa
+NB*EIotiT*FiW4OqC/*&]Tl%lle.7eWGThB:1;sh_kA(e'612oV/gq)6!Tm#UpRfl
+Lq=(^&1!n<N.#@h+UF"QV3(*jm+Z<s:BNU6OSSnA;o;Zs2S:pl.M^H&%2IDY*STI?
+m.rD-M&<G7<!o6c1F/d%RjZ%uV=_mho]:;MQm9+%F/0aE8#1k8BtTVGhOF*h?rB=F
+n":$qkS1k0'th<Hi?ROr^cGQdmdB*KE0:Mm6BKiDrdedDSucrbO^YO[%N0P]a[c.i
+!!g!S_#~>
+endstream
+endobj
+156 0 obj
+<<
+/Length 519
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y9LYti1j&;Dj\&BRRiKDG`o0i1l@.M\&dJ-6Mr!/sI!@#c<\O-3$&fYNHMn'6b/
+'ihKr_5ArHn'8[t=fDd3bEY1i;Q4`J^6Hr9]F.^mrT@@eQZ@5Gr2QB\?H'>beYDbp
+U:U#5U>"I28L:D!:4@Y>]nkfS3^3Ub2\$8sAV;(W&ZJ-$0Hi\I0G%g[2LlRb!,Ou*
+g=V0o@Z<!.)q/JZ0oa2]1tSWP4&/EJoHEfsL1m6?G>s[G;SduB;#-_3T?,8+3u7#g
+53rs0fo(N0;M8aS#@e[f-,eh.aelL#WC\Y:Uf3/R+R2ikqm<V[6'k%*;"Vj6iEDX#
+m2n2Y%HG-!\jU<JPY%'so\MIjoYR#j1Ng'(3K[`?'D6G#9GC3JLuPt*'?hm%-,JJP
+J@,0WVt`scPOs67UnEC?;dHsqeP*a:%Xo(AFJ[0fRDCd4c6c$h@2#d/$D]Se<`gb%
+&c$0-Nacqd5CU'-3/rS5F)3't#UR$gF^-0](-codM46ssM!k?E&o9!P~>
+endstream
+endobj
+157 0 obj
+<<
+/Length 487
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]`0i#V?'ECs")2]u@*$N#rUi%\_9L/h-1*FEO!J$:5"ESUj*$n+rR)+[Uhqq1g
+US]%m+OLU3T:LAaao@B+>`$!nM[Lup@P6_V.:+>#i)22$*?/$gI4:j3:+u'`;t0-V
+5VLIOZ'/gi`u?1I<]l2AcgNf!g^:0+PN_C21$4V'5=&TTAiE;(ie`l#=mcmM-h7PR
+`mTE$VW)E"LL^K+_q_M+6fK;`VmSGccWQ3`*Eeum+>q,9G[%.iCX.ZZ=[s-&Fp:*`
+<c/1X<GoA_`](gQ&DBtp,9e_I1!RMdO9Qbi(>bH*qFl*sT'ukq*rCAE-Q*pu4X)s3
+bC@Ol4hAPgi8.uMkU2N31"jh9oF>W0FUSU)W3W'#6^Gf1rT<`g>]hFJYPi7kSC11H
+&$l7*/K9F5G1^-34XX8A`6D:JI(7IM=g>$uGI(7-ra(rO+E!U)'#NK4J'IWQ3jacX
+9(jR[iO2j;=7@U:1B?CoN_'~>
+endstream
+endobj
+158 0 obj
+<<
+/Length 663
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQT4),`i(rnL-0d$lc_WV'CXrOd0C;<C`>8WmQ#=qai84`$:UZj0fK$#Ns;=m$D
+o#?SB/tt\lVoSP[?S^c:p\LQ?gg"W)Y4_Z2rQWEUdd1CkYKa\35.ibW*rE-*jR#h4
+*ctYQ]?d]2GIR;g[#qu\Sc8TRcZa[4W'b9._SM-OHNgV[+iY(*0`\aT*R&XkF!Pa/
+@M`GV&BYT1Uu&rm3Yp&c_?.\d!>^n'LE]n+';mk=#0p]0#G=N4p*!9iCmdD?i-;0[
+O?4_G_(Os6`1_gcQCIs<MF*q_=492q'MKa:Tq[$35(f.p_gb-/c03TAWh/BQmbs\Y
+rBVrX)tHO@U!c?Mk?4ff9,L:Pfp(&aKBS>lb77@-TO"EFdP[./8b7dD3>UDgDhX&*
+&N2_)Wa2@p&rk3aFb,:%qM)S9;PHjbTt2kBLpKn,2+49bM2$brL=!-M"BLj_WZ`-r
+AS0,=qIsY]>SNWA/)\c5A.,BjA>H"TMnuJGg)rq)>[7m$=d\it\QmE?P0LkK%AaRf
+RHZ2)c6t47&Zr6-:O2ET.-9AAUQhm=<H&[%S4U8l:gOT5=Ru%bcYN2_:\cO"G;%UI
+_]pt,U!_<)Q1X'MYXM\>hD\OelJ[PVb_desZ`W)Oe=.**l6ZFKYfT[2q*k9'!70nD3r~>
+endstream
+endobj
+159 0 obj
+<<
+/Length 331
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]_9ko;G'F4+T/hE&[O"g#(XcC!78k<-aMaF_l!Ko(IBPH&[BHG,;AEcE9S`e%l
+cj1eQ#,7cOhg@*VUC?;G'>H:.8Oalj,^uGOO`'`jLAA0O-XVA3T=@G=gQ:hlmu9EV
+>HF,9d7`?\kBm5[aU9PoE`[D0!MDr5S"RoY/4Nc;S2eY(looR'7#sBU:.H<WYWCnd
+c."FW$:?M`AY-[iS$eV0`-QsiZEX,4=Y5[E+2fiLe[\jqZ/Vn7L50k9Su!=VI,ll>
+*M!4D%7SMHG=\lj@5[:3;e7T=+&laW/tm[sSV\$KOk%2P`2Tp0Ih?$$>iY8QH]LSB~>
+endstream
+endobj
+160 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X<A77R"Cb:;"[`q:KbQnW67rq5J,u$UWFr0&CB,WCF1If'\b*cS9J!aH4[=$m
+qG%(:$AMg^T"YOX7AZtgSh:BMru\KF%g!1;+S$$F1PknD^^-Yu0JJ$U#7M%65jA=O
+"%[,."+r^f@UK1OKM_]!'K[0HW[VU>5co`$!pV&0"/4"o3ZdFK_$D+Ors/FW+7)Wm
+-r>GEW#mG;T2B?6:^g`.:G0WJlH'd^"W.5T\R>+~>
+endstream
+endobj
+161 0 obj
+<<
+/Length 156
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X<A77R"Cb;&"[`r5KbQnW67u1="V:h,/bKMeF:EagE\<]B-^T:lJuJd;^'@2h
+9A_26=i$1mhpYZ#Uo6,8bL8o=s8W*0pjkg8!s=Wo@%`>PIfMh65b\19;PV_i74H1U
+#57+U>csZ'JR!^+!3ooQT)~>
+endstream
+endobj
+162 0 obj
+<<
+/Length 466
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yi\0i#\A%#.]'W0ASu81jmZoUo*[8e7$IJ-6Mj!(I/(bjEf(PTHN.LSpFt[bKk7
+:O7VL$u*GoNh,g'XY!7U8onF#/Lj\)R9(n'Ub-b-\hM[B.5.f-Fkt6Qgc%!<G(r)H
+hn(b6miQJ,Q$Mt/^-9<hA92N%BS0+h[n-j&1NX+))BT*h(1Hj.2_2>+"ZCNq@C7DJ
+)Ks^L0lanB\=L]Ghr>2+L[-an1AU;I\.=%-M@;sm%'CL2;bBZaHX[*d6^&*Y*^8l%
+JH4&E?AQ6\)o34R4n8Ke?jo:j0Ee%D6dJj%!bQ(3(I7g9&-4'V'E3@aIIJ&Ydr=Gf
+4P#)W!/"eKCuDTq*X:-K#0.Wn.1;4m6NSHEq0U*P.nOH#+nK,j9FCHO=.iF-$\'RY
+_&H5#*aLjRc7.l6+*pBoq@]Ibn@mEeDQ=IK%07im7uZb/<0?0D[8o#-f>o?81B=0/aiO~>
+endstream
+endobj
+163 0 obj
+<<
+/Length 476
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z\u_+oY;&;Eh3_=Sk25[Qe0/gd&NOfY"m_*h'_J9pj\d5*m'O2<,\gd=H"cEn>A
+"cP/j7S.:bdHSk^Ql4t*/J_eAN_^HX/f.ufM0m@:\<IjnLM'a:<[Z=s_g(ps2[)uq
+"YB9;d]E"]F+#A\:Q$ano)/@"MfYT"DIU+YY48M/Mm[#Q+i+T>^mMd0)+0J)QE1[&
+`8"eGBTGS-ghc*t0Eg9a`C!bka;<MU.*)+_D2ap:C`2VTagJs@Ahtkd=&C5SolRR]
+?qGAZ\q:Y#%SQ6l"6YKf5&;q2(m<#r,gd8Bp/'"B0TOs/ZEL"Z`U])K2nd>tDm]Ci
+5G&n$BbjKVCbhFGq7b;HKi8K)9)"526OaMUZl@T")HJdg7Z=uL`6bPMA3MPQmQ,p8
+")tQR>"o"$X2m#)jguC>j*MeUlT68aEimW%X^%bICjj%E8aID\(X>8E9([V6T1+3+
+n/M?b!0&8FWr~>
+endstream
+endobj
+164 0 obj
+<<
+/Length 304
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z][_.phP&-h&!3@rB#O5R[$-D;,T&-Gt,3=,<="5"ZABW:1UdIJ\L6B3,*l+aiE
+[.GQ,T'Sdm^.H2elqZspP;++oATB0E3PViD;.m$OO)c+MM!Z_=927ETF&!hIM:;:L
+K:jVoo'sG@iGp*A=r2LZ$6Z'0pLLqPR\Gfi6ksr7$j$rq,d9_)^c`\d%W%:D>Bn_D
+hiXpn8@<G::M_kGcji4SBcMq(;q'2BB+B6"(G'mT"fp#04-=ENT566nA)rA"?Td>8
+*>S>.Lu8-AL?@)]rcs,A^Z*!R02#XCk5^[EE,k~>
+endstream
+endobj
+165 0 obj
+<<
+/Length 608
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:74`9".'Yn\q)?b$<&]>'a%V#T,-37f_e3ee1l2fUt)%n4$Gr-Rr8'n3N&AuOA
+]k8fe[X,1VP8,<lkrl*5]tBL5q;n9F;E+1?>5hIuM(8bMYGBn@jl*7lci*Im7t,[C
+]0H;E4l?3g:\jGHf/K](meB_p4MO)Lj*.I?49jt\GWl!Y\hdiUK?(ot$V)E^'83q-
+#K'.&Alta]0+9sOc@l@p8Nb%snE^a(im_KG`%c7JfB>l=n42:QI;h0j$:5DoK2#.?
+$Q3FAO!0'%`7U]&F+7Wb:Uq3MJ'+l1K;Y#S7-kIpJ#X#q&S$<jGA/$(@t2e;AF.XQ
+'gmJrNLUeOn=4PEc\+G*oU#D6%Z&J=E[sJ+afPjI-+>'$S"<Fi1.7HelQ'`[QMQK9
+m*Zehfu#\-Bnejk]FO9"rSi7NBe.g"88^kUF"80!q[m\O`Ne6nmC$]H-@8(m8QpU0
+Zj7-");Zs/5Je.ABUM+M"9,TJQl9l7P.Sl")b.nH)R2`DpR^`'""*;cnO'>cs2IGe
+0)#m69T(<h?LEndrQN3sjtrb<*8+`H<Lt&\+[=+oBjc/TXnV-0&1npZM9un[\!l1r
+q/?6j!5q:C)#~>
+endstream
+endobj
+166 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+121 0 obj
+<<
+/Name /T2
+/Type /Font
+/Subtype /Type3
+/Resources 166 0 R
+/FontBBox [6 -23 38 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 102
+/LastChar 106
+/Encoding 167 0 R
+/CharProcs 168 0 R
+/Widths [45 45 0 0 25 ]
+>>
+endobj
+167 0 obj
+<<
+/Type /Encoding
+/Differences [102/f /g 106/j ]
+>>
+endobj
+168 0 obj
+<<
+/f 169 0 R
+/g 170 0 R
+/j 171 0 R
+>>
+endobj
+169 0 obj
+<<
+/Length 230
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y!@4UT%k'SI2/iADZ"mfJrMeI\cH<,`42.h<1C/JP>;S)l%>+f0lP^.If$.;%K*
+bZjk0ktE<rFdtF6RAQAn@QB?>b`-]cCH@:ig0(#Cn.P0>,nd@4PH`[le:ulEol<-O
+?RgR5q"0(tYj3<S!oJQCB_JCT46T^5WH7!_[n&uE^7cCl_]j_M-K"HbS9s&S^Udo]
+lJE>'@t3jMJKbO"73sH;48B<cFs&;X~>
+endstream
+endobj
+170 0 obj
+<<
+/Length 222
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A76';p[BW<\UsY0XFSH1#shF1,]2k)CS]+.[]H<Jg>nXE\<]B-^T:lK!>oS
+^'@Jp9A_26=TM'=qC7^DQ)8SI\gT94s8S_-rr<!?r;Zfs"*#61pd"fXrssYTK09A;
+OJal=3p$qYZU5`:_@8d.!9=tdOHUhELu/2p#H7g)#O)?TVmi.(@0Hus;"un7S-3j>
+.""<Ei,\MO$KM6s!4?qu)#~>
+endstream
+endobj
+171 0 obj
+<<
+/Length 117
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'1f2OV10-(c;)#=Q8290Tj>$an)CS]+!i>Mt6'=Jg3L@q2P=n,F_1YJ=
+"";3dmhF]]!2M`*'hX?U;n5"r'^##9$I%[Rp#HJ@!Xo'q^)&O~>
+endstream
+endobj
+172 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+117 0 obj
+<<
+/Name /T3
+/Type /Font
+/Subtype /Type3
+/Resources 172 0 R
+/FontBBox [-1 -24 67 84]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 101
+/LastChar 121
+/Encoding 173 0 R
+/CharProcs 174 0 R
+/Widths [52 36 0 0 0 0 0 33 0 0 0 0 0 0 0 46
+0 0 0 0 62 ]
+>>
+endobj
+173 0 obj
+<<
+/Type /Encoding
+/Differences [101/e /f 108/l 116/t
+121/y ]
+>>
+endobj
+174 0 obj
+<<
+/e 175 0 R
+/f 176 0 R
+/l 177 0 R
+/t 178 0 R
+/y 179 0 R
+>>
+endobj
+175 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`0lFin&-^EH'UGWT#Wih.`kdDX&kSn/5YA$r!%99]Up_R%[RY=TYbd8CIqEY.
++Zc^TP<?1;rcdl^$X(YG-H4EY53!=>.ig7<aCRN\FJnJc]W!mhOaP.4Vli#8I(`+k
+Bsj5Lq=h\T])\L%kpTCl:"6$eTV')fkRt64iHACQS\`o9Ck.n'b^O#fj)e8pC)EJ/
+m@Z96K+7'dY=0@]Ja2E87bqbHZl/_gN2<B9l<qKW#4%%/=I1P>SIPs'06l+6kCL!!
+ipDN;P4D,^hu#\=e=Glf~>
+endstream
+endobj
+176 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+]afWJ&-1W5$mrIQ#i#e9&?0Xo5ttlDdE)Vi7gG%!n7XokO2/h%W7Oon)GN/[
+ZsW6IrQ.cH'N3.R#b&eUN:;ECi]'nG4Gd_kno?^"RUNEJ&Rhp+/I^(pJiLh0FM$C*
+Qn:o#BLcg&V5"(4<R.][VXZ-)jd3]]8.%eJCHt)BP0VI^0(3OIFh5?_S_CDJ)13s2
++gKApJGTGJ^H;K#BqmID<a(,kV(mA`gd`Ide]smbK"e&];")7/DZEiVmdMq2*Xpt]~>
+endstream
+endobj
+177 0 obj
+<<
+/Length 201
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_!0abc_&;B(G;@(b4#al(am]mGk!`?cc"Kae:>,G-'2Fm?e3J(h"i4'F3KW-Q;
+JY-X_#iqpX_OMBm:*)&*Htk$3c9+g,3l_HjM"X*MUYV^^g3U6('QHdTlhuc^7EgDC
+!=\^tCrBW-s-dUSO_^L9[&9k0<]i2MXLs87#*EX"QnOXHk8']jJEdNo&bl&<!50]Prr~>
+endstream
+endobj
+178 0 obj
+<<
+/Length 274
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH83srhi&-h&%(4g1?KZjTV=\Q1:I"3XKXZV,;=t!QikHt@,\V?7T`,:JZj%PP"
+e.hcpq[YKh)\"Jh*F`)[']UmaXbHrMA%iCl(j"3U*&=!HN"ZKJfT.2CEsBI*3C+*?
+ZG=rZ]RsaP6oiX*G9O#t2/re\:K_1CN)9;n6V)p3TGT0n8h"+)Tl_R!_R8COJuYLD
+PSHq$[\E@0HSHNrAD@q-QX3X9h`QTt\-n]=hZT"A90RPPI3*;$8P4/!S^.h_/:ePK
+#683".l%~>
+endstream
+endobj
+179 0 obj
+<<
+/Length 392
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH80i!Be'F*J=>EDO2V1k%U!>a=tm+OG@WehE:>'U+U[*WJL=Dc0FelZl#$l>;u
+-j\-:B&8tA/:`eLJNs1X(6CeG6F8_)C^%urSl5R1ZaF+7@'tY9R@fu)Gm]TcI$=0s
+!O=SDDtGB;2g:UMni4C<pU?2rSmMLJ`^24YJG&rX@YX^gp!$!CI071:l3ikC8.Yo<
+?k2Mcn:`(Q$-e!g6`3dU:_)t+"+lBHhSWZYdE)F5!LXBU:kZN7Cb1H.<+Ca4@OD4D
+k\rgI'b2TL'C,a\dG]o>3N*$l"Fl@gQlmBD'*L=MCQ?maWB&rKTcmAKPQV?&A&fL7
+Mk.4bf2H^XKkN'*UhNI<`UMXA'=S`]qXGAeWL593(j2NLnEZV%oA9QK^^`gh~>
+endstream
+endobj
+180 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+20 0 obj
+<<
+/Name /T4
+/Type /Font
+/Subtype /Type3
+/Resources 180 0 R
+/FontBBox [-1 -22 49 63]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 34
+/LastChar 126
+/Encoding 181 0 R
+/CharProcs 182 0 R
+/Widths [48 48 0 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 0 0 48
+0 48 0 48 48 48 48 48 0 0 48 0 48 48 48 0
+48 48 48 0 48 48 48 48 0 48 48 48 0 0 0 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 ]
+>>
+endobj
+181 0 obj
+<<
+/Type /Encoding
+/Differences [34/" /#2323 37/#2325 /& /' /#2328 /#2329 /* /+ /, /- /. /#232F /0 /1
+/2 /3 /4 /5 /6 /7 /8 /9 /: /; /#233C /= /#233E 65/A
+67/C 69/E /F /G /H /I 76/L 78/N /O /P 82/R /S /T 86/V /W /X /Y 91/#235B /#235C /#235D 97/a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q
+/r /s /t /u /v /w /x /y /z /#237B /| /#237D /~ ]
+>>
+endobj
+182 0 obj
+<<
+/" 183 0 R
+/#2323 184 0 R
+/#2325 185 0 R
+/& 186 0 R
+/' 187 0 R
+/#2328 188 0 R
+/#2329 189 0 R
+/* 190 0 R
+/+ 191 0 R
+/, 192 0 R
+/- 193 0 R
+/. 194 0 R
+/#232F 195 0 R
+/0 196 0 R
+/1 197 0 R
+/2 198 0 R
+/3 199 0 R
+/4 200 0 R
+/5 201 0 R
+/6 202 0 R
+/7 203 0 R
+/8 204 0 R
+/9 205 0 R
+/: 206 0 R
+/; 207 0 R
+/#233C 208 0 R
+/= 209 0 R
+/#233E 210 0 R
+/A 211 0 R
+/C 212 0 R
+/E 213 0 R
+/F 214 0 R
+/G 215 0 R
+/H 216 0 R
+/I 217 0 R
+/L 218 0 R
+/N 219 0 R
+/O 220 0 R
+/P 221 0 R
+/R 222 0 R
+/S 223 0 R
+/T 224 0 R
+/V 225 0 R
+/W 226 0 R
+/X 227 0 R
+/Y 228 0 R
+/#235B 229 0 R
+/#235C 230 0 R
+/#235D 231 0 R
+/a 232 0 R
+/b 233 0 R
+/c 234 0 R
+/d 235 0 R
+/e 236 0 R
+/f 237 0 R
+/g 238 0 R
+/h 239 0 R
+/i 240 0 R
+/j 241 0 R
+/k 242 0 R
+/l 243 0 R
+/m 244 0 R
+/n 245 0 R
+/o 246 0 R
+/p 247 0 R
+/q 248 0 R
+/r 249 0 R
+/s 250 0 R
+/t 251 0 R
+/u 252 0 R
+/v 253 0 R
+/w 254 0 R
+/x 255 0 R
+/y 256 0 R
+/z 257 0 R
+/#237B 258 0 R
+/| 259 0 R
+/#237D 260 0 R
+/~ 261 0 R
+>>
+endobj
+183 0 obj
+<<
+/Length 159
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fQ07<%p4/0Jup&1#shF1,9#j)CQG*!2]=<OqrA0$H]h`:7b_ei<i&O
+>l#L,0eRmP!+uI&/q$N&Kp&1Y<%^r_L%kUss)7o:i'69%"8*e\n@o!_@=1[ej8T3h
+o+1kNp`F#_Q`DK8+;\Dc:Nol*~>
+endstream
+endobj
+184 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"#%A5Z"]I42'LT#i/e^SphZ1SPeh^:P2#n92\Qhn$>l*Cd-AGe%*^D/,
+IA['X"X(k7=.uFg1mQ857H+7Wq]GP3U#ZIS&+ZNX&*+fT8G`Yc-tED^&3reu_,-1d
+6GsB7$-*#F)sSC-i?Stt:'.PJOUs>=gC#2)1&kb_O$`hSrdu?Hs0*/,ro=%!%jSVi
+4h1X)!!<5)?IKh~>
+endstream
+endobj
+185 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$f5u*+f&-cM\(*q^TK['acf0Juq8=l9k_F.HH5[CtJ]XOcnX@MLe\n'2BrY+5C
+V"pHQbPVHa7ljI>2b3-o\ngQZl6"hb'G#;(WP,]!"!?Fs2!F(m3ie`_*9lVXqEW\f
+(HVS&^@^ncWTV6>X>q..(!ec7EYCm>`+e4==Lm7Z9@#eG'O>=eEcY583\8W,d?dKT
+-5\3eeoSg#HBBMDV3Yi6OGVV>8($E*'##m$=%b:0Y-FD"`])SjMC-K=-E*uY0-kqo
+9<?#FDO^c=Z,fo(P)3;rLNjTnkVM\%5Mgl)\bIU%@MgZp2!?ms2ZR'F4Ym~>
+endstream
+endobj
+186 0 obj
+<<
+/Length 335
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P5t]'\&-^Df#mM<9gq_DC1t,,&B@egeR"[5s4Fk!W<#",ak@T.,5!kPI6C5G"
+h4)B9Ue(HaC3R>Q%A-jB>M`]WP;R9U[J78om>a+A(,bUV@eQ@,*k8VT\OFUsqnj0/
+V7YcKpWmL$?*fKti/+9KEn/K62G51S?7j'(0/AeiXo;g4'\*_IIuf`g<+bDeXqlpA
+Wemal+h(d:WmaGO=%Uak6$+?f=<mK/Ol9(E*SFkPn64/05sMNVStAbd2AHrpbUf(+
+jB)'b]c1?E(dp&ET\!%eT*X3K0?SnM.WCkJ/)2RO%0pp`+/Zn,;m(=%2k@K<56Cns1ZM@~>
+endstream
+endobj
+187 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fH(`="lO30Jud"1#shF1,K/l)CQG*!i>Mt'o^B///==h\XYdmoYVCP
+9tBmZJ9"ok:'&WIL0XSH^'Z/TV5[^k/dai05O^mF#=<#FAGj7<KCOF9*&@M+rm1M'
+q&fJUp)j2tFn-"4%/(,&%0)gs+90[KlH'd^"W.6;-SM\~>
+endstream
+endobj
+188 0 obj
+<<
+/Length 247
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4V!'/'SIVD-ElA6]F-,=U1-RN:EkLL<ZXLX/MpYKd5[$?^s[fgc6A+2-Bm9H
+c0Up<P>iba,OMBiSEb?t#:!l<'2BdC(g7#/PK3YJZWtA<`ef@!H4nL]F6/[jom4.h
+-!r(i!(t$mj.LSco'l9k%o?gc$TiOZGc7S_?G8:hJ^loi@]CoZQn@inqk&>0PXW']
+b.?],+uZ`nm:7=GGt?J_1WsKLc]XL,2>AD!k-C9H!$=q4ir~>
+endstream
+endobj
+189 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4UT%k'SI,N!jD,"^'eV'dHq!4_(>el4Fj]D:p`tYYEbl-KTm7gEKUL1'L$^!
+c.eZ>b\3eAVaf-'kGacP>U7ENN-#Z4RDm[#*7%Mb#nNJ8&oK*h=R;?rbAQur]q<6G
+oE"`;7k3"KRL.\&?3.VLhG1""1aL*t8*f5e/f<N<_]PD_eGo(1KFZ:bT$H*p0p0"?
+B*U>'+0XS`(4/qiB/]M\EGrc;akFmD4p(ct)5P^~>
+endstream
+endobj
+190 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V^h3srhi&02q(0F/_.k60Hhq1B67$DnBAnc3E=TkGf!hCP5Ln-D%iP&[hmdl`BZ
+k'`t_!_Ol985kc$7H5E+fQ%"H3@2D:eBdB,_m2UOU+f'EZO3`'YU5@0g=,Z`\mi&j
+B$&9qdXi&En28)4+!\>uhP-:>&rhR`*+\)T:p^4!G5sEW!.oOt)q[Elqu[una#V]K
+3J[4;PVI)IFrd`&HI00I=HD2DO8'ds;E&p&~>
+endstream
+endobj
+191 0 obj
+<<
+/Length 142
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<\RT/0i9X0:e3>%.c`?>"H"'F!%DD@6No8/982G3/gjFIrG\DHQbE]l
+F:)tf!)fE&$7/-;WEc#I$NL,Jr!ri?Z@PJU!s9*"8J&^7O%^b@d`r<C536hXj9jrL
+$ikH9dc1~>
+endstream
+endobj
+192 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fMaY1fc:g;D9q*8290Tj8t2U!25N(:eo=J,RYl]F1If'\b*dj@U/aN
+5Y3SVVZ:?56S<d_?\OZ;dSqhp(PP*E+8?q^5@?[j#_WTk(`i\9#DPGOru6KmnNZ%u
+k!.'SfFRI1n2&-Ee2R:ir1D0_P:M_&0ECd&.I@~>
+endstream
+endobj
+193 0 obj
+<<
+/Length 128
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TaV3t=M@!/0=u,h'9?S7(6[ZlY&U,ZG8(;F0Leh+"0,YF+46e1>8r]qmMi%1]n0
+:<gR@)HnL=/j&>(2:D`-Sr%c0BV=A#lb#0pQB)S$s%!gVcQCM&9R$dB_9N[+~>
+endstream
+endobj
+194 0 obj
+<<
+/Length 125
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"";/X=g.3C+OK4HN8/it-\V:lGL'kKr5U&4TbK5r@59))oV=+F3SH>;r
+%(Z!nI2,A38lN8_>nfL#5@E@kh]U7\%tPks!W*E-\Qh;.!kA:5!3k5r&c~>
+endstream
+endobj
+195 0 obj
+<<
+/Length 176
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn./X;OIN\Up,6"gaL`^Tq"$_`h+:f\,fY`N"H5OKf
++%lH@KG2QPj5@i]0_7LRS7mWj>csZ'JR!^+!4@Y7RK~>
+endstream
+endobj
+196 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0ogin&;B9X`Lfia&XWqS&hlpHJo7k.-G.eL@!>6ONHQXf1lfEb-n0tu@43t@
+2IA2&be3D@)d,c_o2sF/<bqMhq8c.)_kjFmOtL5".=Me4PT9WmP&^,n.uoLjXi)3E
+HT@]Ns'4spDub4,JW<'i+V3':!(7;U\e52PWeLLreU',u2a\O-+hFmXbh='8KVlWE
+-NH)4.tSRr^YCmn^#E?Olc\5N\RtAm<#0Ms4Mhe+`jAFd<$uD/[j%o:YoN`kq4$gT
+!%5.i-3~>
+endstream
+endobj
+197 0 obj
+<<
+/Length 181
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY_M"C`#H"]KJr'LT#i/n76k+3_.B1K;^Y!#!Da>Y^kqqV_e$L0XQr5Ue=6
+VZ:?5+NMr4TqnVDQ-7WFiVt"ss8RSi6gt=/IK7=lJ@GW9)<Cht!TF2HbQ,N^5[5H3
+^[VDh^&c4Y(`:mE(`8VX(`4)U(rQW8EOgC9"`aVJ!7<Bn)#~>
+endstream
+endobj
+198 0 obj
+<<
+/Length 285
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGL0i#\A&4AIOYdBCN&75F#n:)-59-96dJHQ\m!(mS0eDK'*7nH4?152!%LPAW%
+prTS-RGH\+KJrJrp?/+k_GdA9\f7_g=nZK63,K+c07"JCGmM#JRi?-WF1AgjSMoMF
+G^oU8f't4t3<>3f![8[S`*j7W0T-2`2p3r-X2H!?@QG^b$(-P%$aBD`i6N:`#+rgM
+JM!00GVFZH_)ro^&]2Q?2MTb6YZ<T"bF-q<Y"V3?>?UcerNB>:.>kI)ibW:JfrfGf
+(PuP;lh.4NqE4i=8ARj~>
+endstream
+endobj
+199 0 obj
+<<
+/Length 306
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e]hZI!&-q]_1.8^mO5P?c8>DuTSLbM;aFFC,%mV!MW61Y"ApG)/X<'/c3WA1K
+`/pT8ht]Ikm:7H4>W's;ZFuB1_]R\%EO_.u::f`q1%>%bLS!fJC%kjs+N3s3kuJ_*
+qaWZ=52Wlb'4"./-h=9*Q**LYNehc]6Rl+DalsY:fB>NC3&"]1!R(X2SP73$?_T7Y
+0H)bjNU/0W5c%?VrT/R+TW_YE"`e28k`S6+Xr128^$old)>'OY;\jP9XMBW`.h!'H
+jE,DS$[T1VOS<$sI69o3:P-"_7cF69TD<+"^CnLd~>
+endstream
+endobj
+200 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`YmS?%&-h'I%Y\-`#e_&$2Dh.4TdlEqd)cO>NXgrlNGmB<kp(<::`=E>E'cJo
+o"iY%g^pm0%!20-_UTQC&g!^Ab8J9H.<1J1Y'29OU_cuCdY"SC/PfSm5p,XiHrltb
+B^H@72n^=qDu4&)23T+[Y[^36&_k?BQ]Q(#2Do8$.G-@#LPY>-[S+]M@%3TBQ5&2+
+B!S"DHu&]C^RB\eA%FI_>1dUM_fl*G8HE)~>
+endstream
+endobj
+201 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.gZ#7ED$jL*0)3DMl&`OV"+b_c/:.der6_uQC+ornj(#:A$qI]IMft(M!$rPg[
+&>GF,=h__<J(q;BR7JL]>\9$p4NT5=,>UrH;(e\iaO(+E"'7?mCRLKY/^`RZH@(dE
+ZhdZsmiQnZkMh>sBn:951p0^+qtVMA+eo<;!c]=iOLhC2U-u,'WB,Zg2JlHBq?%@h
+GCPQ:s,ZWaf+kmDSOoOe5U"9"6>_@"CX.hB4<8cH+3s)e5s<Ud#GP2J'!Cr5.PGOC
+na?H<._u&~>
+endstream
+endobj
+202 0 obj
+<<
+/Length 318
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000i#Y@&-^Fc;HTC-8+9a`Z;Io:\$EAk6jb3<2ulcQJ=n2P>)qSe=JAA!H2%k9
+U7h!+AutOs$jYJ-+D75R^$IE5WT.(JO!sF,IurX%6Ou;nn7gtW62Dh82e[2X]"=2e
+g[S>$h`dWW]Frb2<AfqS+e!KrnsV$aOje!M;[SF71bEl.$6$-NJCa!Nn]>91$=M_X
+IYf$?"]ij+RB4h17L]qY%S`4=9(_<nLKiG/^j*(AL]e9,_Z9X&r.k,dV&3_l:"o*(
+P5S2=>gk(01ckN!4t2^7UP>ap0_bp*?kL,UA5^,_q4>>+!19%W4o~>
+endstream
+endobj
+203 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;N0abcO'F%r<L;I/@"Q'A>%8F*u$<=nNJkd@P*?>ib>OZ)b8rq?(KCnt;$t<*'
+6,"M's%d`g+_mMqe.K\V4=E0VPk&CAEIrM:GfT/HO;j9CN)G`f?@g<ZF&X:,)R#L^
+&^1=F`&$Bb(@MXJ,AMU!^sljh<#LJ6_C"M9a#eSQMpJan!SN]Kbg`&U.NB`pqBjNG
+Fi*\:*#&qITD2"Vq11bDm.X[IYV`S<k5bIEiMH~>
+endstream
+endobj
+204 0 obj
+<<
+/Length 290
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGM0lDV/&4Hh$+AK14?nROK"IAE^a[maV=A#S5+AS?AQJG\qUN)M]![S$(T4+tb
+'Me7XrA4'Ehf::V.HN"FZB40?%QPWAf]_?^Q>7qAF7iMHIX#(<p*mt8Z^k9iD;S\G
+kH*O`q/lGpqGe(4J0tT/'E^`87NuROQ)^`IWDCl$n).JQ@7X)G#%QEiiNZ'oV_Se[
+'YWi*5WZhsX-'R7"?h6%)SDhUL79nc:q1OEgRYn(]fT<)6PO8.s2@GK#+E\:/LtL7
+XgBDLPA9q6I]N9sIg5uG9X3@~>
+endstream
+endobj
+205 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000i#YP$jBI3Obbj=gjnnu+<)UWG,n.A8>JM&C(C</'Hh(Wgk;`P;<A-_:(cUJ
+#p:.T=4i]7m=$E%l/f"3^6@r<4LXCkFF,TWA@n')][`VEn8&T0Bo^X/9lm']di@d.
+V)?MB.rVW[:M.6P/-I)X!s7!Q;5GRJbX@+X$i*b1)PTZ>_'-BD+PFj]rrC8#'j.H"
+jZiMN.SM?6F!7k"bo@`:QURu+M6ePe&q`h"en?G4+\sVJqb[BdMh75)r["c#Eg'4T
+MuGeZ(mM!b4q)a[(c!>i=<Wi6SqsK)X,kVm?6>kD&Tj,F*mMCo)?B`&[.s~>
+endstream
+endobj
+206 0 obj
+<<
+/Length 133
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"";/X=A>tZ"aAp;mBE[CK\V:lGL'kKr5U&4TbK5r@5?u%OLeHV-.*&1Q
+']?'#aJJ@iX&)\nR`aaVU@@.A!W*)s#'gE%#R%CCfRN[W+5kSdjm'r&a9<C\_YQKl~>
+endstream
+endobj
+207 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1fMaY1fc:g:b]=W8290Tj>&Om$6(C\)?Jsl$ph0a1-(]Eacf@^>f"d?
+9A]h"aeeG?i2g>-V=3ZL:f:8]b2ql^nAkM1rr_s"lj&n$&B+R`s2Y+'?3&O[e9:nm
+mf<uK@/e(ATD9T#5P@>.J,"N_5EJ)PhdFc,hseDNs7-+oY+AmL>^uhTpI/!T~>
+endstream
+endobj
+208 0 obj
+<<
+/Length 243
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;THi0b2&S$q5dcOM(2koa.(AVCG9)$:n\mJr'S+7KsFJoOo5@7ptZp&KE08UjPW"
+`D3L9Qt(skob'oOXb&VK'sSa$Kk7-caOYUH6"<0OZ)BqUaae2f)cRs)!M>G)(!IF6
+Xb=.U0e=`!+.Wp.bk`/E9jG?%qoh/Mq4%/'inZ_;/(2Lc&UE`1qP_FJ1U_[l/%CnW
+"N-e`n8#l8*sC%g`WhWcI<c<oLhCc8ljTEB560a1Z3g~>
+endstream
+endobj
+209 0 obj
+<<
+/Length 148
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<\Q@30JQEY[STLLj=94G0a%h%-l<gO)!`%h(n0\l.O=1t3I,Z0LF\`/
+Ep7oNV7?/g!h:!UPc(]O8Ps1OQ`#a.!s9,4LQEX1TcTVTL`ZU0N;n_>&G>hCKTKHA
+Sm6hOJ,oYO5=r<~>
+endstream
+endobj
+210 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T`q0b2&S&-NYD7(S+#YV1fBilFqb$6\:/#q?u]-n.DX!u9_9;t:&`$3^,VEcA:h
+G.d!B1I6`s#%if\UXjO_gj1W+Yp`M04Ior*TZWDN,.FA6Srfu'1MB[(L%FQ7-TB*+
+ld)+J&h-sQ?>^'Bm%n:aAFa@'M1c<:jP#f++AEisMh<#^BfOoqiPqHcGp`p?neCV*
+ZM<upk9mrM#!WSZbP#5&^72L*Kqf+U"p!ZRZq:~>
+endstream
+endobj
+211 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`?_$YcZ&-h&-&'A.)!Ps&4;K8I,$<GLpJi`Q)eZhJ=B77-.`CKF]6(DNp.W&nq
+pLAsrQ<cMg#SZ&miadq%(sX76Xs74!itt8uZTgaY+P`ZL+^B!p_L+.00%:fCQeN,%
+!f9Ot9,);+OVr")TQSL;Y,CrJf"NpsrE,o)d<f=#Z$\b3=$\-^^u?e,$dlFnZbA=t
+)7=9GX[BM<L@qM@8h"lW7Uob1==Vt?@fRG/kCr~>
+endstream
+endobj
+212 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.h0l"Tk&-^E$<!]AK&Mt:pA0IAnQ,#s6.KW3'"#q`83$bo_pgQ.qa<&0o$DF)[
+<A:pXo84R@5C_sPbbUQ:;X-m:&+WTgNiT!?c=FYNqS(IIZJ"fKj^KglP)C+sENsh:
+P`gsu<PH4s5.Q(S^isE"/j#bNaWA:G*_5B!hJg$'d<1!E_M.gh4nYdpaY6DA*$^/,
+3CZ&;_FO+9_14?*+2e]f%0qBBS7n,uZ.3s<0o>,R6Y[?6/!F,<bR3K5[B\/Nf%1$f
+"RIBLd"%`mIcoSh!1ii,K`~>
+endstream
+endobj
+213 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)gA"]I42'LT#i/e__;hZ1SPdPFkL2#n92\Qhn$>l*Cd-H9<e*^D/,
+IA['X"[anj:LAg=U=*!n:D\]h"sE[O+rKT"8[*%0+85a7&!0=Gp^\SK@jdb^,U6?Q
+JUoM39/"M">kUM++8-iJK06+Y3&K\6E0+I1HS/AqY!=VT!!RMj)#~>
+endstream
+endobj
+214 0 obj
+<<
+/Length 188
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)fV"]I42'LT#i/e\fR!5pbC1K;^Y!#!Da>Y^kqqV_c.7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PMr"5Z$><,4-808;IORf)?c_s8NU#,X9e2aT);1O9`U4
+"'-%J/O:#9?C8k0D'sru^q^F*)]1g["sag*!g2Sbp#HJ@!Xo(>@-hh~>
+endstream
+endobj
+215 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSX]aDV1&-q^*$@tS2,Btl7241,%"[Bd4JkeL[3]\ZM[u]*1nIZ`]9$^/Yf%CU`
+OLlZ[Il!u/9kgEF(lDsJep'QWV)Y/n:=HJ6SoD:#1<&HJ7Urfj(.QLGMWBofk]))Y
+0O5>JE6)9NU6sgl&.@]X3IhCd$5QC^'peq;MEbBqM2L226g)f[?f&_)GV^rkF"c-G
+Tp>!Jp&tC'+BAJF+:C#XX5pG<rmh!#PC-Pthm>/LhkJrJ(*!5'4oq:1:SpmdJ=]E;
+YABA[Yhf[F.3@t?!&KZ&+9~>
+endstream
+endobj
+216 0 obj
+<<
+/Length 164
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""C`$#"]I42'LT#i/e_/+hZ1SPe2((N2#n92\Qhn$>l*Cd-Dk&E*^D/,
+IA['X"[anj:LAg=U=*!n:D\]e%.t\Zj;Ss&+#*1?0ZY>D@#'gT&W#cqpAb.1s3lg8
+?sk*JdaL?M,V``Hjm'r&a9<C\CbNiT~>
+endstream
+endobj
+217 0 obj
+<<
+/Length 133
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"#@\>K"]I42'LT#i/n8B6+3ZUo1K;^Y!#!Da>Y^kqqV_e$`a&?]5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PN%t#)<.CbYX?iJ0k3pi;Z#H$2d!MEqSK#j8o_ior#sg~>
+endstream
+endobj
+218 0 obj
+<<
+/Length 167
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)fV"]I42'LT#i/e\fR!5pbC1K;^Y!#!Da>Y^kqqV_c.7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PMr"m/R+cDdZrWOphbXE"X>rOo5Mo%O:O34c"Jn:F^X?
+!=8$2^a'!p#n[3]eoSBJEWpIa"p"!nr!*~>
+endstream
+endobj
+219 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um(4UT%k&-_!SJ<<-\)sCNlo4&Ib"9*g""Kae:>$<?.R]%$,Diu>I>(iuh=_&=I
+bQmUMDPAl]'T.g'1`Xn,^_90>OaS+bIR$&'YWLi$6#TED!554rd$q1N'VLeok]4BY
+0UWT\GReH=i!a&pSj?GG5q3cWWE9O!9:Ha"ptp8(VCQd_D69kG%%if/_cJ-?bY<$0
+[rS5A-p--Ll"E`=VNf\\e7?"4O]6eLjoBE#;`*rXrO<g`$#]5o!5,SQDu~>
+endstream
+endobj
+220 0 obj
+<<
+/Length 220
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR;0b/e3%"R:T#Eg\ZiUm9KHiekY"?#]Y-9?DPEHKRkN(84bi<YAN``gPn_?jJ]
+Tj@LR/SIEfboEQQb&XL&?89Q5.-#ob\W`S'\mXXI*\#4YDInO1g98SkofKbB*bY+\
+iW+_j!)r:dJ30H=Ke`o\6nB/bk1O\i%l!`f5_pc2Y<P9j;9"t%&k[%Obo-YuW>_o7
+q?VM+4pO"f&,7"B]]ZJu~>
+endstream
+endobj
+221 0 obj
+<<
+/Length 232
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_#0b2&S$jBI/%$eKt#k\@o9aQUbWIRA@,a^Ok0J\/dDN<9mEI\<.3t"@`/.?fe
+jiIFXSP`*U4EaD^.3/k(d$e(g;Doae_`DftA*^AQP;QIE@gf>\]:`99%Ge2]'=oK8
+J:\X=1)2jX<""^la>r>:X,hfK1@_>!]]kWNf`,?jks+@,a_=E%.,.Z59bfKnd'Q*&
+#CV;"pno1q/AG/520Ep#E/1Ut!&$Y#>Q~>
+endstream
+endobj
+222 0 obj
+<<
+/Length 274
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV]aDV1&-q]g$@s/_,P5;-CS4_;JfeA*5pma>*?>ibmA'>Oq?W)kU$(M]kb;Gj
+5JmA_b@M>*P,5mhCeUUop(gGkj\d)HBM<U-1LYLGBo2)?Z5h>i7$pa$1U<C6/%V7S
+#;#%;"5K7oJ=%2S+r.I/JYZ,H1G'jrf<Me^n&G6$?T[he57Mhla4nrgo[Nm:=85j0
+E&s'4iV2$W%I7h8lYMQ,%r/Soh\pDdqIU0qf8V7.*#O4%I2P\3+d&"iJn6fuM\7uD
+*!#QncHc~>
+endstream
+endobj
+223 0 obj
+<<
+/Length 304
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH64\ip\$jC$o/I&c-&aTlj#eNs^NO44($7)SD!'n*6,,g>d_6rDR3Pq"0U6t*Y
++<$\E,QH!ZVUGoioW6WgV)GG>eU6:tM^$<72WlrDi,R)tSu\Eb>HVkkibEgiV);?Q
+S\DhN4`c+TQGX\ZTNN&):1g5!R>=D>1PSSdd#o*&A9bRL#.#T9'P?AYq%*,B'JXEY
+2%W&'_,r[M-SdB/*(+s),?f?t7GNHj6s*V4jSG%'b9*U#j9+G9p^^.[;W:1XrA;>l
+#YYh5"H_cu#uP-3!Nk8bIP0:3S":_sCB0<SXk<~>
+endstream
+endobj
+224 0 obj
+<<
+/Length 162
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"!b)gA"]I42'LT#i/e__;hZ1SPdPFkL2#n92\Qhn$>l*Cd-H9<e*^D/,
+IA['X"[anj:LAg=U=*!n:D\]e$p\4X!$^MBE0-%Y&(H(OJSYOR5OACPaoDBr(&<B2
+!Q8MVW5hAZA[u&/\H9;A!s%8Vr-&~>
+endstream
+endobj
+225 0 obj
+<<
+/Length 244
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V0.3srhi&-h&%#m@+Z8(bA&DOtUP&/Eted)lHhV1kXdEjRu%NfZ"baLI-p0J!W>
+1&ip`q&3a:ELpQE@'RXc!Y<@.du:P6@Cf!'B"6Wi<$9JRB-?mp!`:!tR"/!<Hp-@G
+:g:"aC7/Uk)TEYqoVh/)dk7B2Vk5.*54tV]`j($8m,9SA'k9stS60L#Y&rd2OYs[c
+\`^?[^3)?AT7p2GlOZH_fdJTC[['tk+RBf4i%k?>:%C7~>
+endstream
+endobj
+226 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%k&;K.W^kHLr#WijL\<'+j"b4<%JlWpX/M.[='B@&4:U3KpZj;[*K*e?Z
+H&D'EJI0@V7#cVS@>n'B3t4[c,9DUWNDL/.`bZ/>8KcYn(dYCa"MnV+71DPg`:N6!
+LLc.jVmiS0%MbT-8k!=!<7Mj1B:bsa?Rd7h^.RW3$h[3^<(LZ)XAs*nfpK*ap@_F,
+L#5e8,ZYKLK\n1r[9]3Pk'WCnO-Z3>NQ0LPj&GF?ECVZL0Mc'cT)er#V:@p~>
+endstream
+endobj
+227 0 obj
+<<
+/Length 299
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V/EZ&6C`&;E\Q"K&H3bIi@l"SWB66-p9=+_]s>k`o6)Tq.Q5g-/+M_(nI3EFq._
+#f?#=bfoM!s0%hh7Pi`;d,u49F8SCh9:T]UqoEK?#u87F.PO#KaYDUD$.IFR9bJ.%
+])5obYkTOQ%UuU!#*Ej7URmn\<@=W+SKsVK`#o1CR4IHGO+d5h\PUk8=?05B-=\>M
+)b>:`YjCVIm-39>iUG.^D*-t7paP#e5J:"T<S=&:mPP7JSX87bGdO=D[7bB^Y(\U^
+#raS''!Ck2(j)%H9/E9!RfX,q)us@ej!=~>
+endstream
+endobj
+228 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_!4UT&6$jPW("X/L>Tt,^Ia!tsKp]G[NFRfFskb..pmq=jVO3k.!BhYUF6"_?d
++F/_f>*)ORF>TcGSB_/l0Ug/NlPN@u)Z.D9MTZjM,=PQ'[M#:Cgoi+k0Ab+:rk)XO
+-4?>p!D$+-J$%1?^filR)CpU7d74Dd>r<9IB1>Qm0hp(a1fhhZji6(u3eqH)m'W/X
+6#5!mWLu#VS^r1hVuCQ?qGdRmB+@[P]m6NcM=H,"!<CBqr/L~>
+endstream
+endobj
+229 0 obj
+<<
+/Length 141
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"ZrGD[:bXV$0Jca#1#shF1,9#j)CUsl!i>MtJW`8B3L@q2P=n,F_8qj6
+hZG:IV=,,VX8o%YI2,A38lN8_>ne1o)#c<F0[ulVs,@!XNu6)k,n*&t_WC()(!$Oq
+!001a=9~>
+endstream
+endobj
+230 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn-oCr/!\hFr-Q(c06TpAf?k4J'aMWfEr%R+84,isP
+$mYb&#t>adE_M0#s$.4sq70`n\H9;A!s%NX/=H~>
+endstream
+endobj
+231 0 obj
+<<
+/Length 143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<m\6N0X=M/1KI%$j=94G1'J"'.$tr')!`%@ja]a>/shbLQ[ZGrOXZX2
+#>g:Nh^Q?D!D%M4.[1X4VK-sn-o<V3r+BDFW(4imZ24M#%u_@\JED>p)#WQ;p#HJ@
+!Xo(spXjH~>
+endstream
+endobj
+232 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70i#YP$jG"mU0-JgNt>Xu6J.En5T4>;M%iKWE<)Z-fG2o"UWlYVKTmo^5(@05
+#L+c8bOuIuIc8,h3Y,:53e-I3Ddf]@b*O0p48$PXL[BD'?T`/,I8J,@h:&KMf(P1(
+H2)]prm$p-81m.O^O_-0JIOU?CN9R-*]MP?2@GC)3[@I_3H7g<;*-c:/J.5/3>?U/
+cIJmT,&1#:aJ#T1,3jp55H:3&ebgQMU2>0]Np1V]3N?;]BU%pSq#H^(7ASc6p1uqq
+!4kRl&c~>
+endstream
+endobj
+233 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.gYmS?%&-1'-*J@Yf$-<]k)edd(:_h1ski;uIUP#:^j.@(aOaKL9%`N\E;!9AU
+n.P/Lga-1)PkJ(W/5u@LSMf8cXrPY%.\1:r&Z7.F#*U9s@Bu^D-KT]Q1aZh4*r"h$
+c!&Z&Ve%(g7YXIili49N1NH<S(*j2/W!u#I)fa&e'd"QpVc"qUXnYd1Sq=-'f:6B@
+Z%?hBZl(CirLf?Aa'b8XbTf0?/T.<1jHJOU02&_Pm=7FV;%bel&,7.FX17FB~>
+endstream
+endobj
+234 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4UT%k&;;L-#Y^F,A1jN0jp/L%J%ubM<ZXLX/JP<G8'=d'#V!4oT<eP+4(7oA
+2p?VeWeJZmO\$_H39Pm3>h1CMUmaq4/TdmM?$Y+DI[%/#I&edCQi!$^S@:S*gn,C#
+f)ebQG_uMl&^V,h6tG0^o-2p,+/:b^U2Xg3#%r:8!PO1.N5-5D&H)pPcg>DBVVVIQ
+9S4$.>c-K*pdi:c)7$Hm09clfUJO&Z0;QBfFl'KQi6MC2JsqD~>
+endstream
+endobj
+235 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`]afWZ$jZ87#>H"82u3R_K_&[unKX146mj'A*??u*\A=s1-p.Rk%><Fs:g%r:
+jjGKhJ#h]G:dh(?e;P_Q3e_fIV5+sTA4Fs+Pb)j,i$(Je5Y@`bOV[eOh3(+sP:bU/
+O#&+5@]mOWjpG?jGAJb:Q1a$8Nj4,4R);`'OI<MaZ>)(CPs#ljQZLQ\O1;T>3D7W(
+N5%\Lk==JoVu2o#o<eJ$acP7>R:PWQ4(q+d`$R9b-GPcF#%@dX3FX.I`2n<k33EqM
+j(eW`<9TP~>
+endstream
+endobj
+236 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGL0oj+)&4It@YV_?#i4/h,!g,f^#o8@3/+$@W!%9:>"YK8lEg.OeV$i4-3##>-
+NLiUhX?V4"[4J,>GpW,_Vi#tLeYoG;;X0<8B8Y`'2_C@$=Z'IPFi<D(HRfhtm?_)X
+DJ*iO"V1YGaT2J]+OCN>.T@c^U-!L;L>YRSh@C*K;iImR(iA.Rg+WO\,XWHgeEQiH
+<kmjiN:9<7:t(2"qdaeG18E)JLaElSCa's+Noi/DH1XLq"u#NR-9HPCY2paS%KKg8H_L~>
+endstream
+endobj
+237 0 obj
+<<
+/Length 213
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_!0abc_&-^De(4g1?KZjUA'/gK85ZD\15q<J=.4l5;]B!WcMT87"r6B1mQc<Ll
+nn49M(G!VGl7"JkQ?(+C`jXA:U0Zh8c]n$dCWGQ_[Uc_n'q>'(QCNrhbN&S<fPL`k
+[D5$Vn>6?P4WVL&=$H860h-dN)\_F@@F,5mk_Z8'Pa$XeZcTu[)(c`B(P8jA#!r_+
+hE!jkG6$;c_iF~>
+endstream
+endobj
+238 0 obj
+<<
+/Length 328
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V_T9hN>h&;@1,@\>W-K[^/^^C2`J^o1WVK!%4d\eJ*Xga1gYO4$OcAM8e&Y<'!$
+5o]YFl)K'u<IZ@'FE5g<dVktcjg!cGmQ8)4Z>HF"D6+",4S*IOl<a=IX)$4pg>-(+
+_pruVmr':D4C3md$744nT/:4(!=>Z/1(Tep-$h#hAoVP;HYYjOe/>%>U_2)U0__[I
+58?j*FNI'QA8Y3insKS.1kFg<l5ou?=Cukhb#9FI/btLC^$.d=Or8pNUU*KF7Mso6
+0W6d&jq7XSg9XO_*@qa+dg7'G5[W^6kdC7>3J5VC#A"QOm")?0^>nY_!#)m6)#~>
+endstream
+endobj
+239 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bVl:'6==U1PHN1Y!O``'-mY?)X&%gk^nWO>V7C"0)]a^1+mtcTG3a,;h23+
++d]p@Y<kfXBe#IIMo#MWs$4rH#U1.J8;P=f0_q=bnfN["r4l,>,S)TM"%`\$I\8P,
+%.%qrnH[DY%.&I/Uc_0MK0>U's,S<&,KKmP#8l)80X*Ji0HX\1AmbUbL(Qa=6m/d?
+Y+AmL>^uhTq`NbW~>
+endstream
+endobj
+240 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""(Dp2"]KJr'LT#i/n7g&hZ1SPdkatM2#n92\Qhn$>l*Cd`hm#;*^D/,
+IA['X"[anj:LAg=U=*!n:D\`bs5j:\s8Rip7f6X`+V58oFejNm$p\Y7(kAJ?^^2^h
+!JpONDbpuM(`4+V)h<T(".T@4_%L"USm6hOJ,oYDj5@W~>
+endstream
+endobj
+241 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^";:%0U<%p420Jup&1#shF19q%?)CUtW.%'39Jg>nXE\<]B-^T:lJrq@G
+^'@Jp9A_26=i$1mhpYZ#Uo6,8bL8o=s8RTBs8W,WLYr^0#Rh@KaV+[l)#4+c0X)e^
+ruh7>cOdl'^E*U=`r@.A)?)i#iWJl_ru:;B(`;NW(k=.A`r?8\R/_YDi;`h4_>ZZc
+X!^sk(LR6$$1%f~>
+endstream
+endobj
+242 0 obj
+<<
+/Length 276
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn^C%h3&-hXQ%$b&n!^c>ZZjjD%AALK<#=0^Z5TLjZ>r@\o8*M6X3f#NJM;[<*
++?pJkpZ:t>A7EI%#>tt@C\bbk&agO>[Vr"/"ZC]K=.HE>00#MX&uXdO6nG7d6;GSm
+NiT.haG34H[ncUGn3M0hk"\mUad;+elC.qFlOpcZ,kO9)RXcZ)_n;k'@@]Yb_U.b"
+RrChL`#J!??$+I"$$8HOBl_BYSZp\[)ZBCn__$Ueob##Q(l=uA&gC7QX@?R:mjcX5
+?L_e2:Z:"a~>
+endstream
+endobj
+243 0 obj
+<<
+/Length 146
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^""_&,i"]I42'LT#i/n8rFhZ1SPeMC1O2#n92\Qhn$>l*Cd`o^P&*^D/,
+IA['X"[anj:LAg=U=*!n:D\]h#58)s)&S_qL^"F\s53;l)Aj;.pjnf`*K:%lE4L:8
+"`aVJ!26sK.f~>
+endstream
+endobj
+244 0 obj
+<<
+/Length 218
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR50abc_&-^E&;?WkR2oo5HmKO:X+9\Ej.0Qb8J6E:0$L&1Al4Hp3Z"2(Q@%dge
+JcGNC8LLT":52;\:,VJR3`Dp/h,%TEc<V^.4&T4Dg2a&^/Vf<b\Xme-W`nrcE][)T
+B+\M=,4-(-)Sl\:$3?e33VWah8rF1%.)n'IJJd9hNkkMiLX67_6oOrZ>-EQE"$CNh
+nWW\T/LoK$Er]ZiS>Z~>
+endstream
+endobj
+245 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:24UM6F&-^u.;?Wle#WijLCg]Oj@9#"8TToaY98aOeGE8&bGQ^YIEQh4`7rT))
+_OF+Oc%>8/RQ3;aT,i%gT/hbP*)@6G/%(u80ohCP`YR6N^LB^an+_?Y>fa*OjJt\#
+I\E)o"]PO,9E_VZ%+tXReflf?A<f>dRI+Qb7fRQ4bS+T=%a[IG7MSQo]!V!LT\fb!P`VC~>
+endstream
+endobj
+246 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d4V!'/&;>m9CbcGi?nS+^Z@u7'rZkC/B]T9EdR']d*0$_4"A0$,cZ-@s[/#TI
+b^86WL!7KW`/;aW=ZK^#EF.j*a)c6!X#n;bb0,[KUZ;Sk>?u6WgonY:<pesfIpTWg
+$TnIR.0Wm15XR7k'O`8]H6c;Z&>L\$K/W*poLV;P@PDYYd56`j!W3HPNK!je<r;+D
+p)Ol75Ohof\cc:Ob'VZ0#8J_@RTFlZK6VY"r=!To54E=fN]`1D~>
+endstream
+endobj
+247 0 obj
+<<
+/Length 278
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF00l"Tk&4L5/&XZ$Xcs@i\A4/ttTYqBVJY_i;CmQaeP$0o8Nj;/OWC$CW:DSLc
+6[%ECb^=%%9_7U$rl8m;S&RCP5M#\-$n_?EChbJ`LU4F[Q@%o(Ht,mop>a-D>'BB6
+kPP"Lh5^br#E2fM*ePE-J2iZ2_O"[R*Cb$)7?V#2UnWVI%(ugS!0]-fJlikf>NWs$
+:/88LXFF\1eqo7*6h6Eojt3(HV`?\"!.VV2HNc0&!k2]0i;Ydj,i6Z^gV$Xb9WIB\
+dndXe!)oTZ_u~>
+endstream
+endobj
+248 0 obj
+<<
+/Length 281
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF04`8,%&;A/-$)B$>&Mb.F[UEa0-C.1H`C2&N2ulcQJ=n2PRZHGQ\9)0TA\A"6
+P9NGa:YL)h2t*kS8LR6"01)qi@RE.DHtF>`1mD+=Vl1>qq\-/3%X);k%R*kP@(giN
+LkG=uY*[n*dl0Q[Qi\SI(a,`E18>)L@j6QZZ(ek91rtn['F'9K5)Vp1#'o5'Kj#9R
+U1[t$No$D]m:QNN4<=<'8Uk$0PWnX]>=Hf(=n?D:&5C/N?,tYtB/op@,a!ObdiSLB
+Xig)]Du"_[O<jM9~>
+endstream
+endobj
+249 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_"YmS?5$jPWs*"#hrK]WI1Y2oimiLhZFK:nD=TT0M>cIYRu8%D-/FGjjki8SDm
++!`"k\2dcr24\5iq,Gb,>Z][_XCi8DX`D'N'?D0GeRUR!,1GnE>`f=s^>BuE$7cmS
+=!7l)6!ALU!fL@mp_KqX@%=l?PeAeA<LtC[V!F2a]g_DNbOUGf:Ngr>IK;S>)BXa[
+0Vrob4hV(#<3*5@~>
+endstream
+endobj
+250 0 obj
+<<
+/Length 267
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UT3Z"a>+'Lf3!+hYfjnGRm?)[E`S:]kSI8?0%JQnjAiodj5?>O.nTra8A,nTeJ.
+#\9;_&+4^J-I-b.1ED`!^[J%aX\9tWM8fdkNCu=lrDOK>'X'QW;QQjn=?J7EPbNWT
+rU0.uoh$fk0=q7'Foc!A,<K(!1Un"\#4%\nJm%[e'P@oIAk99O18n<?]QEB1I;0:r
+i'*Fp,9<1!#.aS!=5a\S#J!04D.6A+&?[_^fD'ZP?i_*H^ZEnC@td%rnfmf/!1-uD'*~>
+endstream
+endobj
+251 0 obj
+<<
+/Length 208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV0abc_&-^F3/HXDf&U#e"]:22Z(PiE9+_]s<e1u`PF`K="Os=e2,%R2q"e.>e
+Qp:).Z6De!XZVl/2NDYr+'>=8<_rPFb>#LTfEAPt.Oqe13MC:b>ETSYoQn7?(j<i-
+a3:e(L';r)_"<55?W(JO<@oO2B([6%.?8#a39l/81lpmp$(t%849J,KY>U^!g]ot%
+G5rZ'\c2~>
+endstream
+endobj
+252 0 obj
+<<
+/Length 188
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bVl9>sec/Es6&HKbQnW67sAo,\R6)oF-:k5U&4TbK5r@59-V\9A]h"`MN#;
+i2g>-V=3ZL:f:8]b2ql^E.IaK&2c.n&-EPsL`?Dis+:FP6R)P\aWEd2iVs-*fjN^Q
+_#D*"JUmjc+!A]#rrJMb^q^3iq8'l'^^a=Ys8P<MX!^sk(LR57$CrX~>
+endstream
+endobj
+253 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTr3srhi&-h&%$@sXh,OAZ#o+\Q8L^L!j[.433Bq]42c-:9n*$JmNOE$T!+>EE'
+5CYEX(4?U:iseI>Hj&qn39':o(p3sGq98d@8IF;`is<:2=5YBk4U0i@BDd4-:Il!u
+#c0teKbQi[@mAeGCKm8HQ[0HI]0r_?[&@GTWmm]=OtEWV7^I[uZ[tZ3Ah0-B8rKh5
+@aZthN]j^S\oWRfKUf*.d6*1o$<R!5!.N4jL]~>
+endstream
+endobj
+254 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH45mi3?&-h'ZL(@mY7sK*+dRP4`'!*2l6*315[;8^i>0Vu=UNcp./YZstO:ka@
+#QOhA"B4qio*#dIcg[Ud$phtfYG3.Q*;[nY"E=M"%YG>*'i3c,RlP6QOu6Q![j*.+
+1a4E'b(MOe't(?PBq"^gL^\]RM)'C_q0s\fO'\p4<bZCgeJe*2g"AX!hS6E;[]ga#
+=NIYUm'dll;]V-;/X;0KWjGA)Q3hBd4THhWMlm~>
+endstream
+endobj
+255 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$#^C%hC%)u3cPUrsI6Lt94QJS8W(An8X&9RIDeBpS0eZ3W>8*M7?ll_:uS;9O]
+>e][t-"]IuV,G<03i,c,=#>d+Z"qg.6DIY%]\k!SkWgK2BHn9^MqsPlagZB,4jKFu
+W.ZO?\:>G"$psa;/)KB<$YCia%><hAA?KNM@6IR"qSEG'i>XO\X(8G,#C\*0r[Ft\
+ro^oVAt))bR4bV5]AuS.Q+FHOLmLTPH'[1p=.*</p$t,Qa7,-bnLgtcguE#IhH?7c~>
+endstream
+endobj
+256 0 obj
+<<
+/Length 305
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt_+MX"&-h(?JdZYa,@k+G]A;%L"Ym52fY`<4HiWgf\Di+LVYXbIPWhEo4Y.U0
+8]f+Ap^T*Jbb'2MF'?rdU87XKW[iBIEJnu$X)hJ@ejV#^n&meq)_@S[Y-<0?4Y50F
+[o?haD!:2+pP-p5=jR@V!t%;G31X0.h(dr<c;Dl3n=K-BR(GrQ2=*0+Sa=%<gUBa+
+3c-mV`'JOfI3/=rB&7MCSL+(_GaaOT61[mQNg1_W[KgZ6&"6mmFT/=]>CtLsi3btW
+hn]h+CI)"oTS)g2".:6APfJjomi-Yk^B"=2M%V]~>
+endstream
+endobj
+257 0 obj
+<<
+/Length 213
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;N0a[t:&;B'o>6r]&"QoiT/4lP#YUZ#,d)lHhV1kYOF0sbmlk(d#`,VBN(+/*t
++^Zs<b^lP&'KJp5?dX^.?sFZ2W8_6im#G%Xnlnk?r6i=#fBX;UjR\6^kNd]iS3,n=
+fiSUW:+<4;Su(aWRXmo)(3aQej](nU=<=;j.@>]9R"FRpX9B7k!>@-f'/76T5L3t@
+>%H@6HN<fVG>%~>
+endstream
+endobj
+258 0 obj
+<<
+/Length 224
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn./a,FrrE*!s*km<s8W*!+s)8j"pb6o!9*qd5l?ZT
+6nm)]p]D^hY_*o",S#>F_&s74lp8R>3(k;B$W[M[nV7VBK+O^&!/Cq-KYV$H!"V;5
+8:n_n(qNtTSm6hOJ,oY).hZe~>
+endstream
+endobj
+259 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"1/Q?*:bXY+0Jca#1#shF1'\.).$tqTAb6C^E^1g/QcmL790Z[tS4h`A
+.)i%O']?%mUca&?8r?5>\NF.3R[Y0D#L1LuY+AmL>^uhT4/rq)~>
+endstream
+endobj
+260 0 obj
+<<
+/Length 223
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY^"<RA-M0JQHZ1KI%$j=94G2?sR-.$tr'R-GOjja]a>/shbLQ[ZGrYrS/b
+#>g:Nh^Q?D!D%M4.[1X4VK-sn-oB$Fs8S^B&O\>&K*Zf8_>jOb",Qa0^^_W=J;?G6
+5iNkK#`rQq1Oodniu12D!=#29*e9%gE#)Oa/.5M!!7ORO7tO)1*%h]ed'-u0&GE>i
+"??W*\m2D0>_-.1!<=dW&@q~>
+endstream
+endobj
+261 0 obj
+<<
+/Length 173
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+,:bY_M:bXV$0Xaq72,d%#j=94G2?X@*-l<jO=QgVPQl,-l.O=1t3I,Z0LFX2\
+Ep7oNV7?/g!h:!U*)BpqP+pB(/l*:;s3:S)s'ti]r.gu;nHX[eis,c-`WlnRbRFU^
+r!X;KndI`"lktA;bs4_<JVq!C4h1X)!!<5n(F6s~>
+endstream
+endobj
+262 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+21 0 obj
+<<
+/Name /T5
+/Type /Font
+/Subtype /Type3
+/Resources 262 0 R
+/FontBBox [-3 -23 101 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 12
+/LastChar 124
+/Encoding 263 0 R
+/CharProcs 264 0 R
+/Widths [51 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+28 33 28 0 0 46 46 0 0 0 0 0 0 0 0 0
+0 70 0 0 0 68 0 65 0 62 0 70 0 35 0 0
+57 82 68 0 62 0 0 51 65 0 0 91 0 0 56 28
+0 28 0 0 0 46 42 42 46 42 28 42 46 28 28 42
+23 74 51 46 46 42 38 37 30 49 42 60 42 44 37 0
+93 ]
+>>
+endobj
+263 0 obj
+<<
+/Type /Encoding
+/Differences [12/#230C /#230D 44/, /- /. 49/1 /2 61/= 65/A 67/C 69/E 71/G 73/I 76/L /M /N 80/P 83/S /T 87/W 90/Z /#235B
+93/#235D 97/a /b /c /d /e /f /g /h /i /j /k
+/l /m /n /o /p /q /r /s /t /u /v /w /x /y /z 124/| ]
+>>
+endobj
+264 0 obj
+<<
+/#230C 265 0 R
+/#230D 266 0 R
+/, 267 0 R
+/- 268 0 R
+/. 269 0 R
+/1 270 0 R
+/2 271 0 R
+/= 272 0 R
+/A 273 0 R
+/C 274 0 R
+/E 275 0 R
+/G 276 0 R
+/I 277 0 R
+/L 278 0 R
+/M 279 0 R
+/N 280 0 R
+/P 281 0 R
+/S 282 0 R
+/T 283 0 R
+/W 284 0 R
+/Z 285 0 R
+/#235B 286 0 R
+/#235D 287 0 R
+/a 288 0 R
+/b 289 0 R
+/c 290 0 R
+/d 291 0 R
+/e 292 0 R
+/f 293 0 R
+/g 294 0 R
+/h 295 0 R
+/i 296 0 R
+/j 297 0 R
+/k 298 0 R
+/l 299 0 R
+/m 300 0 R
+/n 301 0 R
+/o 302 0 R
+/p 303 0 R
+/q 304 0 R
+/r 305 0 R
+/s 306 0 R
+/t 307 0 R
+/u 308 0 R
+/v 309 0 R
+/w 310 0 R
+/x 311 0 R
+/y 312 0 R
+/z 313 0 R
+/| 314 0 R
+>>
+endobj
+265 0 obj
+<<
+/Length 375
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH9Ytfs;&-cNu"j%JH,;:cia5I?p.[!^D.87,>!S#OaU\-rBH*;n3_Um`*$XcIj
+DOd-6;`rlf04?cNoC!qZc>YPZ8\DiLNp/:T`UF.)b.hS6_M+cL6E8KOD]`AT6ZdrP
+$IK"n+^/3C@LQ+_M9esNpQ2!jn`i4ee6XQu'_$<^kZ(4uI5#M-NF8_n)G?[gVdK3m
+\YF2T,BY%)_0/NA5J>Kl]Z^ZL\i8%dFb\UHS*#J"Bc+!oq\j-94Ws8!lk`%Onsas@
+7B9^]0nmeMEr5>&oRbD;Y@VorhF:J)PoQJ#4:gHXofWd@V6CS<Ag>YD3`(6n*LeYp
+MLegu>5ON':!F8dPgrs:.]%,$\3gPIF1?tN!<>\Zf;S~>
+endstream
+endobj
+266 0 obj
+<<
+/Length 386
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V00Yti1j&-h&\*eM%8A]qbPRtfA<:6>lSA3ba''aY]p5Tm>B'gp$U;G[R(,8Dk>
+2@iZDcPH[XEZ)S^k=ba1C^Lgm9js8;@!2V91#+/SM5M$&B5SVXirsVH$/@]7A^9<T
+81-O60MNTAY>-8"EIJ3Ic`[jA56Gap0l<u\hEmI+3Eh3_@>+$L3C'E;*a/m7AZ-r6
+NbbDof!hFm+UaOnd:$+2L=r?5$2XM#Gi@?o>&2HK1\anLd#McSfb&!ZX?pKOYK!ZA
+FP?LbnS@5#s"'[Wr1]2*F[bgTlWOb`ULja)d^n(Ta'J!IXjLl=^R)'pA@X"eLt8IZ
+;X;%THf#jhi2u+TSeV'&2!27O+69jU2]K&C^SB+gI\-.Hr\FODjrHt~>
+endstream
+endobj
+267 0 obj
+<<
+/Length 176
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^";p[D/:bXY$0JlTs1#shF1,K#h)CQG*.%'6:Jg>nXE\<]B-^T:lJtWL;
+^'@Jp9A_26=i$1mhpYZ#Uo6,8bL8o=TDT5n%m]o?)$3%,s%*1ir;Z<ekCKl;s8;of
+s6]j>s/H%gs6'ECruV=hqE[IJ\Qh;.!kA:5!!>;AW;~>
+endstream
+endobj
+268 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SV50b-H&(^A>j^JfM-B`#9<``aWK8=1@sUOfX2\fc:Io:D81''V!=j!*.7hR!]M
+=t$5M3,_>*AtnlN*<StRC'mZ&GokRph!e@`:OUT%N-GO,DugQ0~>
+endstream
+endobj
+269 0 obj
+<<
+/Length 120
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY_M"Ca_k"[`BG'LT#i/g(UT5g!!N:dN\580mA=3I,Z0LB@^joKC!c;h23+
++d]p@Y<kfXBe#IIMo(8L#OEC[O9#FK)u^rYcfOH6(!$Oq!'^Q'!W~>
+endstream
+endobj
+270 0 obj
+<<
+/Length 225
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSU0abc_&-^Di.kFAX,@iF"adNbH#XVL0$UH9RTU$@Nf#F3D:"C9%/k*i@@C$3C
+GVf9n`FLtU=KkJ/Y48IL!pPqjd`5gkELcMXS=qbNmkLA"]]KR\Ek=SCAqRSYr<-_h
+7+AMse]b<0Ha>(s(N:t:Al_eW,h4,.G,FKX.),FBVtM=TH?8924e0Y>7goHso;'i]
+b5(4K'p0%O*(7"dY_1g5A@9:2~>
+endstream
+endobj
+271 0 obj
+<<
+/Length 376
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e0i#VO&-^EL/g>/m$Qs^J!03&(Lh`ad&h]9=iW)58!J5WW;Rl?2\;I$q^4rBs
+Bl0\$P-ppM0a38<iL/Mm5M<otc-i,Y-G)*m`&oFD9kPpRS=@KO=e7!?,G&67.bF3c
+a\j/:;G"p0q^[lo3576kn"26o^GZ'ekej>Mg%g`b@RcYcP9Di7O&/c578#\K%Kk?Y
+m#ULn[+P->p4mM';QM3le/%!T[6ld](CqpaBAm\P<]$,Ohk#gT!1_c*VG\6t*jCQI
+kgkWO/JnVLT1L5eJo5=cig2V>jo"VO\.L1\JO@m"'H.F9rj0Q$fM8m'Mn<[^&`6Y?
+^2I;4*4f(kTc02j0!As+&W2+@B.Q9KDfYfLIg5r`2`;W~>
+endstream
+endobj
+272 0 obj
+<<
+/Length 148
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\:bY^""<o&o1J7m]'87,fY!Oa>9*LEeOV(D^cVVI):sW#_3L@q2P=n,F_:4W@
+hZG:IV=,,VXC0,Gn*-lL;H0+-jlrN/LB.hMIm@[m(_%/Y:M8#S[[-_R`-Om4%27oF
+p#HJ@!Xo&kq2,I~>
+endstream
+endobj
+273 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!Z"a>+&-1(B'S0urKA?Ai]K9QJ<$#]S?4i!Y+(/!D:pa4GTUl'[5Y->KH9^>1
+<ueit\Kc*;@.l<k0s`s`'1SoLP;Xa+hd`%(mSFqSV/F9I(st);KO+lA#^$Bh!F8"D
+Hg>/M@J5Sbl21XhB=)gBf#=6Zo":/)[dkt4:CZR9o7pVX>P:?t]$b?P/?]t)iL(W2
+r3arngLLDa8Yss8>$C*G/_HTl;sN@$\\)opmHW9<Bs+=.C*TNt_LaqT3P/o_m!Wa9
+G"%_h-UuLI<+&cad(eg6Gfa>!k5bQdeZA0~>
+endstream
+endobj
+274 0 obj
+<<
+/Length 370
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#IYtDr"&-1'?;B/Ao:WWHak&O_dFXsAA.0QdNJCDq5d5lJR>j3mF/GtJBIphZP
+=>J1I-?+WgJ`MNUA7fJ_.WL$Y$;Zt4[_up7%g>'_\`VEG<Y^Bb$P)`;qZNB,np;q>
+OC*&;o$-P*(6I-,q"jRT#k]JV?`N?I@oXkaC@3$DhE0:9A1VLpEeZH?gc:.6%=&[P
+,O3-/Mu#H;n[hGh[b#'VT!O1bn++)h#"]5;L^rJNPGfE/l03ie8<Y+<A[6#oK6g]Y
+f_csgBLi&^r9jOJrTsLJ4n(XE)f[uS[,X<Y5on#/[@@;Pdg9NlTk#M7AaGpfNZj@Y
+9;n&:bfK&$BIbYO,nhW'dc8X2WeNV1)Z]/t\>'~>
+endstream
+endobj
+275 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015t]$['ZTYW(PT??&b7PNP8$(45ZKKG6!#*m?+Quu3o+r3.hu<6NJJBAG?KTE
+IW'UBMG7LLb:kT25B0=KG_P6!]-T\.ZlrL[?g)ZU=n8<&mHKne2<Bnc9$2'l7/?]Y
+MQs/Lq#0U?L$EFhTBJ-s;hg]2C\I#sQK_+8EAfkM[Mqq:bbFK<-=?f.H$ID@mjhM^
+*g<MeS$K/<)E-FlbV"^?C/SbGT1Ik<ZY>QZlSrp[6_efcJc):7+EnN:k0`b7/bd<`
+N/%79aGm&ojGQf$Y%X3VB-CJ?;a\"<hfFBF_?te_9G+k8l%+9g!&GR60)~>
+endstream
+endobj
+276 0 obj
+<<
+/Length 361
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH9_+oVJ&-h&=*1G*fI0A[9PYt_SSk,k.E\Pm>+$_tI;5<=9i-Y5K1`h%(I0>QM
+2N0H(=]7j;^mFCA_t(.*iuEtM4C@#mJ`RN:$@%9T#%bJ!\TC\fO`-;-f[c/QE4(8p
+Q>;S#n#rsG]Y;;X[uY1#YEATVL,,W-g=rWLW+<G"37aqUok^P*Ipm1`%Ll9FB])W`
+@D\*/q/NS-ZrrLF][i/+;aqjV]2qGClc7@2\S)oJUGA-aW1.JnZ2C'WZq[ngXbrQs
+*L'0,]2O,t/<(XH-=c/,S#Gl!s4O]@J]&qi.RYhm8d5p7AUCjs*FGF"bWaL)%kc<p
+#\ui/'Rc,Ap"=<dE)XXVr!i],PFo,~>
+endstream
+endobj
+277 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A75L@1uQC1F%Sf6`ra.'*ACL"EI60$l*jnJ4+E1Q]ie`I^jud!LLM*:l7p'
+.DT*&OA"K[=.uFg1mQ857H+82"pTh^J)CHkr!t%i5m/tNnH2IhUC\N_"@!7`!)1J/
+&-p"(4UTR:-L+G6"u,QhRJ7"6(f:PW40J\8GmlqR0PKa6#VK1SY!=VT!&FBE2?~>
+endstream
+endobj
+278 0 obj
+<<
+/Length 262
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V0/3srhi&:i^K.0@uZ#al'6&n,8fL^L!j[.433Bq]2\_2IPPiXJe_#WqHa$A1FE
+q_9WQr,Rf88ok=jApDPY!]&ASAl^q:EK]SPE/(BIFH824FKM/XXgSVe9>/0romVL=
+M55e9-2l7'd3-NS&3)ue4VN,)R+OdL,T^8cl/BH8*X"k1-mnHAaX\qmZ$E@V6-R,$
+2UA$hHH,&h0!B=^T+Q".pN/]p7>80cLb.\4*RmP:8AldtN(F:U2=06_!)uZt<W~>
+endstream
+endobj
+279 0 obj
+<<
+/Length 413
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V02^IlEu*5M*1'+7t&)^I)0D%Ef!WH'K@61?4&5ogs[SU9,%op#joI>sH)5eCS5
+q>'n6r?lfC,bImgj@dptN8t>dALs%AI#6N<9,$)NZs?tUniXeRq2MLt(-]kt@Gr7+
+@c@1B>/i,;n)``Qf.5$_,T+i0r04YjmFY1h,LMgUSlJ%g.YrK5pV\k^R^#2J80"=P
+,.9nI-[(LfOlgQ$MYKh\//r%m#7ajRM*DYhU=_e.PKdcZ[;,s0_QpQ@#:^SD),!.j
++<.XH_HIT^Z#n2(7g9(7N64%IimtD3SAl]e['o4XTQg^Dkh-Bo5m+Q0Ml[p\A-oF'
+IgU.?-T7Vn1N6&ST+l@X]_HfgZ$$7?^ZQ(TLM[rg`7<c\WLi[;F:p]s)ig!,G8)9q
+-bIXVLA_P]!Mg!F~>
+endstream
+endobj
+280 0 obj
+<<
+/Length 381
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um(4&3^J&-cN4.3c=E&`O0`*n"riJejG=JHQ\m?n!Ni:cmL!\Pgci\V=1r5dk_G
+AXK_C84$b^o8GMls6Z(B`!0;7Mesg7.=^N+LA-A(S'+c9,e1P#nQj8sB9?gh^;h"M
+GE4[,j`1)=5!QbfH$LoJA0+"^(_!o>c%/"a^^@jiU&g$f""\X0NX1%rTnrbQJst_M
+kZ);9mLcim0EW*LU`DM`"%3M*5)b0Ti*!E3U0%JH5WF9]%877PM+VML#ZY:E5uVH!
++mSU9B9Ygc.Qjo]LF:4E&K"&,B;'h6RoCXA(0L35#L?iN9KX$"M2+o3^`Q64'52\,
+XjNM\-IDC^E)8G-LVR?jl!_e$HOc"Sli4aY^FT*nrttfJbecj~>
+endstream
+endobj
+281 0 obj
+<<
+/Length 288
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um)]l&HV&--)^#,GK$#i#e55U=!Gb)]MV8F=n3BKLB.Pg&W14:7.baFJZOit;[1
+R.H*Z*4CRW@u3'uXjQS,]7MQc&uG-&hGq';\bl5W6Nb:Tg(K9%Sq>tkI`)SNk(<?^
+is2"dP#(jf8Ms:B,+:H202a!7Z>8"I&P_W]12!r?;)BdtkW8QFCXt,seB[<bXT)1=
+Z7f)KaZ5un1G;=IW6(uJ:<U7Ib'GN.cXVhfmH#9;kL_V5MTnK.=;*a6k+R4)$ghD-
+2:8].eGmCrJIhMp!".G8Jc~>
+endstream
+endobj
+282 0 obj
+<<
+/Length 350
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015u*,!$inZRquoYNisk2U'JMl/OaK$KKo)rpJ@]ird5>:E(dBXc#2WbCZ'\AB
+%O%GmOEnsT*G?l0b,M,Q@k'"/:?]F--S0>e]98_[6=R7U4lW?Tm$>d6ZV(U5[^eSs
+!jh$H?CkLGYW4(Cp26scm7J5s6H_J:r`&B03"Yq0"JK<08UQ_,@;Us[&KLC[Ak;[d
+_Pa!u&&%K*LNH"ghCVhK*[Y-&V$m@X8-%D0:+R2jY`!b18dVqL>U2_ilD:1F\"K?2
+,(>T=IhmEIh$!2QZU\Z,I+Z/nZC=>:o&u$og33trf(W.)j<V"kABW\`lTk#$oq5fp
+mE[Im1jFYf!s$phGu+~>
+endstream
+endobj
+283 0 obj
+<<
+/Length 280
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V015>&jj&-hV,MhPkcKJs]LP?0#qJc,\J&@D!.C2'ATSTL0EV(>j;26u9E.8too
+3I.dq)fU]1nM)^O9TaD9G&B7)$d6k^hC($&B61HU[H1sHmHKm:'r?t](R3e!N7-8T
+RYC$e5MeV3W7nJ6I%?\N`97gM9ac%Ic"L__@u8dp1tJ6!BZiV85]`V8C@m9'N^.^F
+9*"hE02=JPStgjp"aHgibuMi`=bI3P,c&nVOB,;71n$HNdNH>>ifJZ9)glD^$*p[1
+d'fYRqAoVHi`0^~>
+endstream
+endobj
+284 0 obj
+<<
+/Length 392
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V01_+MU!(r5Zp*X91I"bbq?[*'ekJl%hlp)pl/%kp.m;"Q)Vik^Q"LJm>O."-[>
+ejIOAf6j#<DMPYbqEa^KF/7>gl!3UOPTFTtS#@8XmR9=Yf4-["`7]^].GgA7@U=rY
+>3/\F?/SCeo;`P$793`pa+pQs;4ad&j-HqQ(mAb`%BH.7!:'b=55GDc'J(UMl"C8:
+4'?k&n=RT7\h2o6cj"q1^Q;/t:&Kr!M=2$n!A8fHdipLT!.!pFO;R-Tm+Gle(\g_k
+ODSAmC^o949l+W68ZW"mbD3<QdaKCG(p`WfQ/sWW\0gpZeLn'PFtjqF)n8;e`,j8T
+#UtUE6rjk1+J(Bi[TL)trC?i[fH_`\Q^B#WCWr%<(-&*fQoHV86Mq5lS<Xro~>
+endstream
+endobj
+285 0 obj
+<<
+/Length 337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#I0hTAL'ZTYTMnj+KKZjTV)e!p5JQ9N#JlWpX/M.[=A%/:9>-RK7]As%H/k*kE
+pYK[R"G\7P17A%GPI-:,\Dk%]e)R-aB1[sS2R>G]ilQe=q^5OU;W#HXUqYh5WRj)l
+Z&uW2Nit*SO4%?&i&ua4oK/b^Gg']W"To/ZAkq\0:2DH),o:4<("6TkCt6H1cU;=1
+%+4R8d1?_@i*_@qLnt4IL2b?X75u"/'Ga-q#TSC?E.fHXs!#G>aMF"P,J>>8,J>=o
+NdNjmEFe+NLOVn[?W%fZ*E%PfKH"KL;Ah6#6[%.ED)R(9&/d>&),0f;5V?9OQ1"_R
+'ff".~>
+endstream
+endobj
+286 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^";:%0U<\Q7)0XFSH1#shF1,]5l)CS]+.[]E;Jg>nXE\<]B-^T:lK!?2[
+^'@Jp9A_26=TM'=qC7^DQ)8SI\g[LVs,Va2s8P;SKKP@#s8W-!%kpkA6@8bHs&"RW
++Q=OoE=bMX7O=Kh6oum7%O1[FLjrf!*ej@k-L=Tc&aR(6Af/>a-b*DE\H9;A!s%:VT3V~>
+endstream
+endobj
+287 0 obj
+<<
+/Length 198
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY_m2-/']10-(e<\UjV8290Tj>&Uq$6(Bq)?M5W/4$RfL'l&5>Y^kqqV_e$
+AmG0R5Y3SVVZ:?5+Q_jg:f:8]b2ql^nGiMQ#6+Z&ru_pEs+,bEiX^XFLCl`^6p6M(
+J0=j/L^.nY+e1Lt-P"%NAiS0J-eRA\5E,Am+@a$8)OOq9".\:ip#HJ@!Xo(aLRS5~>
+endstream
+endobj
+288 0 obj
+<<
+/Length 278
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$b6#+85&-h'G/.+`f*^K;Y!]:8g6U:JjXjAU%?$QEmfnH0Yaqo'FAZoWF]ge%?
+15h7/PE]N7hh1a^r"Ddai.PH(N[>_L]Er:Bj&h$:7j07T:blJX8SLZnMT7II*tj^.
+0&B^%CsIh7ED+tH!uCrsAUs&gC/C@M`XS6"H*6*K2pE"RVKW!=PiVS!p1L@e[p13D
+@EW,lN<bFF$W:U2W&rcVVao:2^)X]SIJop?Y1+q$+E)Q!<7q[CI6X9XVRE:%/ejs]
+7SERu!*cC`li~>
+endstream
+endobj
+289 0 obj
+<<
+/Length 275
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TITZ#7E4&-h&\*fP!8H%Xl[5[kA27Y2hHTi*uF!Eqqs&8XnR@c4XZ]EiofNuk$#
+cZ-hk=n;O/rE%2s6_31(A"dn6j0+1XjI2tac3oZ0RR;OQ[]l\QrPi)0]&jFL`TIm0
+;gmS4J)!<^Nq=mE7UFoEgOOlsch-4g#hjh<RXt#<\[SM\UJp0lX`AE^X<cIr,]#d`
+?LO:ph2-%P$I7.I_Rq]Ljpg=hWEpdjHDT\t=FK95/fd:i/plc5In`8\Q/n[d(KM8u
+_>aKI\[tQ~>
+endstream
+endobj
+290 0 obj
+<<
+/Length 244
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`>4V!'/&-ZI#"j&S@J[p:46=XTd:EkLL<ZXLX/MpY7<aH0o7IULcDF&N]V5(<k
+Ahu*HH,W0MSa%WP@\Q;ka%S+Kk?OlfA3(`DbfJ`oo2:abk.)aQ7Zu!)$frcqHFr$0
+;D&]_@fSe#1sm7]1Wu&'5Qtfij;UHK9H0-A,*'IX`5Y!5n[tVP4WYX-&U4M0)6sO_
+L%AEm([Uhb]MJ\BBjt1S%4CbuQUf"%Z79E5^B">+$aKs~>
+endstream
+endobj
+291 0 obj
+<<
+/Length 319
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$e_+Fea&-h&,&&KHj%oA^?!Sn3fKjG0e"ns.hP7M&J'N>c/fe"7-qF^.sf>o3'
+E=^6QJ$RgHEqgcFAEG98PV\p$RGl>JV\d!&oLc[1+gsDWc4+OHl'^Z;V2q,c9(,TN
+FM>7sCl3RgJ,<>FEPmC9>m$ucje.j#S&eIfd9mo?4P7S!K6=9hh7]q:Jb<"Ih>5VF
+Sg`npQdu\!BT'rFEY&ai"[sp,Fk-fd6tm<ki+6O,^=NTk_,1KP\*<k/[3ccmH[fG"
+J*";oklcXI>0B[`i5nBFCW@)=e`YO$R?a`?Bfcp</a.cb#64qN.g#~>
+endstream
+endobj
+292 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH60b/e3$jPX&(eD5WK\$S[mg2&^C*J:e:*)Y@*AffA&dGNCi?E4Cgb9oLQI3OE
+?^pu\d!3ZeXl6hP=N^-ddZ#G$WL4B7(06aL:01%D$BH00$Fd=90\rp77^h?trHY)Q
+bs:MI.ZId3BO$N(2*A7@O*1fUp7g$7\cd.#jLPnOl%U<NVfO8aPR"#tb^^elIin1r
+D#r/G<<5C>;)d^&c;!,Y[fR[rTM7l\q@3Kh2h>u~>
+endstream
+endobj
+293 0 obj
+<<
+/Length 284
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%['Ys6r6fBU<_0:I=[MER)_%3c&TT]UW7gDK!6*S>%UK8piOnK!jFXY8B
+7$Q7NB(ug\8]]fZY_>Oc%GSq3Nu]#Q2QX`;pi[$.5&a2fVP]@E(%_R3B';9`NVF'd
+hP?2j=MYi`S)"^/!A_Aa`*FU/n&W0`]%hB\9Z\Q*)jR5jd>dSFRF8]H='J37'amab
+bHee&.UJt-?`)8Hg-j*5L;N/420J=odFI$MT8EA*0b]:;l/S3hAM7g:WF*`Q0TJS_
+Hq)W&0RtT7"ou!+YSR~>
+endstream
+endobj
+294 0 obj
+<<
+/Length 304
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta]0i!Be(^4;*>>4THEs2IM-m2VgOfY!B@A9"lcn-h+>-h`mL,Zs8"gFJ*1=%n;
+K]^J=TAe$6W[l?%dYjjNWmiNMf0\>jX?"PuR`!;mDUOk1fsQu+CKX;RcTTBnO#L65
+eir<\a4FYO>6VYC0Q"r+mg7XX*l7[^kJX3*K;f/]N8;>NE^2>B,<S!(WOE8\qD3j<
+$WH?9==,YZ/"K=GL<fg?M!^@n?pb"6;D;#[*.PI:%<6)uO%<A-$\$(S`);QU/IAIG
+)DZJH!2%)8'9eIH[u<nrO*CcfY*CC1)Z[umg&_~>
+endstream
+endobj
+295 0 obj
+<<
+/Length 289
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta]0hTDM&B=6n'S0t=KZjTV#qjsb4;CO5B]T9Edc-,78LdB:'WZG;-XL3J;FnfG
+eu['3Y?>K4mi'A$><_<(=LMl?d*\FYbBg6uHeREggcs2hVrj"69?e3SW7g!sF%8rS
+bqIDHO47O@XG)I@JMQe[W$4m/Nqe9c*"t\M:5GXF8"YDE5KNJO_5Ub2A.EC]6'7-a
+=,MK"J8lZM.,.#?0qcu7.%:<B()XGq;Xt!&`?4]U(*8^tZYY#LZ;t=`#oj",GXlmV
+j1@d)_!?Y+Hb-'2!<DY!nkK~>
+endstream
+endobj
+296 0 obj
+<<
+/Length 255
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;MZ"a>+&-h'K`PFD*#Wj]$S@aKA<"!=A[h*$1"!j1a&HaIKer\l`?V.K3f2-jG
+9t/+$T37*%)*XpbTA_a'4Q)ZH24FglC4=S&9#eql^dH$4SX)t#o9("^eXVVmC*F6i
+c-qJ+<GosKp"P)R,6KMMr@Imr!/5pJ2_I$[.j(PdM=qYN3SHj)h,Sg/];$2(?3"FB
+HiZC'TB52ZPKm-b/dg,4eHWXt.YCgUV[X`ba*/eS00j#;1\r*l&C?d6~>
+endstream
+endobj
+297 0 obj
+<<
+/Length 283
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFp4UT&&$jZ8;LI)c;?nS,F=ck`[quAea3dC^JFAR(^io'$c'JEAS!kNN9`h\\[
+FS<QJ%53e3:Keo"Yo[</F>5K%0t8pAL7lf;9anS`C36<+0K<E*0*Zo\5o]_6(W#Q7
+qIm[*a10slQ4ORgLbc]/7`shJKR(re:0+a&1+/-^*Js?CGo%_28YWl='e2Uqi??us
+KlTt7>H1;-W@:V9UtD*a7(HDjfp<[NgldQcSa7Nd-'(tI.3)KAoAo=Wb29i^F$Aki
+MG,^_@1&V-!$-5j9)~>
+endstream
+endobj
+298 0 obj
+<<
+/Length 321
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta[0hTAL'F*J)"-1$+>:VKGckmF^XUM9<V@^-*!,<s]-s/#IM[.<8]LlRi]uGR=
+(qUL"r4X$dVYQ,L_>F9/<1TtA3\"-8X$rj+8p[1GaW\]p*1)%_m[n1C;K8V7,o'L/
+U1/7dY"C1tC\@Dtr^cF1JeJ,r!?&/!H"9P.&X-lP3mgC9"9LJO%jRM0()mZhbb7;a
+c5=//&<g[SX`3:?8gef'SK%VW^\opj[!US:p\Cf5r1:]_&(?+%o.n(^pMdBO["enO
+aIp/daNV\"2u1OAs664A"3h$^*U#8G%q^-Bn>/33JhC9=V8!$2dU;P#~>
+endstream
+endobj
+299 0 obj
+<<
+/Length 219
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;L4UT%k&-ZH/$=TAC+`d\?T1Die;8FgeXZV,;=t!RpOM]Er#o6hliWWeX+uo#W
+?9mAfCE>U/TYq6D$?_);Jm/B`ck8A'#d^51S#spVEW]d1>(W-r#t2LtTE8O;GWMF?
+@&?J3eFfoqU;e.Yg+1h3,Be'!-ZDEGp%kc],1_&pqtIh$dKpg!4qr;r$K%q2;K\hV
+NGA>n&BkQai&:Z(XI1j~>
+endstream
+endobj
+300 0 obj
+<<
+/Length 341
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt5>Hks(^9Cd'I;.HKUE2rOH?;[P#W/E9XO?jC:T$f4!P:EbInP,JnkeR!^fID
+GWu+;<LT=_hRpss090#)@W`Th3)WVH*^fHK[P>Zb71@L/^@?I#Md7P)HaSieJ'BA"
+mqscmYN/0d^:ZUcjAHF.MA-rT3Q">[)\$"pkH97-cl*:i*aI3l_.NofNN&!]i8E@7
+a<a[qfaN^2'46G_Q4es[9ER`aq$<$@_*C[S8'Lc9/G/AYm(F]PJVDBRR[m^S,O>OK
+XBq>bbIM$/IpfVXOPPj]1Zt)>N(2Kup'ApX-p.>1G:hRS5h+&GF'$Q45R[2si[POa
+ib&8<V[d>~>
+endstream
+endobj
+301 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$dYt>*a&-cP(MM#X:&U%JGmhRgWb<f1t$6cD>!,?5AQo5bcYfnUd/Fj]0H%A]!
+`NbVVEsG;./MmFn^l/]R4Q[U#,K$tP(IRY%/XeP$_rFsR$p;;P[%V6Nel)0sLoT_+
+Nq"r%r;!UFV<4A5P&2_S869!3Dk*&4n3IEWpNu_%^#-qur-8HiK,X`**S_(3-NtuE
+/SZliJF_,fj=$;(]X021e>Z^H`a542TJpNgGLej0!T.W#%'E>P(ODYIY!!`o7D])C
+3)cOW:8Wf$k&_RCeZZT)~>
+endstream
+endobj
+302 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$c0b/e#&-Yl="j&S@J[p:4&P8ol:_P9O[.433Bq`omN#.,9lk(Wp#i?0?K][,,
+Zb-6-Ym-Z\4Oe&@;4s7Pm]mgeJOZ=[Mi^#@^.FWKJ'qmZrf/N!ZbosljEl;=?<>6-
+$CDNXjT(kK!LhMW<0.G]JN!h<dAFU0f'?ShNd.?C/t`0BM@#8DNaRJ/X<DI>V(2J/
+(pUnR(9r/W,7\.&bs[qmO't>?X2/,ThHMUe560C!Eg6"m//OoT~>
+endstream
+endobj
+303 0 obj
+<<
+/Length 311
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$dYtDr"&-h&#>:`I38(`4j9`d>c/oW;/6I<j[33T\cZqc4lQ+k\$.t!<r^-KgT
+bPofBSOlrY=QZ4nR/G+(r%>:?c'L=am7Toe`*]Jr=#Rb9,\/j;Zn<eQjuuE*3MU-`
+G\o6/ap7h6rjelr`kn4<JR/j!E;2Kd'n4p9:gi2KfUp`>K:N[j?/];%$8LNYXC3t[
+F4TYbU/=0M#)2#H/Bsq0od:2nq'\a=nZP5[M6<#_6*-,*7hsCAQ!:heGHa11GK0s)
+D*"o7')<0]ph2H>R].XO>Wq=aedGWnQq=b54ji-eklqIj~>
+endstream
+endobj
+304 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<m0i#VO&-^F?>QdcbPj*?D!4I_9,na[`!"poGTV@DK.4IMM8qe:*&?b$JA<5Zs
+KsdP@J0AW5nRqUbBX;bTGg<5ON3eJLKV)1hV.hPr_YK/RB;lB[V\`MN'L2.FVta;)
+'JJmX32O-pj7g%UMMc0R[eN0C*u=8*KnV0-%Q."OjHW(XKH]Wd)tgR=BEU/<df33:
+.X1lk8dluqME_M9,cNUAdLBb5h1r@p]^klN[p!RPe"q4A%R,glRa'9S1VT)o"afMt
+320<Z`se32-RbNpbXd2YLMdHFT^Mm]DTpet~>
+endstream
+endobj
+305 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<j0b/e#&-Yl>Kul.k@HR\!#R%b6:_U;ldE2QiV1hBS['Jab(^mK$L't*=(5-g5
+X)6]hk5SuO)2=O;35T3`8Vi--c4Ho9(h++d2Mk+?fUj9&&F;)G+]t->Jp]@E'4QsQ
+bO#REJXru-XZSHhj@crZ923Sn<(ke=.G:1-Z2+tYp8g7DZ7;(sBS4mi\(hGhiA0ci
+*'29aTsaY*b/,-oKfbBmkU6<:=:3]tDZIrkY)<~>
+endstream
+endobj
+306 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T1K4UT%k&-_!W'S0t="QoiT/<O$ArdZF#XZV,;=t!Q%@U\MdP[#Kn"TgS2_EOTd
+`AbCj")g*cCSZf1XN#\U7Coq5PM!/YC!UPB[@FM'[PCN&>\\($S8on6E'@/@ktDWb
+j$qJ%!dOu_g8G6?8eeeqanif@2]jD^I5i>*cdd;kCQTJG+3&\=aP"'XX"j\p<)H@a
+n=gl`RA2)_B\IqWQNsIp.p]l]-r=q]bpY8L-E/QW4TL*ZGUE~>
+endstream
+endobj
+307 0 obj
+<<
+/Length 233
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSW0abc_&-^F:KeQ5]i*8N+S$884&/Eted)lHhV1kZ:C1ZXp!Z#)ei!!#U#T5"M
+HN8s_`I+'!,S<M5i^dRBTUF_5_\$@1h:eZlN\tH3[Kjl*W"$`Ne:JoAq.bd*P[3;E
+FP2;;+gi1b',&jP:fLaJ9$`@2UT\GE\3LV]Gh;iWMq/i'`XDgGIri"GgloF]qT^-5
+A4%jAT<_n5UT3<X>pnN`\V2ng"oqU-^Ei~>
+endstream
+endobj
+308 0 obj
+<<
+/Length 293
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ta[YtDr"&-h&S;?WlM8%<gF9l_d)f,-I^9He(\.sRA3MK\!N>[ckI*E`(T.sZ]Z
+DMk[5Z\c[N^4H6,J(?6_j96W)CmSs2?<?baG-6THgPQf&Q"J1`*N^50Y1V%!37E\@
+e\s9/C<lY>nbJK>'?1eKE<<N2mN(.,P2&^4I]HDS]q:ufL9EgOL3K9fn1Nk<R[rc-
+:n\e8e#TmO;ofAN1)OVZK/p;ceCU\<+4^5C^](haI-L%RkXJf6QjBFCaZOSDEk1$/
+gCRQ(B;3-RUY"_:ThG5"!8SI&Hi~>
+endstream
+endobj
+309 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$a4_hl"&-^u/'nU/n#bDFVP+i,F$iU1-#UEC[OJE<'`i`n5_POGHE8bR\kQ4Yk
+`Nh/'RpaZl"7tB.IcR"LSeS7`l^Zi?>#SSG11sm32(^'ehEGXS;te@F7G19Wb%At@
+Q;Km:G-h(=HGMSX)ufo=gfJ!N[DH=29tpe$2(lT9_Q>b'78Bt93k*?Ul4O-;M!P3K
+pkZa7OSn*s(E/qF_nnhVqS7'J]5n@Mi"aP!M_U=94!^s0%R#>c,Y/0IXQbFf"osS1S[A~>
+endstream
+endobj
+310 0 obj
+<<
+/Length 314
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um'_+MU1&-h'G4Tso18'&>n-BY1=\PO$b6-thIJpJ,1oXlb=oU&^[o[)2\kmO;r
+4Y6IlRl4)^&+dUGZhuU3\DR[#PWZ\>;8KF^I8X'bBTGcW>a@./o(#Q)Rdt*o.a%3k
+7/?KFL5#JT^V>6SW4lgo+g:E5.*?rTT6OpacbX?>hHB6!]oXGpF?SBMV-o!WX)3Sc
+e!`)@[HW"aBl%cuIUn"1@hg\2&0FaOCP1+E5j"8[prk&TNt2O4"7Ch&a!,%735DFU
+`X[#hKKYF,R7)V31Xc?=S\<=!<k1aGCs2pkX6GK?"ooH<eDp~>
+endstream
+endobj
+311 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um&0i#VO&;B(F/lp\<O0E[+8;rkg;FhL,+@3sIJ2.963lEXCiK>]oEfk-JjU7$Z
+/M'*jK0V]nNV$$<g^,RRd8<3tPh^k.$[o3a+]5P`j$J43buQJJ4hm;]kNA&Pb;5;[
+?-qWLe"*XBKY`TSi&kR9)g_d(mb#GHVX^Em-'lXU5PPbQ:K@VQ!#@Zgi"BBd*52Rd
+rl=/"r&%0^r\L%fdJ\74d3=Hp1pX__GYr]QGZHMcM&*EsO!QR<%4-1GRloso7bOIp
+#Eg)9T\#ICddI8<kN^8%~>
+endstream
+endobj
+312 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<mYt>*a&-h&#$SG,ZDd_]2o^9eS,h51[n-VH3+$_C]'s0D<7EW9kM+(`\K.h3.
+[TMsAp:LKE^1(aNk@][(1S4,>^>NJC7E1BK^!^FDY8L+P4?LmL:jdMbAOYiH:ZdmJ
+bDam2m02[;<]BsUp@1Q$-"@%M9n7Y:Yu'9b7peS'I+bN<6%:c/^*i-H.tcM8gLG!a
+"o'f5<fo8.NY8+CqSc$87)R]/g'.Sor*^=Cs(<$CBT5Ee3[d7?@H01@T*YEq5j0m(
+hVd$DZa#p`(-TqeJV3G@+gM/28]S7snIf?i+Q(Nk6R5r;F@SOt!!G=9V>~>
+endstream
+endobj
+313 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:c4fZ@a'LkSD!k4RDjDI5H&:_iQ5O_Q5d)lNjV1kY7(aXm4>>eA/NOXTiV[3+2
+G6c!(#/5-_-670O6gc6_O;%44Tfo4s).Qs,rC!/`]q\.od>HBb7=V$[ROk<e=8pOd
+_eDd>N6tfki4H44?%f.<D2>*(10i)75j@806";&:#4WGH^OZf;5Zd.La903o!iPoc
+;(6t9]OkJ+YF3l+URAoTG9)pHlUubp1BAtD/FJK(nRtT#gD^#n$.(f4-%-!ud;Q)K~>
+endstream
+endobj
+314 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U#s5n6.6'EtVr-+jo`lYe'9[RbK`@H@Jk=qL,*2I]^NRG_2p<`I,tW&7Y7"9,D_
+k$orB:#N<%-HJmL+?^GPa+b@m#%$K++gijbb+GD$R.(Lal?NrA~>
+endstream
+endobj
+315 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+22 0 obj
+<<
+/Name /T6
+/Type /Font
+/Subtype /Type3
+/Resources 315 0 R
+/FontBBox [1 -25 135 84]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 12
+/LastChar 121
+/Encoding 316 0 R
+/CharProcs 317 0 R
+/Widths [75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 45 37 0 0 67 67 67 67 67 0 0 0 0 0 0
+0 0 0 0 0 102 96 97 103 88 85 106 0 50 0 0
+81 0 0 101 92 0 100 75 94 0 102 139 0 102 0 0
+0 0 0 0 0 65 0 60 75 61 0 67 75 37 0 0
+37 112 75 67 75 0 55 53 52 75 71 97 71 71 ]
+>>
+endobj
+316 0 obj
+<<
+/Type /Encoding
+/Differences [12/#230C 45/- /. 49/1 /2 /3 /4 /5 65/A /B /C /D /E /F /G 73/I 76/L 79/O /P 82/R /S /T 86/V /W 89/Y 97/a 99/c /d /e 103/g /h /i 108/l /m /n /o /p 114/r /s /t /u /v /w /x /y ]
+>>
+endobj
+317 0 obj
+<<
+/#230C 318 0 R
+/- 319 0 R
+/. 320 0 R
+/1 321 0 R
+/2 322 0 R
+/3 323 0 R
+/4 324 0 R
+/5 325 0 R
+/A 326 0 R
+/B 327 0 R
+/C 328 0 R
+/D 329 0 R
+/E 330 0 R
+/F 331 0 R
+/G 332 0 R
+/I 333 0 R
+/L 334 0 R
+/O 335 0 R
+/P 336 0 R
+/R 337 0 R
+/S 338 0 R
+/T 339 0 R
+/V 340 0 R
+/W 341 0 R
+/Y 342 0 R
+/a 343 0 R
+/c 344 0 R
+/d 345 0 R
+/e 346 0 R
+/g 347 0 R
+/h 348 0 R
+/i 349 0 R
+/l 350 0 R
+/m 351 0 R
+/n 352 0 R
+/o 353 0 R
+/p 354 0 R
+/r 355 0 R
+/s 356 0 R
+/t 357 0 R
+/u 358 0 R
+/v 359 0 R
+/w 360 0 R
+/x 361 0 R
+/y 362 0 R
+>>
+endobj
+318 0 obj
+<<
+/Length 264
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmS?%&-1'-*=B:N$/Q2+>H1Pu6<17BTT^IjNXgrlqJ#nmIR;'bU%'aPTp'R0
+-P)BQjDlCeZRH%lEDm76:ZrMP'p[d(+Ob!DdO=&AGekXos$02M^Yon'a_jZnqWX=6
+\&TB8'c@L#NK"q9.:WM]6UAg2e=!i9">@f/]3Ei,]6@pF0JqCI@#KsmjIjAP_Cfl<
+K+)5Wg6KnZLdFiPPYQkRCLH1\d(gHM3r6\,U26P'pcUA4=3G7K!NoAVj*Lc],OV$~>
+endstream
+endobj
+319 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A76'<%p(,0K)ud2H!(#j=94G2?O9fKaeb*omh&eHBno[\Qhn$>l*Cd`b&KP
+*^D/,IA['X"X)pkX&)\nR`aaVU;-a3r1k!2Y+AmL>^uhTnuWK+~>
+endstream
+endobj
+320 0 obj
+<<
+/Length 143
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)1]S.XjpHk*$7U^7Kj9?T5m%\Mcp5oR5o2p7kAiS.Ep8>]7Ci%R^nanZ
+Z[s?e^8J/$8Ps1OQ`#bY&,uSNf`+0DrdTIgIfmT<#)7Ft";D*`!n@9N!nDA&H?'10
+!<rO<<$jd~>
+endstream
+endobj
+321 0 obj
+<<
+/Length 173
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X="mH)1]S/cjpL5d$7U^7Kj5rI5m%\Mcp5oR5o2p7kAiS.Ep8?0R$_sZHN<0;
+oUQ&R'b%YF4ae&;MFpgX4C&[#s8V!U*s@rs`#g]/"&(lYP7/T)",Qlk!$W:Wa9E3t
+%jK^,2h9G>P4Tk9J.]T4Ll:>7p#HJ@!Xo),Al7.~>
+endstream
+endobj
+322 0 obj
+<<
+/Length 380
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`A9hNAY&-1W;>njU/&X!N8gBY-t$9T'i6I:u&:mWdK>rP932ouZCbT_/!*uB>J
+(>=fp1Xf$<0tH024'oJ^d_-(Oh2DRWpH4tk#C"bJkP<@BB@B#SnR/pi=u+q(iS"a<
+S+#1ra4IA[D]E5fOIcM]M%u[1+oi2H"cjVt5`;J5eHU(^Yr/\Mjss,sUG+<VJS:Gt
+1gIkP>+d9;@(G2E/%#<gW]dU&elF2*5hRm\RqnVR;;1eVfb(_M6J=nCQWe*f<mSW4
+P+=IIe[2,d8^]:N>0CY4Y=0_NBOKE,XF[bWNII"k5c;U)'I^]BHnCRPaK7^_bp4d/
+/OgGg\XoX@J?KIDXu<+)=]q#c6mX7cBDE3^4.Ab31B9'h7(<~>
+endstream
+endobj
+323 0 obj
+<<
+/Length 385
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGN4\j!N%#,dFLm02U81jo@3jaU?dK`<b5_=gp!$_ROk4WIO8ro&g6W@PW/X2r/
+Pt-`3hUcIFJ+AT6W-hP>p<(-Nk/5\+?(QFjm@2:V@W]8qRr`MjB4'8f]Vgi?c]:$!
+11gLD^HTEi9Rl@?"*@'U5XB#cJ,sX:35eBYYS7uk$8)[*<1#Mu"")2.@_p/R!(Id'
+Q9[[N*P`]8JtS%49*1^3/VOUBM(;%\J_EK@irY[3=>cQ[B-EUmau4Bsq_O5b1`*Z-
+Q`]qFkKQ"7Ce\3<YlCA?8@eOLe;E;i5mugA0I[$L,I!aA'Ka5B)F2<&!mAF_fVoFQ
+PEj1VSSXD.;Ha4V#]2&s52$!@)"YAcGp-m-O#T(B]m2@t!rtO<:q$~>
+endstream
+endobj
+324 0 obj
+<<
+/Length 285
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y",]o'Zl'EqkjKlEMD6LG6J-5$9dMRY1(6I<j[:eM1-[rs&NQFod1@EL$Rkf>cD
+@9GZFb^<Y"cMW[ARcqPJ;.%?c\kD-5_hmiGHTQIJoe#^_p)p\Hif+Eq&hj0G`3\!l
+V@r&brBC2H-3)EZ]o">?qe/>;[FDRbBh<eYG$m[C91o_rVm']<711$LVFO#;,&!st
+kS_r6?V)oXTKUq((IB(g%%8uRBut^'[%IHlEA3%uJsMi6qDcQ?XQY?B["HMmq:@jD
+7`53)=6@&pjYd+s^!k:~>
+endstream
+endobj
+325 0 obj
+<<
+/Length 360
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFqYtfs;&-cO`'q7n'XbCch"VeKMd;"kD'.HVfap1a9$]W`qS#pVG,FfbX\ac:0
+NR?`8.JR:0bP]8J[.-,anZ\%u=_pmoI8*Me/?t"BX;odC_sQlS<ZP2LYustIKe9<*
+2s7HCWk49Ec`[l/?,X9djq"$bGiPc6SkGX^c\$a`@5u.D_+7%6YYlAI_]-^*`<ce?
+@V,S#NE-=;QJK#$HX?g0UiFja_IGqo6HB3++]&A&PY:u-=R_g`q)LYb@Im4GJcEtA
+.&0kL;c$VYOLkgKcuWW7)JS\qVXE>=0,K%;GXQG.ED5)`KTN&OD\5[@*:T?$1h:+7
++Xr!rl&b&EHBhB%QQ<3mEr\ss?+B~>
+endstream
+endobj
+326 0 obj
+<<
+/Length 410
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSZ5>Hnd*5M(WL*g2P"F:(PN6fR5o$g&3':h793]^qrVVJ7Ckn,s31gp@]g&euZ
+C]aDhOHaZV?!X[l*R*&=Z0P'V>*BKFe7N%?l/B9eB9g$@]TZhqb%K;TUqAXI89oTq
+@:mqNYclCA2q$Nffa^$?+o5a+Si/'A4X#.")W=t_.,VF!fh"hiFtF9jUNnWXW!sf6
+(<Mt8Oh$FBN+jtP>"*5e&?4n24jk$&(/*t,AK2mo4%2g&&17:Nk@e95Oht'%F))%#
+erIS72+6SM(CS<lVNA<2#hI9<Ep`+"aA"$B(2J\5L$Zm0=ZW<Bm=&FK(9Z,UHad2i
+mR?Tg]7AZJ4FubJfRG#tg^pRC%f"roS8[d1n\GQKQWJ%0FS;WtGK/=#@b@%,^F".F
+Gp5HT!+b*[e,~>
+endstream
+endobj
+327 0 obj
+<<
+/Length 346
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_&Z#51J&-,Ns$qRks$+V-kJI5E&</Dr"(a>eT5+q/mTiEndVsu3`![@faYt9tf
+.W1Z+K_9/ccb>TEc^8*P?`d0iiA$$>d&s"NDYBIW6XlPZ:WNp"&#_:?\+UKRq>M+-
+Ll3;QI%NTq=JNGi0?0A0(JHb]N0o1pUN6ON;FFH_P$#>A(Ue'M**ZlClm2bn+LrV`
+5H+!:&bm.Ec[Nh^3m#I,LPE-6:$ETAd"HB!pahhf=Ycm74g/6$:jN2$m0pX!E?L\!
+8dUeO=4pe92T?0#s4P\;Fp3BR>10m&EAf--WI2a&3G5a8Y9gQlk_e$#-M#+^I5f>L
+)`@l4_0H#2SeVV~>
+endstream
+endobj
+328 0 obj
+<<
+/Length 450
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQSYti1j&;FIj,*J9V6MpnHVB@1U//=8fJ-6Mr:`('80\a7.+!m!+0gh2cmUEeb
+g+j<jesG%gmsP+Q>H,$1e7GWEXfASTCFMJY]tp=V<Ssb?Wl-n;p@!%RaPoY=)d,;]
+PUpuR\#PZ]o;KAe^Y`RCVZ<>T/90$i<X9-t@4-`LTHeQ7$YThM4iSZ=6KGi,(=CT[
+\&+]G1ro%m67WJJd\sn\hM]g\a^I"1=94=q'Z^Sb7!aD029m&s6o;%o_VH,"/_$:7
+T7CG8&7L;oLL>d!U75URVLV7.5rU,K6U+$:2hlo(U%l*A3oAVANj1[1j;b%kSjn4>
+(2kOeY-9eJ@]'LR":h.`i+Ie\7R2,;:GcSn/_=VHNS(?Ug=,4q3u4[t#ZeA\'nmse
+p)QqS>1%@ge079$RN#lj!OYisKUQ_F8f0&i:Eo6Hq(."#!"R8ImJ~>
+endstream
+endobj
+329 0 obj
+<<
+/Length 339
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y".4`5m+'EDO9%$BDp,Od>4K%![K'2k8i@Aq[N3C&c_6_eaXUN$tiJWZYCnH6fo
+99,qbWKo61J%u9'-du^%EG;TB"^`(UQgbHP2!pNrb9r.-WN!UlYUUdK@4!/NRNY4&
++)bg2`B0Ye56iUf.#(W7;ljWUrP6qobl+?'\f)`^c#E*P7-r]d\T?@e4BRMTF<sE.
+['I*6QWc>l/M1B/9/l%EF6@i2X?B'^dtX`*3nH<]hr/h.l6#tkrS7.\iI=sTSj&KF
+B?JN5o/t#!O/:EK*/m8(@^Tf&b[R'^4O41BH`1Pe1Z[%Cf-26\_-@4d[NrbfJ5<Z`
+!!p)ZYQ~>
+endstream
+endobj
+330 0 obj
+<<
+/Length 283
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSZ4UT%['EI'A6fBU[6JhsR/IL'#W![\ZFRfFskb.-U_2Hj5j9Qb^KZ*YL=2c"5
+OQ:`pq;WdE0Ys?[=VnCYf.$'Z5;7(t$[\EYgPKWF>K@2.Qe3BF4>g%KkOT:SY*e0V
+J)!:D7V9j.=)#JPXVG?`LGU@bOs9-[-)i).L[+)%_COkJn>ai-rM]Uob^`cX,Y0el
+I*.[<eZ=2T:H6YmhbV#Oimmk:Zs,,;Jkmi!A>>7W9<'#lUl&.*lmlZo8DHfm(=@VT
+C$61'$<Y)d!(ueFJ,~>
+endstream
+endobj
+331 0 obj
+<<
+/Length 233
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjC]aDV1&-1WJ(%*O="gfj\P"hk^Ae9(T!S#L_WO%"0+/P%F0gk2n@^l\YLnb3c
+Hq1^EW@;F]fHD!0*"P'"5n8#qPf4ogEG!]!"JpipLU)GPAX=Mk2fl?i?=S,g*^MGU
+\/8)EaG=@t_MN#.__S<Re[*>tB&1.<mqRGh@l8T_+VQ<!YNgc*=GGA3C*srbb4iX<
+B0Mh)^0gYPd@rjji%L')/2_8&0`[1C+UJ~>
+endstream
+endobj
+332 0 obj
+<<
+/Length 442
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Yi[9hp@,&;=nOEKXYL&a0TN&<-dm8k)Nc@A57_TIsM`F:Cb+UMp@%/-p+kcj"U3
+=j*Q8k_=CPjh3dg[$fb&e(g7C/^Ea)DVe'Tdq33M$bJFBl&:q+=0o#&qIn(-UpkGV
+dd@!uV2+?]I_:0ER-NCO\jhKh5t9`3THAi6!*K,)fFb<7.h$gUNd1Uq#/Gu(j!lYc
+Ph-T&3#6D)Q5>[;<a#KKB<?L$9!O6rQV!QKAm'?dq68GIO?\n7#A,PZV3`b5,[qUd
+Q:sG;ZGKmT\)^TEnbhkQfP-gJmZuWJi\7>P%0)!gkD&Ad//\t=QkeNQEL?Q/gd/T:
+q\]VLr8ccR2tPHNT"O5uSocclc94;aG,(XiFCrT@Kl>PaNA+q!53S&\4'$5pKIK7X
+#`6\p"uUUf9pi6.R>n)fnmmrGlR@/:gf3FPHjp))"128~>
+endstream
+endobj
+333 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z:bY^"!F[bf$R:?>6`ra.'-d[B.$/5=B;hJ=!$m_K\XYdmoYVD;N4ALCJ5TYK
+:'&WIL0XSH^'Z/TV5[^k/d`"0@#p6Ds+>n$s8Pr:W0$daPKVL?/!(,m!$4]dPQ~>
+endstream
+endobj
+334 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW+<%q-&!Fg*`"UcQ/'LT#i/oq*u&-R#JoF)IV%=gie/shbLQ[ZGr\H/&2#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm\fg"PEbSs%a'`rsoAmar#ejAg/)90EsTFN.8>TIkV^(
+i!b&_ir]MG!K;!u`b9lW(ncgP0ZFV?irG>6O+DkS!=InE@;rc'EWpIa"oq9Bp;-~>
+endstream
+endobj
+335 0 obj
+<<
+/Length 415
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQS]hZL"%"MW+36=f8+asH*UI06:WcWbZ#:,[]!030B"EXHRI?Zo^`t#!TM='G/
+kn%;KKDRP*M\Fh\Q3u?oKr+)mQ##)XI)g9f2[_+=BR=I,cAS#JgsqcV;n9aBhQ&?f
+4l2:>]RHO"O0;WdDoqf45ilMs!'mg`BEUIaWqt5E7;u/F%Y?#8fEOE>H#[BJ-L>;'
+TGJi"%+(r7%9A<gVjOHe`6n59F$e!aG)$B43_0N57VkPrV2&Z==O"(2BR7@P@=__&
+lo_^]:T.t"(PIV/s2Dt)Vi#uETC0oWp5gkDr>^-)`\'AS`%aH"1W*?/*2bD\4DGf]
+r6(J5O`Sr0SMjrsNPK0`.V(pCLs71M4%g%i#p?RjAgUJ([>&Cp,S@uB3fVU9aC_41
+oE+Nb`[C[*!9YG3>Q~>
+endstream
+endobj
+336 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW/;D:p$!FcEM"UcQ/'LT#i/dhab&-R#JoF)IV%=gie/shbLQ[ZGrK`ROS#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm\fg!ri6"%qW#`=UYS%4IjCjs8NT@nUQ0.b5)?@#\O$R
+@&Sjd%PZO&=W`0_@4ZjUlN`sQ#A>3<`JhY0a1t4kMh0#%r3g%F'Ucq#iCcQU4FjaL
++k4:-%nT7?cp`UI(tc`.N;m<;Gq]UCB4*F9,(g%,>2i[iY+AmL>^uhT(PNR.~>
+endstream
+endobj
+337 0 obj
+<<
+/Length 371
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_&]hZI!&--*>)'[nr8+=1l,_f?7VFh";1*FEO"&MGk&Bm#k`PS*DiWV)LLgp:K
+do?NnMMLDRXii_K[Ot3(EJ\<HWs[Gp\C9pSeI)9Iq@].Xg9%p+dgKu--m#Ws6#l4V
+T\/+.Tn];U_tUX$B;i"2KH[H>d:1Fl1CNW1J*D>gM@ON65k#m3A/g/r9umn%KF^Kn
+Qs68OjeTMMm$+iE4e9&F1>fj82#m<)e]4o*Z$Q+P$Y.F-RJK8K9$WjT`4U2a>`_mB
+U)V\L6O`sX[psjLHgB@VLO[SKE>J"UnIKnT^JEK%=kQU9[Ba.MBeqd\Elc[GFD%T!
+P?gI9R6:7NN]5P!Cnob7qCkTTiMM>7p`0@Z%rF3~>
+endstream
+endobj
+338 0 obj
+<<
+/Length 437
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VGO0i#YP$q217N&47hOLY@%,@Ii`U]i#A+@3sIJ<Bs:Ff+2&3D,;cAVqlXgG<!N
+$5+d`MZ%CAcSUu+iu3,F]5?SOkO,mhDg&a4o'S,8F&m@@5>SJ+hq@;BD)\o7jcHV<
+pK+N+<HmUihEP@`GO9oG4XL.s"p(*I#U;#YgAr.YL$*Cb15(?RKG25HWeE7,N2<*W
+E_%g7JX")$S<sJ$-4DCtk!JQ(*7KOhEVNs^7&eLR*ge<eM$/7ZK[N@6P?+\]m.H35
+6>VQJ=br=[OL9mdVO4S995+qN^!O\a,#D^6";t+sg7_;,HGn#cc(pjX]#Ml90dIE2
+ir$\Ik["W1L&]LAR/bDd4(?t\[0QD^XnM('1-SL)K[3_daHo5qnth/c1jZdD%;;P\
+Al0?'*qMCp`JAll(:"FQ<U-[flqM+7m.ULH[%3!~>
+endstream
+endobj
+339 0 obj
+<<
+/Length 217
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW/;(tg#"_%iI"Ud\O'LT#i/dl/3hZ1SPeMC1O2#n92\Qhn$>l*Cd(<0VU*^D/,
+IA['X"X)pkX&)\nR`aaVU2YV`#3ncigA_E:"sB-"5FD8!TtZ'u_YhG^h]NG<rWb4G
+U!*`<L3b9>J:5=b..[HpZOt4TJ:lM`A,[U-aUDh)Zbr/[aCY@+0d0qh3T?Hg>es2S
+PKVL?/!(,m!2_Muci~>
+endstream
+endobj
+340 0 obj
+<<
+/Length 430
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSZ_+oV:(r5YS%[b7h(Ka"25T(e>[`_4=-?:e[-QbT:HI1jnGdBS+++YXA6N+WI
+/_t$6O[K!R%>6r_Z!<-^.)f10[MuJSM3ih/oBdH60#a\%j`LT>0Kd,?IEh@2Z!Hu!
+*gV&bJ%Q?scg(i+q=4.#lW_3`MR:qAVZ.Qh<9#8L4aV^YGL"QlE=X+\.s1^,$9Xd/
+K,\_8St%[,)7MS-GN@oAk,FYH35sa<Z"+_5nK*Z)3@1R]ldQW'M9`dh`UoG)1*4OH
+3O2ecVD,!_9qmX3N_DY>@N(_)@8jrY7Z$3R)Ik1X4BV@AbW2q2VoCD_,V*YhTgZ2n
+`ndC@$>Ta`YjTSp1W75g]@iA7'(<eU`>5HIjcM3.pP`Z,%uaL3O7kR3Ap5fPX]Z?]
+)ujcCKWW\,h%#hQqL!`no)o"6!/PampA~>
+endstream
+endobj
+341 0 obj
+<<
+/Length 587
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFt0lG`"'ZP,")?b$<&]>'aN[t<(-37f^`']&car6r?Qm"aVdtTJ%h*ackW.?Yo
+q!gpdMq[Ak%tsG!&$YtumA@SJ(V8.()VqceqJ*'\2"F@!m?[N6?a[KDg<c(En#u:o
+-TBAY\<WP1R`Wh!j#>f8c0dlI]`7gWGILc&X7Ua"$h*=Zrr`0A3q*"mC-'&,4@'EQ
+!Go6h/;$Mj,u=mpZRjE2lYNHmrXE+c@9mI^f4>b91d[]Q,P2k0"@[pLbYYF.:'gG-
+39#+&:_?C2S'WV$5(TbUW"X:3,6jM9W,,f@>m.a/?:(P0&C(?S%#eO7aae=B0H1TV
+,Y_)^T\0?"!3k6'grMaI-,O4i+l!+V'(cS9V*_[#'Z/hn+ZmK4ENJL,Yq[_,.LHuU
+!p0Jg!^gNIS7C3T:bU2K!-JbuKUWh`"r/)PncZ0*ZofL:9U_VHTLOU()!hTYJa.c)
+)>"1n0['sE\3a="%Lf^L+^G$PL]g$f9?D-XTK304Z7OoM:aZ9N?2bKs"idbG(`p!h
+h&-Kr9e\;hP@3o:T8!;hQr1j<B)j*8$!`/S2"9*O(6j#)q'800!';:[Wr~>
+endstream
+endobj
+342 0 obj
+<<
+/Length 359
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]^4&3^J&:e2Y/M'V[,K(CK4IRQ2dK1%1OJ(S5YU'Hd\+Ujp8')?@;FE85b]r,!
+TqK8#`qkihq'@Och:gT&X6]+pCYp'*J8Q<28%)KY]r]+rI>;)=eVih':d'J%;!jil
+D$*f<BFg`U4nNr!`T=e*_WH<"0K21uJSo2?Q\bh%$@<B)ba;"S'.cc37#X)CK-QU2
+:9)*h^P:)DZXUkEKq]u52@R9Ni\2t'@82Vh:`Q<O*7]"5!le(Ua!lR2Bb\U%'K<5B
+.?3=HNT-fDNmfC/V.&/@ThK/;QdRQ_AM@:AWf)iZ*:=]'+N,"H3QK#"-#j!9L6HX<
+r'1/`nUHgFr%[-DLM-B'!5sFPLB~>
+endstream
+endobj
+343 0 obj
+<<
+/Length 334
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY0i#\A$ij*o*PUTcgjo5&crOnf<r.>7#:,Zr!;qr[";4opENY1_<1G(@L[#g?
+a[a-u8<pn[G&!pp*S&Zf8OKYWY+tju+48W7:ZnZ>D'UI3]*I+$=P].@Z+?/2<nlpr
+C9SVZkkXISLVl,,HXIj%J5mrsUOnGeGn4J:Sp<3![$i>8NB6W00F-.,4jO?VWNk>5
+EV<bB^sTheVH3\mLM22`,iq.ll3'$-Go1$3-urU_q^A3_Y-n#Rf9H1'#L-'+1Og=W
+/,SJAs!.E4lb#e">5(R:XQ6P)!9F9O\X+gLobtJ".nYti=i@3!@eB/71#NLi%KLQD&82~>
+endstream
+endobj
+344 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^80lFl_$q4lT#f%`V&22Bk!hub#dMAd:!mQr3ZlM6(BP4q9o20T4NueG1T5oPe
+8Ce&u*^ip(eDI?<-#:'_&q]LpcNaqd/0$RR^A#_-Gl-Q=_pr(FkNWp6Y-tMEJkP\Z
+hd8SigcUJZ6jptk6nLYl9@X00WWUd=JQ.1EeZM<Q<THYbVi3[!Z`6F$@@T'Fl@]H$
+5stsN-gRpiWR-Z!>.`c$k]Somd5h%r,\P":0fo4:aPY3\YUE_K0cQiM,iIhR/5bOf
+BjjKBpi!4&9l@:,Sn#&C5;g+6^B"=&V[mP~>
+endstream
+endobj
+345 0 obj
+<<
+/Length 323
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjD^J;[#&-hVWl4A&140msS!0X9p#ZIQ$&fHeR_ufua&g3S%8+WM:&Nj[(@a;]<
+O:Xi387Z[grc=D(q..GJ=+!tfIEKftmn.o#3XceZ<*UH11+1?6")V5aDn'+NIOS3[
+Dmj:`;VkaMbOb$_[HHno2kl61!Pa0Rh_G%YN5u\rAdSMM4$aP<OP.O%*e$'S0Jf[9
+5T83td[PT%"Zp7`c[b[93.]Pl3fQqo(&!!AjCdB]Z0)sNDUEsM7iG-dSV#8u-]B3B
+'6Ba@JX\L/M[\@Y]*2[Bg(]A9^nX't&f4VRU^Gf'aYE%SV/(Ar!'oEK_#~>
+endstream
+endobj
+346 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W"]^J;[#&;Mq(;!F9.K'rjcF]EXn<2e:TQ!iSPJ<9j8/'4RJ;=Xu61ISeQcH-%f
+JS"_bm`tjH]pF`FjN:-J9*k+Lq3Ai5_2Um,f,cqGO"YmZ\U'@Ajm%L5=,4C,nQaUW
+H%5^9k5&+X7uE2Td0fJ57)/dFRcoqT;CcV9C',u_;YpNL:/d96%tnh6&iGIrLcmF0
+m+Bs%\-9"j!Yf!</tft@gTPS,"@`?cr=77Y^eZq:]M>;O7E71.Yi"a((6#+=`<fkX
+O%M+V2;4KJ2,e!n,%J)?eRVZ@gXUb%:>X+5Rd^&-!0HL6L]~>
+endstream
+endobj
+347 0 obj
+<<
+/Length 408
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.*_+MX"&;I+D:rjrs608?X?0QMEKYXTq%t^Cc$L6#kU?D0rngJd:*d]:sc6QOt
+('MI\ksmLsbl84@2qVSpVrqj^4'[")ZI83QDc*+N"a4N/$1did9lC9m4C[45k*BMg
+g"p)p8iOX.IXZ[XlJWY<!YFn6!14WD9`QYpj_]O13@`m21'Db*FYGm@!]HDL4H1\.
+$K"ZM3sjHu11q[ZU;Ik%n:)M:S*U#,lOc4QO!s<?9)>*?rHR#Y_9:qnr<b425BD"r
+%jB=DVr)0K=;P"lV9UWn$XlgYD<G?6*`2q!i$_QY<Ja)bK60?@qC)"<plNFH+%=3O
+/s./%c[4(^=Ro(uQQAaT6RJXUF-Z\m,pc](bouUbGZH*):Y+oS!u0jOgY<BDlC1((
+kjJNP#fq`h~>
+endstream
+endobj
+348 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmS?5$jPXS%[A11&XjN_p5iV:%]Y+>#Whb]lKFo)>eq6BUYI)9lqiMiU[$d3
+Wu+D&I^18&8dVnr$(?fe-h)pig75N)*=3W2G&.\VCQ(1t-,p>)_Dkms8RSWdF?X"(
+W+X%[aK>NW5k>!U%#j'E5WL[Zedtj^JV/f^^-g#^F1AIULQF$A6"EhpoMpZQ_=\29
+4X,+>hV`m6i/]8$^8A>+I0,pS>iU54=uY,^~>
+endstream
+endobj
+349 0 obj
+<<
+/Length 171
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)"_(sd"Ubut'LT#i/gHIF!JkNkB;hJ=!$m_K\XYdmoYVE&bdm@/J5TYK
+:'&WIL0XSH^'Z/TV5[^k/dhUtrr<#E;#gP+KDb`k%/aN2JUnghL8b3Q#O)?V-O1XL
+s3JK2M>mVHrult3(`;>]0pepg=!/;e!"YC<hZ~>
+endstream
+endobj
+350 0 obj
+<<
+/Length 133
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[="mH)"_(tO"Uego'LT#i/gC`HhZ1SPeMC1O2#n92\Qhn$>l*Cd7M]8**^D/,
+IA['X"[anj:LAg=U=*!n:D\`b#Pe<T0OWmi5l?*Gj2;?7%/f=VbLMe,O:*`B!:-^Q~>
+endstream
+endobj
+351 0 obj
+<<
+/Length 293
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]]Yti1j&-h'N1)QQYr<Vp$5jXe-Clqn_aAAj0SL\)9!X*QgnR?s34@7's&O4%2
+MM\08\obHG^H8(T_')LCG82@t>?BXjkFh8^r/;A_>[7SYjdD]HFl$fBk/NgT&+"!j
+?S,O0Z<=cbO09@:mMqriT*(1,+dPu8ODK\,'mc!#@4Pg6V)H^;>n.`46q$\#Nrf!8
+@_XoWZ>=c;[FiXKU.^jf`#HKXaCS(^p:+d]irY$di$.T\!5e)b-.r6Z-PV?P,h-Is
+'#H:Z0\'#G3sL#gkbJ+e!/$,dh>~>
+endstream
+endobj
+352 0 obj
+<<
+/Length 229
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)\<A75L@<4d>;\Oj!6`ra.1G^02!5pbF1K;^Y!#!Da>Y^kqqV_cnAmG0R5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVkoq#<Qdrr<!_!s:b!gOgAn5TC?q!s8WeR.3GUJJlZk
+nG`OLs8RQcpm_:J?iXp$kPtP_bi"Zi1?sE!*d];fU]19("9WK4Ijfp]K>C4aK7/sb
+B.s=\jp.!P-\fJ!lH'd^"W.5+-k21~>
+endstream
+endobj
+353 0 obj
+<<
+/Length 286
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^9YmS?%&;IB!&8p_WGV>_t@]EY+.[WNKaTkX4#=[hLdJ>8>KT7(kGY(F?`R-sA
+L"q0gjM,M',FZt%V//h'dNQRcar):]87j[rVB"W-J&4N\Z6MBIAAo]cMTqYh9[oN6
+QeN,&K!]tl?^oG.A-i5rj3EUO/X2MS@A-mMW-Z%-P%?@@EgppCft0&#<O(#W[KXsU
+7:9UC"kJefrPcpar'bSKs2A>f_`R8_?i9iRlef\e&cD,^H/H8q_,l,ApV#TNo\TG]
+`PD2hoaR5p\+gpCZ0rj`~>
+endstream
+endobj
+354 0 obj
+<<
+/Length 310
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YQQ9b%1i&;@/PdSc2eK":ql0P2d(PF.&WPlkE.6!0VObu#HhQ562oFYgsjPur.k
+bLCkreZ[tg=qji/h4[rD9</W5f[I#UMIVO4Tbc`rDK(\FYb5<U_*i#T$t_j60hA1K
+h]::8N/4go($a!O:s6\"a8l&H5`S/GY$_toQ;\B$5WgE5l6GJ4"IRN\Ae_$ePZ4T1
+Z$QF#\G@/34/<%qB?90.^On0D1[iY86Ko(K!VSCL!f@D_C$q=-Pe^SMI5ck_`u,`:
+k3T]a!5D0rWa=ZF,Q\eLEZa<P5pj'J"-+%bj)"eY%BoL~>
+endstream
+endobj
+355 0 obj
+<<
+/Length 217
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjBYmS?%&-h&#*<N]L2htl1"Z-Z6F;1a,)$HLX!-NB[FD`0PO4$P^!u0``?2FUC
+g]p(D/a"+=A9j^hBB`mpNjdqPVJ)<N(+"%9@I6paaB#6`>bS;2CGMjeSt;"p(&`kr
+Ws0.:<"BEW5d;p%XQUqF>_['F63TP&<\6CKP*<((3W1@8a<G.Z4.5I,#Vtt0RfA'A
+r62+Lom"FL!6@C?a8~>
+endstream
+endobj
+356 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$#4\g_s&;Gs:OA)uN?nS+"`5UAGnu7H[-<bZp[C":o%@u,1.!l(h$H)2RJ3O`D
+f_:rmH+Gdl8<f<=ie;KF4LP+00ktrpmTeacX.A8?Ko\AU%h^*G2d13B]XsDoS,QIF
+h`dXB^CkokR":*O%$5oV(`1U/F(ISH`i@(T".0:#`4-D*E@34,%u5X.cCb?>FBX?[
+BObVsm9iW/b(,n]=HoZZ'YBhF%:1ECPWDg6JogHV.tpcG4]GHAF!uMumk"H?dmeE8
+R+sgWX4(IB,?//)b^V62Y$P^E?7dK=?rMI/o0%R6!&+#jao~>
+endstream
+endobj
+357 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR<YmS?%&:i^Q#N:t4K(f>8-:Bp2We))kSU:G)kb.-EI5?;85!m7!V=>1O$;qZV
+Dto&l+Rj$<-mhA-8Qo%JV7jelC4@(!P)pSThD)VEAd65?ZpM%Y'oHfj,Dj:=k^9u&
+B]eC2_tj,rXi"I\o3iZ@hR(*SGRoD8$!Q8,d,F<iT3J-Va^o;I8nbWj8tVtg.nKIp
+C5D^M)%?;^.muQL%"3"A*%hY;n2UId:Lo@~>
+endstream
+endobj
+358 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\0abc_&-^De(4ed@!ePIo>o29j,7%/_/Hi1<J6H,)g0(6@?s@l;*5OC!a>g5t
+YY[H4c1%+H9_/obI59=&P\;fSg1]9:[Bc%)+k+o'a]S!cFf8>O/ZP4,W7&YP1b(G^
+j5I@62^.lLEs3cmLq/$X;$o9!E'Ws6=55taImYRP26Jeh!PZD*I%b:B9.hD@L7o$$
+k0F'+%?pl.5kG%h&3j#WVZ^V%3aCZm!1of)=o~>
+endstream
+endobj
+359 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#HYtDr"&-h'T.i,!RH\J]q!h*>Vb;DWE<%s$!eNJFd=t&*2m^O(V]h'7gjVB$"
+bcW!>#WD:jr5JTXb0beJ\o:WNBN`]g_`+Yh=Y=Aj;K:qHPO\:&lNZqi<@-dO&n/M'
+\0cuVF&*nHT.ejP&--8-!WI-A_ot3c0G?N3\PnRKRCJTKH4WB,XB1D8ng"][VUd+b
+dAp<Um);i(eVj`Q;Hq[j0=&_?MYu,+;WRW??Bmj4+D@<Ba@*MR!Oc/'.ac/ENR!/$
+bj-Y[-\1p"%)@_Y,Ce@j;L=TgA?"ET7m2d>%6ie'!$cVHGl~>
+endstream
+endobj
+360 0 obj
+<<
+/Length 406
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY_+MX"&-h&A4TpA`2q[0pZs2f>4U"jiHP#i1"0<P,.!fdS^0(,(nd%8L:cclq
+Jd]1sUeLTIJWN+Fgt9$:m:Bjug2:[&>3QRRX=\pkCKk.Ge>(ph?#NqQ^=[&"b6MeH
+Er0ro.p]TEp?V>I9t,<^!)*p]AublWJHCtW.pP=_p>j?B*h-nb-dE;oEZk*mWmI:r
+MtZ3dMeeAa83O7k;]V%[f:@./#Nuqroj7!N$Si`\PLuRdSrYf$ML+V,bd7GX']NSB
+ac!Zr9lr?uKs!'g3X6u^Nm%,13&tUVEM&:+P2gS]"8^f27s;mlfu)4Aa,l9i:TkVn
+OK@[*K/e\Y5?q$@kXhk=9q5AqN&&X6]/X4*aYq7'WH4ie-1f*>HZjUNR2SHM\,'8-
+$ii9!X6o~>
+endstream
+endobj
+361 0 obj
+<<
+/Length 347
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:e0i#\A%#/%K<:\H^,Su!>%oLt'4[>_D&kj8F(m3ZB0Xogg8*LUHG,Skdf,\7F
+Ock)`jA4'Nh>#^mGd]R1lI*F)Gf7&PF"PGg7H;^0?=#j8hdQ3;gD6gpI_ok"FR'mI
+\juenq>H?0SK@i()BbeRJ-MSY&5hM"/f7(ABeDu["&4eaAf-/PUY%@R>TS0g"9n`0
+&EK'+$sD:l.23u):XfWI0L6]nAq42r!MI2hUqKJsAi,>5+%GiUK^Hla'pRi888#.b
+Q3pPDV5\*?`lX2jN5=#KT2tWX3Uk*H#9LG<+?kFS['&NNWg4c-/O?C68d0bFR/eA"
+!dNV]1]@jaB]);k~>
+endstream
+endobj
+362 0 obj
+<<
+/Length 387
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#HYti1j&-h&[)'X@rg<G'I84,bM<(&2YOT>b8*WR#p5d3/LqI8DXnd$*h6oj[_
+:2(sb90U>'r;XJT[7e-;VrsJm$[].ac`)4hGt+i->827'QLZANT3g'F;TY]Y1R6bD
+Sk:p8=#O&MF_<qq5@7B4D#ln3&+H1s0d8Z2&<RDCF=6-NE(<RfSck5%Zu!t;30G;_
+fb+OqB+8Vdp>j$"V:^nT($KD;-+Qj1k_h:!Mn"KpZ=BlTh@!TK7k,.0>Ajb5>$QE$
+=;u8=*FMa%i#Mj`@hA]jePG8I-CW]/F#uOo2h+qaF-CaVB+dRls!_M/NKL2"/Q8A-
+7DW(G-abo:-.ZdeF%0W-dRhM\?IseAWWQs"5\M*kTl)@QTY:X2"UrN!~>
+endstream
+endobj
+363 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+13 0 obj
+<<
+/Name /T7
+/Type /Font
+/Subtype /Type3
+/Resources 363 0 R
+/FontBBox [-5 -23 90 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 11
+/LastChar 124
+/Encoding 364 0 R
+/CharProcs 365 0 R
+/Widths [53 51 51 76 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 45 0 0 0 71 25 35 35 0
+0 25 30 25 45 45 45 45 45 45 45 45 45 45 45 25
+25 0 0 0 0 0 68 64 66 69 62 59 71 68 33 47
+71 57 83 68 71 62 0 67 51 66 68 68 93 68 68 0
+25 45 25 0 0 0 45 51 40 51 40 28 45 51 26 28
+48 26 76 51 45 51 48 36 36 35 51 48 66 48 48 40
+45 91 ]
+>>
+endobj
+364 0 obj
+<<
+/Type /Encoding
+/Differences [11/#230B /#230C /#230D /#230E 34/" 38/& /' /#2328 /#2329 44/, /- /. /#232F /0 /1 /2 /3 /4 /5 /6 /7 /8 /9 /:
+/; 65/A /B /C /D /E /F /G /H /I /J
+/K /L /M /N /O /P 82/R /S /T /U /V /W /X /Y 91/#235B /#235C /#235D 97/a /b /c /d /e /f /g /h /i /j
+/k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z
+/#237B /| ]
+>>
+endobj
+365 0 obj
+<<
+/#230B 366 0 R
+/#230C 367 0 R
+/#230D 368 0 R
+/#230E 369 0 R
+/" 370 0 R
+/& 371 0 R
+/' 372 0 R
+/#2328 373 0 R
+/#2329 374 0 R
+/, 375 0 R
+/- 376 0 R
+/. 377 0 R
+/#232F 378 0 R
+/0 379 0 R
+/1 380 0 R
+/2 381 0 R
+/3 382 0 R
+/4 383 0 R
+/5 384 0 R
+/6 385 0 R
+/7 386 0 R
+/8 387 0 R
+/9 388 0 R
+/: 389 0 R
+/; 390 0 R
+/A 391 0 R
+/B 392 0 R
+/C 393 0 R
+/D 394 0 R
+/E 395 0 R
+/F 396 0 R
+/G 397 0 R
+/H 398 0 R
+/I 399 0 R
+/J 400 0 R
+/K 401 0 R
+/L 402 0 R
+/M 403 0 R
+/N 404 0 R
+/O 405 0 R
+/P 406 0 R
+/R 407 0 R
+/S 408 0 R
+/T 409 0 R
+/U 410 0 R
+/V 411 0 R
+/W 412 0 R
+/X 413 0 R
+/Y 414 0 R
+/#235B 415 0 R
+/#235C 416 0 R
+/#235D 417 0 R
+/a 418 0 R
+/b 419 0 R
+/c 420 0 R
+/d 421 0 R
+/e 422 0 R
+/f 423 0 R
+/g 424 0 R
+/h 425 0 R
+/i 426 0 R
+/j 427 0 R
+/k 428 0 R
+/l 429 0 R
+/m 430 0 R
+/n 431 0 R
+/o 432 0 R
+/p 433 0 R
+/q 434 0 R
+/r 435 0 R
+/s 436 0 R
+/t 437 0 R
+/u 438 0 R
+/v 439 0 R
+/w 440 0 R
+/x 441 0 R
+/y 442 0 R
+/z 443 0 R
+/#237B 444 0 R
+/| 445 0 R
+>>
+endobj
+366 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR<YmS?%&-h'V%`0fGK\d)M)mn1u:_i=>ki;iEUP#:^nn@Pfl5M]Dp%M@'d9R/c
+540%9E61V5M:'DB1)\9ln;6a'o.6\LBOm4h[QAM0F1RXLi,kqgS6"sD(f'C^>gCq'
+f5gsr_BT*.:uW_MTc`*u*5TZ:GfF]ZZf)B?AC6VnQ)_;F=k1497b47H2kUD;Fpkl'
+8DURYrp'H3<BgRo%#uMRk4'lRC>SGq!!(W%k5~>
+endstream
+endobj
+367 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q,K@1s"P1D>HV6`ra.'6>;R!5pbE1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnhs"XEVJd2_X5dK>j5>Zn+J,B9G5PY7Crr<"Nr;VC7
+8c/NQ70i*D8fJo6Ig!k!-)'N^R/B_\g$kU7"AhXB/IYH56]2(-StWlLJb]9J,;RC&
+lH'd^"W.4j`uSC~>
+endstream
+endobj
+368 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q,K@1s"P1D>HV6`ra.'6>;R!5pbE1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnhs"W%'s8W*"!sap(ps/pS?jDfYq#:B:&+Uk6JN\fO
+:_+`h+QS"X#u\kNAl+b'!!*ds(:MSR"9fT/I00TC!<u#(P0;C>/!(,m!+X_!1&~>
+endstream
+endobj
+369 0 obj
+<<
+/Length 262
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z\q4UT%k&;;K6"K'9QS-s#9.]*XL"/ZX:nc3E=TkM-oH*%6''(>tV=lhXU%>_H9
+0$N>pk04=YVL;%SBV\qupLIi[b@sK<Ue4A981RP?DKq7a]TBM<nO-"i%q\0`*9U8R
+mga-Y7fnnXO9JHWG+kdb.jJt"Xb8Y<3!$Jo5/\2G1uTVmlHPu&BAm]!=k2tUd#%H*
+K%H#J<QCj9eaj1<1[p^%mgD6@2)nfarSd:QO5mao;8Z=/&:FV@F.VuO!"5'YC]~>
+endstream
+endobj
+370 0 obj
+<<
+/Length 214
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<%0b/e#'EtIc_\)U7!*C%r<h#a/;OD.Z!S#OaU\4$a49ATXZfDP5_A6TJ62%iD
+>$0!qP=[Q*=L$"N8KKD=901I6ia]k)<$YVCd?JiFapX*95#T&kCqcLGUpsOsja93f
+1$8`mXJp;LX:DTP++t)Q=AacHg"%SAO2)4YgD?b2S:M`?dfZ-)0piG6*pE+3$[6Ns
+2d-p&U%\QG``eE~>
+endstream
+endobj
+371 0 obj
+<<
+/Length 425
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:eYti1j&;F,/W8o76A$]MBdSqMu&=*YoA3ck&%fhOs+HY6GX^b]eLnV!akR4ni
+LWIMcFoeuaOdn'bs186FS!JAr-i.MXX%HG@qS&1iZ5TJtda_;mN_A0dFn[:s[4H3<
+23u2rY%09!3S1)Yl>-@hr;%Q%$Vf[j`M^roLPptMY9SCZkfkI&rQr-scMAQioM=2c
+*nPaDm;\PAN(Q2g]0*KXLI=i`a;o(G[N&b2b`Kl4@=W:o#E_QUp#;#5(*8opedh&_
+Y7*9jXI,)%)b[gE"`@Gr)Z!uYX(]c+:=0<MWQT"llTp&4*.Q$fTO=7Dq>o>-'Jd*_
+pP`sVD\Ul`'&,]]-THg>'E&Om4R.jETHU5NUsS6pj)CoXk.NW<\XZ'SpVmT5HdUN.
+AHmp6KS'ci%3g(#bIRNl!3"8ES,~>
+endstream
+endobj
+372 0 obj
+<<
+/Length 172
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'="lO40XOY11KI%$j=94G1^".(-l?)8R-PV>(n9_l.O=1t3I,Z0LFX2[
+Ep7oNV7?/g!h:!U*)BpqP+pB(/l*:;L]8=Y)<r++JP[Bj)rr*drssbQs6W,ATDcP$
+5P9O*s7lWas5X.*ru_8jr]caM-W_E,?i]fm1Qh~>
+endstream
+endobj
+373 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju0abc_&4Hs7@2b2g\UZ#0;+q^\$>q##jT3lZ6I@hbMNhGhhuRkPG_;506GBct
+"@4Qka#:iZr&;M*47$ro.97LN-bONb8BPB44CR0:UAWaJ"e+ce.u3JFeAr,#;g-:6
+90St#HdX\S;W%a]W-jgQM@_f;";9Vn`'>.&Tb8o@22,tiL!Ynf0\kPVlh-/AkkmmA
+CKg;6Y1]D#D4]O$'/jPN[Y,G#,8/U+8M)?Z+tLe[0)F]9.Es`PkqrHtJ**g~>
+endstream
+endobj
+374 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju0abc_&4K6#RN*Jl!DTj4d:sgSQpT0B"/r&MU3-g$P[5e>\V@p.UeDBucL*06
+G-[0G5.gFcoOA@kk,qU`@NGr''@ECNaQAF,l:!%aHbH1"V-q7lUgPMe"j(5t&I%Eh
+O,)2MdKs^)#;/7Jgjog2JL3aZd:tdk4?Pmm!',#,>V-+uF(D3iqLq%Lr,5cTqhq)M
+%/Md*9c"9%;nNR1D/SGu;afoXc7Un1.pKQkojnH8$C[j!Uuq_\&`Ar~>
+endstream
+endobj
+375 0 obj
+<<
+/Length 167
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'=3rh3:]MX@KbQnW67tVmTW!EnObJCtSfpW;81*M?3I,Z0LFX2[Ep7oN
+jgarR!h:!U*)BpqP+pB(/l*:;L]8=Y)<r++JP[Bj)rr*drssbQs6W,ATDcP$5P9O*
+s7lWas5X.*ru_8jr]caM-W_E,?iV:O1Z&~>
+endstream
+endobj
+376 0 obj
+<<
+/Length 115
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[:bY^"<%p.10JZKZ10-q#j=93ldNDsS"[bGGPaS,>6?4]FP:)]G3)BpJ^5%:X
+QbHCKZ[s?e^8J/$8Ps1OQ`#`C!s9bdic=_Q$KM6s!.PFh"9~>
+endstream
+endobj
+377 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'#@^&A"[`BG'LT#i/g(UT5g!?X:dN\580mA=3I,Z0LB@^joKC!c;h23+
++d]p@Y<kfXBe#IIMo*C3%J:2'%/(5<@R'e:jm'r&a9<C\2maFC~>
+endstream
+endobj
+378 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A76'<R<TY<\Us]0XFSH1#shF1,]/j)CS]+.[]K=Jg>nXE\<]B-^T:lK!>WK
+^'@Jp9A_26=TM'=qC7^DQ)8SI\g[LVs8QFhOSE;r,^pjAOOsd@!Q>![^kmghiZOaN
+$mM/!6p$34LD0S..hI@ra>*mLf38%*Lu5!"[ummbs3Co^>csZ'JR!^+!;ss57f~>
+endstream
+endobj
+379 0 obj
+<<
+/Length 242
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_#0b/e#&-Ymi"j&S@J[p:`lQW#I5u"./dE2QiV1hBS9XkqrKHj;k&AH%[BM9gK
+2Qta^B)W;Vm'G[8S-.$0k*)YmR7KMi%LnnqQC2^):m-u&Y_bnfA4.p#/Qn90[sYqR
+cBPIKm2/)GMLhLAJK,0\j_.r4d!-s9a/Cad-,aALgA=\PD@b+(:VdoZ,Y\3]i:='E
+4+;5&CmJ6kB/[<f^p_Yb@N2UYFfj%PV*2Ks!2SW7nG~>
+endstream
+endobj
+380 0 obj
+<<
+/Length 157
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A77R!+KGZ"Z&N"'LT#i/gF"3hZ1U&cneYJ2#n92\Qhn$>l*Cd7[@<U*^D/,
+IA['X"X)pkX&)\nR`aaVU@A2TrVunIJG9?\560[Iqu8ktm/JklE.\%<p'4FaTo9rc
+Jc9(cLLDf::Tcr8^]7U2^Ba~>
+endstream
+endobj
+381 0 obj
+<<
+/Length 308
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH80hTAL(^8h0MhSq!,KsD#9u=oWJQ9N#JlWpX/M.[=PJq"S]i&Ao1?&H=2H,8k
+h[>$<=Ni_JbkpQFVE><5-oLQl(#cm2-X0YWccbmT#cjKN4kcd<lo(pqb:\'Ng#i,^
+E,)PmbOb%P2<P#)(dROn^c@Hq)&Gh$2[<#Hpu!bg8UCHKHM9eqpVP1^LeChL6`8BS
+j@c^Wo]l0D%:(IY"Lo<Z2CEh*\0+A>8HjaP;))AbCrMl?Cf5(K/1EJ*(4eX*`Bihn
+@t%n2O,WnQQlfGtUZ3`GoV*S<qhn`:G%9D3!8NLaaT~>
+endstream
+endobj
+382 0 obj
+<<
+/Length 314
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ul=0i#YP$q4g:73jfP_Y=1o%EYK,["(OO,cE[&:f;h0HI?f8OgmsU#(pTdM"7f`
+#8!Vs-e[DVp:/rLL0Hi%j*&=GbmuZp;q"<9_M6go=u=(o'C?"(m^VM[\e9k"h9@t3
+<"7HlIsHI<iIVZn!5*;:&M+\Z(Pls3,@F[5"#)\?guL.Mhdc#drB^6,S.n7^`,QJY
+QiprU?cK0'AIoET+D?Co2ed_5>sX0HHl&]hCo-]B7Y2EP?^(kh$EoO[HtiG,YXcdD
+m&3s')90??%Tn\F?sY#MEh^)M@Vh"J\'iObEhHY5)?>nuj^J~>
+endstream
+endobj
+383 0 obj
+<<
+/Length 229
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk_0abc_&-^G5c6Y4^cm28k%7CB/&@D!.C2'AT*BZX5A<h4,:9`A=#eS@e1LTMW
+s1pHEbiVi!fgp/$1W,!,cBP5cQD^-]4ALV/M+UF_Nq8KuQ&I+?2fm7mZ"q'[DF^u?
+%O!f'G_1]k=%3h+oUs+[%30&H#1Q6rpgTo"KJ!ZmcmfL'Po(3e#CQbp:^7tbJJL(7
+%:TnIf(U89iZgk".($@gV9].jo)G*~>
+endstream
+endobj
+384 0 obj
+<<
+/Length 294
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk`0i#VO&-^F?>c]bVNo7GJ36&t?V#V,\,)(mV!$t&XW&L\Rk"8)W>f5@4'$WnO
+r%gP@84YQo:YMAern/_RFf)",?"c7I.bD^G<`2n?Bu`Q`oA"*#_m@Q+amQR8,eLII
+AFnoJk)qS0I9F<K8TV!=?pG.a&3V@rcCIL^-W<nV(l?Y;#4R,^M:&qcpbnq(qpC!n
+=CdCCB5-&N"rjZPf&,$8=>K_[9Rlg]RhNVWIul]TQ&n.9hN8=<^6;?#A,EKIoO6f[
+K?)mf`^QPCr.>78VNEr#%KOJbqRu~>
+endstream
+endobj
+385 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`@5>K*M'F&NO%$f]/,NN,1dZBR@;?9&f"ABf.0I!n1,W;PZF)U%_ABYVXj,7UT
+8>s_Xo!A;o\A$>#ep;YFoj!taT1`<[eM,']V=e!51U;Cn74Z?@<fIg&4Ha1DE2fZJ
+m@Cu+ICr*tV*N6*Ql.U3/^V,$+UfFHM%-1HL>[52FDacS1/.=#Jg^(M#B0#:J*HkA
+-fia$R+7;9/9_llL'>da9,Th-U^:rZT-&mb00H!-O7"D>0dTB/4i&ES_Z\<*3dq9[
+iQrI(EP[AC,Hrin/;94+\SgM+^'4QlE7GO~>
+endstream
+endobj
+386 0 obj
+<<
+/Length 253
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSV^C#R#'ErHL6+Di6i-g/So+,_j($#qUe,rZ[6W%njK;5Uq3:n+]0AtIoh7b*_
+\-.5tDn(RDpcP0cp3AW0cfJQY>DE^LL?`Gni3>Le<2S=7.8IrfZQ#&b<tSU*El&;h
+ab!=/o8\t_haP3[j:.QT%Jo;?('Br'aP4p,?BO5m!MZO3'WJkM'HkA*"q3d*7"VG3
+$4td]l6n]2TGc-]h@5j!om-81)pFW=-i)YadJ*5h95$bd!<=+/!qQ~>
+endstream
+endobj
+387 0 obj
+<<
+/Length 333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UT50i#Y@&4L5s,*IZ@,M3f_Ce.*4B`X&)85O:+TVMQRm6rJt>1oC4)l-/9q=D9#
++gu[EGl7U>RJ+M#D/2qnD7d5^D4bS9Wg\s//0!?8ea*m/05At:lG5BLWc$Hee`Q;J
+euJ"RmJGYYZg+_F@K@U-#DUn33gE5?"/<[SZU_fa"dAu_L"c_$0ucG&rYlji%"]"Y
+#,.^I[%d.;IYV'r7[+R=,^Hm*@uPHLi]'4t/k]S""d7`F&5<^^;a'q)/l7q5D%28]
+k*&+f:oK4R;],NZ*J8^:XG@6t&=<#4D]'%S+)[a>3>JgC+jJ?8o$u64YO9s8!0"SSAc~>
+endstream
+endobj
+388 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70i#Y@&-^EK.4e1L8'"p8Z6:BnV$/,B+@/GS`)9L;>&$.Y@Qo[[6-9m=5%Esa
++T]iolkt0JgIp3j.q][HDPX=E=48*GSK@()OnQH=Re$AKgRbE8Bf`83[7&R=r^pq*
+qE$_(hd<=s(<cr4Qmop`JRW4BAhhZ?^f9:q@u166_C#D:idt+A@TT;K<m(I#^[NVf
+&(6C]BeGGQrCb-D6[7`^(hS5+$tEhd4I2@:d3RW5p"qaJ]?qY:G_?_*b#0LDG&$a/
+FOXsG*`M684YUM/Y[lng)Vt&X5[OTniBYso~>
+endstream
+endobj
+389 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'#@^&A"_12Z'LT#i/jf^E&-R$uoaDRW%=gie/shbLQ[ZGrT`LLo#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm`6Ss+^B)H3S^%"L0'J-OsP5alVg0(!$Oq!;:8"HN~>
+endstream
+endobj
+390 0 obj
+<<
+/Length 183
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'=3rh3:bX_-0XaqO1#shF1,Mf-5uVh.F$2mP,`k^Fj`9qQdLTD51uQgV
+!6T<G3s@So(inkfqC7^DQ)8SI\gT]=hb`3,cX797+SN_Q_uZOVrs\Q/#efpBmJfQ4
+5Pos'+S_l6ci5*eJ,]KCs7?92s,[1E%tn2jSm6hOJ,oY\2Ik,~>
+endstream
+endobj
+391 0 obj
+<<
+/Length 303
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V000hTA\&B=7&'S0uHg1;n08Q^CW+TtgL;[?QP!4B2d79d*hV,n"+lnotn+Ef2#
+52YG+OHk*QpWJXBJ&X&dQ\BqERCI<`.X94@n8kbmij=f2gg?*q]W*r<&6Egoj$.Ol
+]"8Y@<4DG0H$e]=8c\JhVlO[hd^D_a[tu]U_;do'AJDd:FEg#*m6RVaf[c?QBM-Gg
+g=5[,?"04rNt',BK*IB)1jAG(n5*VbX4sM>SQ]e]VVo/FC8nb2K(j^;CjP8]B7?dN
+:kPP$eCMY'oNt;qU;XfFr*R1@pn%Ki!0J\0\,~>
+endstream
+endobj
+392 0 obj
+<<
+/Length 276
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WSY4V!&t'F4,j%O>uO#eUNnTU**UTI)F]ki;cod6XN`*0$_<"@`U4o?l-B-H*hL
+oLH[r:"'9c39O'h0qI8LJNG:!mC7)[V[6+-Y0JuIEemJh'LY#(Jg`^^0nCb1j7DfP
+6G>b%72#9L_@TPa^U6j:'"+=.',ok]SoU[,_BJB`_&o?llho`n[sOG"n2td'c-f4D
+c,gWujR?[cF_>3]FP`)JDHn-bQC>h4q\M9Jbi7Kf$AR.H3a!s?r;`F7%VZ1X7'Oqp
+#bM+tVQ;rU~>
+endstream
+endobj
+393 0 obj
+<<
+/Length 349
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^9YtDr"&;GD631)%ROElC5(NIn.:'FQ%>58/5H%k8.\\l;4=%]^d2(nY*8J`Q2
+GBPlr!F)&lfU:EBG5fT=?ErPP$"kd6:AI)M7rh@VEm<5WVim8(DF<`AP$<*iP"SAD
+ZG&N_P`k$`T:`P&<1Gap.`)uU(lJl;N@>eglf/m;,o/?B$bYiR07_':NMO^kMLjVn
+Qc&!_:a'kS*Mjg]6U6.^Z1kF*XeMD+Lch+4eV*]6]%s""4^e6iPB:JkH/!'DrGFQ`
+iA1o9K.uqEYi$`Cnf$k?;mR%7F^qM$a'<I%EjVRlQYQ=^SOJOB%d7q\1Kg"ClX3]5
+Y7YkRcjbC6!:c(emf~>
+endstream
+endobj
+394 0 obj
+<<
+/Length 262
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_$0b/dh'F*J.#*QH7"Ps<h7?Sum9i)KbR-<T3eBpRW1E;CLE!/Z96>\;mW&h.R
+;ne>?V>Ym(7tHAbZ9UFf@h'<:!o:)Q`AGVlYckq^8e$0/;?1(Y-/dm.JN7\__;"X3
+!kh!6T@b"@ACY("9[Ar;'>%(BVMi*A%FT'WpQ5o^hIkj8@W,%3?FNdFjfM,IgEmkR
+qBnf4s6KS)pS7Vk0Gfmml]Nqtb-rD^Y#Wi,l\Tq7pR$]K\t3?,@0`t:!5]dhUA~>
+endstream
+endobj
+395 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$#%CM("Z%BW'LT#i/lOPKhZ1SPeh^:P2#n92\Qhn$>l*CdVIj*0*^D/,
+IA['X"[anj:LAg=U=*!n:DX0=0T\f$r\<(*s2Q8^^S1Z,rs',#"$`1LK0oNh;#ddu
+rHP:$+R1[fl9>o((kl^Z:s<>4&"$g6^d:?K?n,U]:^qc17fC+lI>#*K+8$134[u+T
+UJT2`'K[QC+k.S>o`IND@#%,M4!Zl^;(4,!:Tcr8^]6D)3U6~>
+endstream
+endobj
+396 0 obj
+<<
+/Length 215
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+0<%q-&#%CLE"Z%BW'LT#i/lP+[hZ1SPeh^:P2#n92\Qhn$>l*CdVM8@P*^D/,
+IA['X"X(k7=.uFg1mQ857=bIJl;=O1%/0`$0\$,@W;dCF+R4M@R/-fVI\9MeYYkGi
+;#fX>W8lO0s-QbI$H3LPr^!J)@#BL9$O)fJWJ'P(1CU=4=K2>mT`-[eK.(,4n7,:"
+Y+AmL>^uhT]Ji<r~>
+endstream
+endobj
+397 0 obj
+<<
+/Length 344
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X_$4\EXX'F4+6;_5RnNj.sRRRGA%#$(n+#[2KRh9nX;3e8lq<\P>HlidT0;M714
+1UASTfLhP/MDlXGj!*ZF$U-R\>Hg9RVjq)7B'_`t\N%hG_sd,`2AN&!Cbn\%&>F8f
+GKDkAeLePL^2L!^@M*>+ndS'Ra<(%IeK&Ib.sFh3ADjCT5-Td,a=$?+=KjAG*,KB.
+TW5od8P(aiP7GXHIZ'!lf6CS?-dG-W@.u17qnp*(9?Xk:iu^^F9XE73iKBQ=MJ\]K
+BYQ7N5BAfaUSFFRERr`OT0pGDZ[^'^06W+2IDHL#].h9/<cP9p3R#$mF'#WRO<Rt3
+FAG+'!1=:^_>~>
+endstream
+endobj
+398 0 obj
+<<
+/Length 162
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+.:bY^"#%BA%"Z%BW'LT#i/i,j;hZ1SPeh^:P2#n92\Qhn$>l*CdAqjRe*^D/,
+IA['X"X(k7=.uFg1mQ857=g#@_>XH;"$8RBO$WdFrr^LFs#8I-s8RY"#h)$\0jpa]
+g0M(Z@I](&?Fa<(\H9;A!s$RQ=]>~>
+endstream
+endobj
+399 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<\R?(!b,XA"Z%BW'LT#i/gC`H+3ZUj1K;^Y!#!Da>Y^kqqV_cN(0p\W5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(Bk!I#(@Eg%n-F.fFLadnfEs$\Qh;.!kA:5!6HOpq#~>
+endstream
+endobj
+400 0 obj
+<<
+/Length 213
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-G3srhi'SYM.'S5#KK\R%#j>"SpJZ.K@JlXKh/M.[=-fW,I(2bAb+D$GHj0c44
+"ZB_-IQ1rV0cM11Cf8PWhBd9>XH51!goqYDdY."=.SG**=[@?WM0-.oE^JJ4q0]d?
+aj(a*;Sa15'`^H0?@PH9Tlu#;J)LJX-e.W/DWjGMcjt+d(ZC4Z7#/du7p!6"U!T#(
+bq6'^4TM4hq]P~>
+endstream
+endobj
+401 0 obj
+<<
+/Length 333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!]h64.&-1WK;?WkRDifAJ:#[0R]>0th.0QcS&%**N'Wr"RE%dN(P<;1S'M$06
++,`"<Hn:bTSXinbY&qkVen\>o]&sFXZ!N-,aiid7jj)'=H$[G(MoDHl='474/M&gS
+>?>7\hRUsnY8;#Y*<7qW+o1R83RJ*Qq2T,lOIDWKfr/DY%\t/jK:/`\VOhgn_c[I^
+3Li7$#;]@+4=K1)WDgi,*R*C6^&8K,c^Eqk^.Q?B?@=me`8(j]ek?CGY)L$CR@=ZY
+<r\9#Ncr_tM3S2<rX^RbYho6?XfoF[M5@t$/16J?!e5AO[moKcnjMJ3M\#SE!;d=:W;~>
+endstream
+endobj
+402 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z="mH)#%CLU"Z%BW'LT#i/e^l#hZ1SPeh^:P2#n92\Qhn$>l*Cd-C.p5*^D/,
+IA['X"[anj:LAg=U=*!n:DX0="pXf$s8SilrtshsK0Vg&8>H16';U(BWW0K-&(mfc
+.+A8'eGu9[^skS<0_L&1(]j@1%krU0K7O&oic=_Q$KM6s!'72h`r~>
+endstream
+endobj
+403 0 obj
+<<
+/Length 319
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`Bbt>l=&-q\RKeCRq^-Ulb1l6oS:P#NR%YC;K!:!G.U?BI!%q8lpi1[=dkR4c,
+4bOhg@m/m_ZS6lX_sUs!h2=:IA1P3dpmdp"I)@4q5.'_T/>CTiipd0g)$W`+@LR-c
+$\QFs'h&sMGP&WGGfK*=!)f+_Ji=qW^/^l&rZo&JXA0c3P-\uAQG08kqUM:a7&9Qo
+J`tIZ(f6VVn!pCgr,"saTk/VdUKXooSMF-HF/O9"R_('E0VU>[oi.dB&afPAJGc1L
+f2k+.7q<b2M<,c3;ZDp7nn00VNCq.iMLW,;qhP$bRg^D.G6"3U_,1~>
+endstream
+endobj
+404 0 obj
+<<
+/Length 306
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!0i#Y@&-^F;;HRu",K(CK,V67b+tXq"!XU=d!*`?OG&(>\+EF:uAWMp.7?l-:
+PCcA75E.5mOo3+VYPaDV\G"n(^X`%qL77:?)0_FT^SppRICK+)Q7kGO[X@!\>OJ,$
+4V-qT5CT16[_;9#?N?33C0$6<,!-DK*AHZX!FSqii&_a)1@6`Oh%KYCfSFsL4ZdX;
+g+aDA9KSFD%T`.P,R5iF6'?kc]HG>48m[V??u9_u^<iIB3#M%MMc6LD8H_%j>jXJQ
+?\DkJkY`^o>cMIWW=6++'`qT$f_a5`gV3ahmC./?~>
+endstream
+endobj
+405 0 obj
+<<
+/Length 321
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^:4`5m;&;<CaQDWUHbQVf*$L8>H5>imR,ukG:UeG4?Y$'Y@UMp?.$KUa&/@,LW
+b(/D;o*0A_Dmq#.=Q0)_9nh^I^IgJ:.?I>8YhG=:F19I;fJSb?TID"5E>%?E[lp%=
+2m7Hd?b`9p+;*:cp_]c.f[jEP][=g;4eZT/E_=7ZK.C,>,N;2,pt<qrm!J3<'u*NA
+JOu5JM-*^e.BaHip7?+S6eSp>XI&QHgW\6mmM@+ooY26odlIEcEpiFH$P)0Oo3pc0
+I`9.48c286YKeU1e'rTd6$(GD1cN\,'aL-qF4T.F5(I,Fn*h.o^L<*\~>
+endstream
+endobj
+406 0 obj
+<<
+/Length 222
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;D:p$#%CLe"Z%BW'LT#i/lN>=!5pbG1K;^Y!#!Da>Y^kqqV_dY`a&?]5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(Bk!c@/p6K6o!1Y./EoC)!q8E!/`\as8TnDVZ&<%WW*A<
+$A_!t!IG(uO%_^p8"nSWUej`N[/k"oe.E,1%YQn;!'cPHHGpq!!N!R]LCWtf(^^5Y
+Z!rb[EOgC9"`aVJ!%\[P'E~>
+endstream
+endobj
+407 0 obj
+<<
+/Length 315
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wka]l(\@&--+5%$>Gt,PYRF6:b\-85LQe+OR/!cn]bE_/-kP?R]2d,?8*DCltZD
+[Gsp1ciL*engWao]<h/MVc_l%L0C@DiH#KUd"N!*;;Ye:ao.b04MAP)K'X(l!SQ1&
+6+5Du0o)jai:1d?6$87*O-5<N#qHFHo223/^`$ruZq[94'ID.BU:)%FX"39rjo&4c
+jY=[N>`[o+gQ_$e5/K(\Z-T*01bSbHWnF8.Ie(3R%aY%;9nrK?HhjGHV7C#[@F)]b
++4ZeJkM:h^Zg+<4elkP4oW>Go?UKb$/IJ72Yc?U^^'=Z(2Jqj~>
+endstream
+endobj
+408 0 obj
+<<
+/Length 330
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um'_+MX"&-h&q!Z'p]8'&>n[[";Q^oCcQJt@>ih4k3DcY;X%Fm4eup&te0H3bO(
+\u^f\i+'hRR6P7X)3o;h9gqWR6*E;_A!)nVWhT&6Q_*^;L>*WqB.>Z1n"ka&p@3lX
+9^;r[r:nuSI7l[AroOg0JK(i2@U_)\bAB1b*mGCD11QD54``H,k/F^OI&%E:o7u;K
+7Q@Kb022usY;i4O'TgQOUms]m)8L7q0Y@D,-,IbBE6"!9A1@1`UN7bnei?T1'S[?H
+RWG?5Z2`K)-ee5LqM`g7'$7L+Os+#Ri%>F6hDV&<G(^;dNT0V,GZWo=rX8eZmcL/~>
+endstream
+endobj
+409 0 obj
+<<
+/Length 198
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;_V$%#%BA5"Z&N"'LT#i/lPCchZ1SPeh^:P2#n92\Qhn$>l*CdVNtK`*^D/,
+IA['X"X)pkX&)\nR`aaVU2YV`%-fQ\rr3Gus+#4irr_up&(EQ9#LO(K)o;.Wqdq84
+%]986d/@AK+$j'O9`LG,7/r%hs$pc3\j7B(1[p%<+2HN=`2'qK4h1X)!!<5Vc@\7~>
+endstream
+endobj
+410 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\]+)VB$jL*0'Tq0]KQmO=$_?K*"d$4q#q?,Z8dZ-ZA-5k!@Zdl\aqW5@4/%4g
+Rc<bag%s$Kc%KQKBUFr#P=]JTi"8[-`E4YD.$:*+gB/3,UCEUoUP6'/.TTK2LL&@(
+FP3F[&HLl#i.(&8A8Zq.]J@)b0Df[+It.-o#%B3>T/s5Tj]#Z,/[hZi)Tan;6sA84
+c2DOO,(%NE[HuJ?K3Y)#JUSaC!$0;m?3aQc`js&G^'4QXKUkX~>
+endstream
+endobj
+411 0 obj
+<<
+/Length 324
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V0.0i#V?'ZP,_*?r0C8+;_0+\c,k[R^QI1*FEO!EqsI,+-i=Yu`DakV\6DJTT'H
+jl>#[MHsf80CgL6IriM+cM95.F3Q&p<CUaZ1HCu2R<*hBaX3YA)_FZS?eERNI?9<6
+`R?DOPa7C.nc&>VjW,kJJ6GD)[RpXmd[dB<CaqDgmMGZtpF$g:O%e-<Vqf</E3O3b
+lU96oZ+M;>f"uJ0ZsmgQ#.mDaGcG)+Vn`YSkhD/LL!=b6HX@*7"t$R22H0q$S[4/i
+k$U9UH(ImnllqcTW+m^0.<MmYo:gFFO*aF;X`\;UN9`7`^8,E<)ZUfWWq-~>
+endstream
+endobj
+412 0 obj
+<<
+/Length 416
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V02YtDr"&-h&%-Q[)4>.`T,cs3;9%LrQ<Jggi)HiUR]:pdnF=Bq7qMHJpsm^O(S
+FX`W8ZSRNt`kZ3$b\Zl`B7?^j3n#IET$R$tVOpc^.e=X<pj'$KdhI0(H@1ju;C2o8
+cXh-L/X\0Y/p/Y-nlEN?I6>^D8dc4s-%tN:pn(S$0F.h)VLnm($@kSX.g+-9#`/dI
+4GT2V=aBEu<QM%FmRF9ei^PZW&W`j./nWZXLW+p,AR`"?<(+?SQkQ^)#R7*t/;X6s
+r">Aa7'n<%*`G(.`Nb2[4%r)EN8oB*(/lpqa/ri=gbIEbM4(B`JDZA+@`s]bX/Egb
+`%H576QQu0MV'"3WfRGi;\:V<kMYblTV%$)j>eq<,<mRN&0^,QV.+o5qAO@5CWgh)
+gi&;+V7`-Z!rte0'm]~>
+endstream
+endobj
+413 0 obj
+<<
+/Length 377
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UU!4&3^J&-h'L;FGOkNaQ2onlQLO=^"'7"VOcS!%99]:ab(Bm$/auM/-Y0(C6Q>
+/&U!q'Vo\33>m,%J!paDR[R8uDOT9A<U*RA)qpWe>G"pX[%tb&MqYV>GVIB3'fYbV
+(#->n;lQM)2=GH*c`4Z64b32*H7_I8#V"bpdF*hL:9-aPBg3bf+<AuP8Pf#S\0DeT
+gli!ak3Sgp]j5GnYb'CJ$Vn5?i1/,0G)3a%.#q/sm%OmS`HXL&ctmY#437:J?^ZbM
+e;7N=q[)VGW$20'@f*+5gq\-h^e(;()Z7O069+<KUI+m=&VZ>!4@Vc[a/Eqh6TCcj
+n+[)^SE0s)1Di.gCqPT4.J/-UZ_KN-CXmR.ma^b+*dN7I~>
+endstream
+endobj
+414 0 obj
+<<
+/Length 313
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-JYt>*a&-h&!<s5B\bB2DRd(:$uUcXA>?4kQ,#;DGZ#42J9>tSHQ@$0&3n-.,*
+MW6&`m-T\':LGo`h_=ErXIG^7=HmmH?(.&?(NqUY\W6C#Re%NdnX11>B+N#,34m.e
+Zc1acZ(.(Po=BBtipte7;'d7:DtK9O#`V:<.Bk<(%M]2e;2=ck5#;\@a<&kYB\Neu
+G9\rXfo\h/kS8=Z3=,RQV5Oc9p!g2mil_F4a,!M%V!^AW[Z,P+5\`?1I(6'I",&R$
+6oCX/#OEcME#*C073hn.6p(AYM#V4GP!?cA-/\<.!3274('~>
+endstream
+endobj
+415 0 obj
+<<
+/Length 121
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A77R<7!KX<WF="$\]9^Y!Oa.';-aMgebgbcO_?.,a3;[S34@S_\ESS\F_q7
+Ea8H9!R;$;b0sFcUo6,8bL8n2JJeObrso8=F"N`Z-W_E,?iVfRBQ4~>
+endstream
+endobj
+416 0 obj
+<<
+/Length 217
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A76'1fc:g<A6.,0Jca#1#shF19pn;)CPS76Xr8H"_/3/982G3/gjFIrG\DX
+QbE]lF:)tf0]^[VoMm:g.S]$qFA_g7s53fOrBL0Ds8UXLq#@8kj8U5$+92B9s7u]@
+s,R7bkCK^`+DX0&"iKmr&UPW.)&rLG;9rY-+O;1f^^n<lncuu*JG]NK"838d5Q(OY
+cfOH6(!$Oq!'\G-)#~>
+endstream
+endobj
+417 0 obj
+<<
+/Length 123
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W<A76'<7!KX<\Q@10XFSH1#shF1,K#h)CS]+.N%H%-%TTI/shbLQ[ZGrTa@("
+#>gFRh^Q?D!D%M4.[1X4VK-sn-nm>Bi;^\^!Q&*bjm'r&a9<C\Mn,Rr~>
+endstream
+endobj
+418 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH7Z"h01&-cO#%#/!Y#eh*gCa\M<i$8jEKm)_`U_tta,`qEkBSO6W*l6Md#[`((
+0r9jT4sBmF$+X]OGf``=43+MdO.+@I]u"k!?I!=si,GEfV=GWa<:1>qft;2>L\?ET
+T@Y<q>Ljs!N6Hfc]r2,AL$Bf._I>q"m5Rb=q.#b+P#7AZ&+j"N+A;Pnh/i_G(P[>&
+j&a?/-DqTtr+G`X:<+I:3_D'AhpCu_.h22f0Z`g8ch+9c.d^DcU[J3`UN+<_~>
+endstream
+endobj
+419 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+3srhi&-h(2'S/RB#WijL\1uBO_$?>od)lHhV1kXd'FV+0UZ;\0;ojo]NF9P"
+E/UpP@;#Sm=Q9BKltMEu3#^dO_\&VF/dF@n0^NSS$/5PU&dUB4`=OSr"MnV+71DPg
+`:N6!LLc/#YoMrMde^?!T<+oPQTM0k0,7DY;4#BZm"m1K7-9HM(";GJ?>D"ueZeqU
+XS%(IdAP[.Ss?@##1r!WD*l?i[@(<t[NV9BURncLH5)+UA<-UuT,HbtXPl#:/&<Hi~>
+endstream
+endobj
+420 0 obj
+<<
+/Length 243
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk_0abcO'F*KQ6fBU[6Jhr'N<qQ[We)5oSNME`3[d%ui8D"hPSPoK[gj_!0+-_*
+ODi44]_o#@-Z"%'fhC(6hJ507Z0\seK[!Ul-L?bWjeT>$/?,I6UpBZP25tuBQh0l8
+q4-CF!,W8L'ggi5"ti<'5!k)Y6;Y%o-Pbo"<?\@25Zu2,&$ccEa3PH\9Qk-8$M%C#
+`n0D].Fe0.:LCC.L:GE@(\o_[J/\KqaD"#F!<B#-X*t~>
+endstream
+endobj
+421 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y")3srhi&:i^K!<Z8f)sCNlP9ga@'V^1."Kae:>$<=X7hIjbn0C"\aqS:)fo9CT
+;R#tS).rXgM*;,'O;O!3%WEfS#[tY=+6*obU#[6#4[>0^\%sa"Do!snP1:6mGj,je
+Vop.0)%r(;)%p:W`nIBjU!Qi7`thg5^!W%OWN`@FFAM!:qmretkc;Rf2eLcZ>P]as
+nGT9X3H*S-E0%.WD-Y/Q[7d>bb+XF%h!#t%b#Oc[`L'X@?bnjY27s+n;lCk(~>
+endstream
+endobj
+422 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH64UT%k&-^u_MSM&/_Ti<Afd(%;i")2Ad)lHhV1kZ:`g[.E8A%72/OH&(0r/hm
+5+!ACpTg/r:3`j#ST1P&W9HY5PX!Js_T>3h:,nbXSl<#ZF@sqa<YWff$e?$R)noVH
+-d%d7Fp+K3$rAi*i3raJqN0Y:Vbj*'Ci*#%8hd)1h,3gC!^5CjS0*oE^D$cN.!q2S
+I;+t"[mmqc`eAB?$/hU.?BC%?8?i/6T'Cd#<DGW%%fiTMT`+~>
+endstream
+endobj
+423 0 obj
+<<
+/Length 186
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"!b,XQ"Z$gG'LT#i/n5IM!5pbC1K;^Y!#!Da>Y^kqqV_e$7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PVnh+5$Vnhn]6k+8b$s5NEd`J$<S\s1jZRs+*3Rrl=NC
+!JLJ/!b!krs!J%-0JL9s\RnYG"+BdU!U("1k&U.U$KM6s!1*c&#Q~>
+endstream
+endobj
+424 0 obj
+<<
+/Length 326
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WRm4\ipL&;=ttYiI-$LcGIrLHlem!JqL]:iQK.6imM!=`L_59mhW@GpOu%2dWaU
+Jqc8\CsBV<1JWGZ)V;O;Y&XEFlW\Sjg1SUBiAtg]GLT6J]R.#ddFPc@g%pjl>Hb3U
+*4PI\]tV-Bf^[aJcNfQUU4AorPK.u5#Tb=\i)@2Q)(QD*bS;rg%p2aoi;Gmq<UCdE
+NG[qXc,HK9B2'+Mi&$7H@;KLCI/`.'P<O%!7]!+YG"G:TO%&.A=ltMPALJ,B<+Efa
+/cU@=#q)*'_]LFM<g4Q6%_mjr)]NAO<6?`/BXouI,pc,;?nXurA%r3JG`s3A~>
+endstream
+endobj
+425 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&#%A6="Z'YB'LT#i/e^#`hZ1SPeh^:P2#n92\Qhn$>l*Cd->$NZ*^D/,
+IA['X"[anj:LAg=U=*!n:D\_7bl<6E!JC:N-NAV<Irln70nRIg%/)sWi=C2Vg&?aK
+8BUsBs8S/%*iSEI;a#qIW;k0L,l])[7O4.BE05XcNauO*DdZsB-FmAE\H9;A!s%oh&W?~>
+endstream
+endobj
+426 0 obj
+<<
+/Length 157
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W;_V$%#%Afe"Z%BW'LT#i/gCH%&-R$5oaDRW%=gie/shbLQ[ZGrOTCf_#>g:N
+h^Q?D_2q=IdoW6=W&0d_dm`5fr;Rl*+S:4&JKQ.%.:U(Wk5PlEoRlu>+(gT?NR/ce
+rsT>6&B*\qaVDl#(]\/@OI-~>
+endstream
+endobj
+427 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY_m2-&!\Zr@#L1F%Sf6`ra.,86`SJV&TLK!'s%,tM(_:a%icbK5r@5?u%G
+KM12).*8=S']?%mUca&?8r?5>\NF.3rr6p:s,RbFr\,H+6j+o,'PR:!^]6h')#jPJ
+!/V*q3r$GjjI5p7L3c<C@V2QKDtqB0r.k=2&,QkGp&CEZF1HU;"`aVJ!'[[2!W~>
+endstream
+endobj
+428 0 obj
+<<
+/Length 259
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+YmS?5$inZ(%YZJ4KZam>>?f(K:_gW/d)f9a7gDKGG4W0mr^]8I@gBPj8XH0`
+#PT@O,`kZ2'[kXjA4"b4NY,SOM/=5Q3$(LF$n[5jAf?:B,r#TSqh.8DR8\ci?IS:f
+5G;DFEEdeJa$tH7k.^uY?^<>-9-r_p<5-;+kd*a`:!2$I>KP*e=GXcgJI'2ZYidX;
+=f7BBNG%p/HfLMhLM]=.3ch`'fr@uU[GTHn5HGm;LgP\tMbB%6r!WR@1DRh~>
+endstream
+endobj
+429 0 obj
+<<
+/Length 136
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)W;_V$%#%Aej"Z'YB'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H#?[Ig-bd_>O<DoDa;m)uX4CcbR=+6!URa>_-.1!<DJMKe`~>
+endstream
+endobj
+430 0 obj
+<<
+/Length 235
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-JYmS?5$jPW0-QZg_,;_'HD/&O[K;r;a5pma>*?>ibgWe,I&pt>L^p1ds0gu8^
+2\7U^pCe0q*DoG>PV&h)Bp7KsD'h:1@Qr"LONP&h@9I$E,+E!rP85M,@S@E73?8X.
+/QNMl-7EJfB3K6q@_oa;+$L=-I<5jO>8%6_@ElOTJrWuRkgr,4%_\=IE?gP[FU.^"
+[J(W/A`WmLeba(]dt#/aq?9VE>iKf)lcet^~>
+endstream
+endobj
+431 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&#%A6="VUul'LT#i/e^#`hZ1SPeh^:P2#n92\Qhn$>l*Cd->$NZ*^D/,
+IA['X"[anj:LAg=U=*!n:D\_7m/Iq&s(>a>_-dd!+9%?,P3mbos8QJns2Y-=&"EM^
+k5YJ6l9Q[grI79Zq&`![J4W3UP'M#/J&%(T?smn\?q)KR>WoV!\Gu^3++^$8~>
+endstream
+endobj
+432 0 obj
+<<
+/Length 234
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O0abc_&-^FG'S0t=KZjUAZXKs<;8FgeXZV,;=t&)OHF"S;7nC0ZaEOp*67Njt
+`==]qf.K)DSEGWDcIVL<d#Dk]A'%BX0[^V0="56T,MS1L<a)<BrJD%u\)YO-Gp0Y/
+5QU@("kkF1hGT0W@S"krI0s?V!e&c/8R#\\"-!iq?8=^60WnCT17A)X%YSWVGectF
+[$PIF+<g&hgnosZ:*g1<ToGfLI0K\9PFNi~>
+endstream
+endobj
+433 0 obj
+<<
+/Length 255
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn4V!'/&-_!G/P)bt#g<GdQ9_8#">u=Y6n8e@Q51C@0sU4O*/,V6;NMoST1"=&
+Z2':OP*m+:$o#VV8hc]B'];9n)5<MI!944"WG5(LItBKZItpl0re`f,e'/jIpt6Rh
+QeN+X"WH&b+sBUAZ]E6R@=*u,NR1.XiRD=nmURlC,3NpLe=GINarO\J^\`G]p[_mg
+LK.BaYhqHWf#AkCHaQL94tFkng`'BXX[N2qZ!)j#7`$p5/\D8fKr=k@~>
+endstream
+endobj
+434 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFn4UT%k&-_!W/VGRs&Y'5B&s>L0KrAAd5q<J=Q55@drXeR(5msk.n,fjf&U[=d
+$UH9TQESq"bWOKiM]H]g5.gA:T%gUrf99R"4eJ:R?%h3R8O5o0P[0?oTk%[<iuZrc
+L*PQV[gNQ?$n0n]9Q`!RZ8]](Xq@=HMicP1O,t5MF^_/02N_c#V/c7k6fYENY/9XV
+DQ@YT-KXp#O-o05:['FQ^f^b0SA][(&6%*k+#SmOmf0&-X\c"n]/0e-6I,Z4r1=+g~>
+endstream
+endobj
+435 0 obj
+<<
+/Length 174
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[;_V$%!b,YL"VUul'LT#i/n76khZ1SPdPFkL2#n92\Qhn$>l*Cd`eIap*^D/,
+IA['X"X(k7=.uFg1mQ857H#?c%s\BQ#ODlcmEH(+Ef<68lkoc,eM7&5!TAMnr1Ed,
+_uK?.)#sVk@qOHR5="fX(`;5!bLMe,O:*`BJJ3)j~>
+endstream
+endobj
+436 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SnC0l"Tk&-^Dm.MdbhN\GO*6sdt<>V4S76q+noHiQ6>MM.dk+bc!9X!m`e3eBs=
+@_]s!(N3^\04sK^SS>3e?L(5H?MC&+\6;uods7e_PIJiWmZWtHQWpR->eX@[j`8%4
+cXl^N5Ms3tgq5&HE/N^e%%[#-j<(.e1!-%J,)T$Tj<c[)eH,s`%i!BQ6VeR(,)ep,
+U_F._.Y-@acBc*+M?JdJ.In`"RGB)]J_IAWY`FHXKO2Ht%<)"s!+lmZ4o~>
+endstream
+endobj
+437 0 obj
+<<
+/Length 191
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A76';U@:#0X=Y32,d%#j=94G1'\.).%$GR)!Mn>ja]a>/shbLQ[ZGrOZAcB
+#>g:Nh^Q?D_2q=IdoW6=W&0d_dm`6qj8].aikoH>)2ah*p`C(I!TG1dr.'@7ScO`K
+605&$jU'oG+O'W,*fM';f`+2*VuH^K$D?DrJHi@YkAp7V$KM6s!6#PV)u~>
+endstream
+endobj
+438 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&<mW^'0X4S20i1Cqj=94G0`qb$.$ti$)!`%@ja]a>/shbLQ[ZGrM&DYo
+#>g:Nh^Q?D!D%M4.[1X4VK-sn./[TSs.AgG"7uNs<:U:cs$)JBs"OKQa7paNArr,S
+0M%ius22o"N$)[r)?0YSr;VnQrr7QLO+I:U@,DG>Ik\qGao;eBN;pFn4h1X)!!<5:8ZQY~>
+endstream
+endobj
+439 0 obj
+<<
+/Length 240
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTr0b/e#&;B'h'I;.HKUiK!+D[\d$#1Z<M,kZ_/M/e_6YGYKke%,>$XgFIfl8]s
+2)\h3?Lb'&L,d%9KPHJ9'_`305fGj?W;%6"r%Yf.U_s;><&"MK^*#tu1Q3Ht<d6W3
+&!5%5#[%Q2X*1ERe@7p7=-!dUPAsc_Q(<L8>EDE;bIkrD'?sR7VTrAZXo=O7ri<Nu
+*`i$T)Y\,l36krH/WtV,gfi+?D&*m)Cu@)LVF88q~>
+endstream
+endobj
+440 0 obj
+<<
+/Length 316
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTtYt>-R&:i_mL^PZe8'(H*\ee-DJe0mVgd3tN+$_C]'a;5)@:?^M[!9R(`i:\R
+1.B8DaVGpUo.fi<@gpT>#S&\Y3Qt:W:<P#!1`^4J9]])LUN-/R(ThLk^hDD+;Nf:6
+Gm:X_=7GeYH8"#o@-j-JaK#8dNkIbkK>>lDmp];8.*u2r_F,mOabD"cD@ei))M^OY
+fe,?ePMa@9OXg5W-AUSo#E`irK26[V8:&ggU<BRN=K=WIJUBh*c]5tM4$JgieCbl*
+Mp2!F16J;e+cBm=/]UsuA$!.fa&Li%;H`jUPS^I7QG3M%[Q*H#~>
+endstream
+endobj
+441 0 obj
+<<
+/Length 283
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$c5t]*M&-h&A>m+bJDd_`0g'7FB=+R9$>mS#f#>ga>'O@W0i3b%@V!eM-Qc6l"
+RCIO(Ht4)VcO=I7Mq:%\b/q1VG^ed`V0-^Q5PB-I/,)iP*kC%HYi>(S>MQ?!0>qoj
+hT5$+gEVcG6I[R9m^o6U#b[P*0Hmo?bQ4(uNkc8?JCORcbuW*W>MZhcos\h_8r#6t
+3!FA``U[@7/`!rd3qK+k:g:eFAHoI$0\J,,,#X9MQJjLQ!dI5dLg%:7Dinh2apq:=
+amI8Q,N&%K!542hAc~>
+endstream
+endobj
+442 0 obj
+<<
+/Length 300
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTt]l(\@&-m/E)'[nR,PYT<KTI=m'FC^+"sc8&!SWPB<:(Zm(jRF'%(o%@6eAPf
+Y]AN%c%d/6PNA"sJ!WiKKO]CdAsc7GT&F;b4%Nh0*T:Odj'a3%p1"L%%)R3^@L-%?
+K5eP-?j'oH`h2_W0?BHXPcg8=CHSn[XA?5W;BQbo;!j+XlGc!;BkqV>F)LTh1,[R]
+/%3n#<\q7."pJdp95Epe3^&Mb8DUgPT0;A`QIL3KH$.u6L%EaaaQJU0p>AoUB;=hh
+Y9t:;_72_4ET*@OJS<i'n=%0449bd_L*0+~>
+endstream
+endobj
+443 0 obj
+<<
+/Length 247
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;SnC3srhi'SYKX$fO!HJp.<ca(Sm-p]+4u>.FX@Zr"-$/5<?f)\G#jEf,t=RD`Pu
+R)dOD8YV&R>^!,jVPdCr@]bA`DR4>_UP'U?ZH+=UW3m7VGU;lh\("C:I&m"rj"1!u
+94NqH(kO^aP\>C<T^Ljpi<OV$MF\WD%DI5M3@@7R,6eG(+'&X^:pi]E'j0"hUMt@C
+<P,-)7p('">6aSjntE'E33Wgt$@\0J^\gUQ\a8E:!2W)KF8~>
+endstream
+endobj
+444 0 obj
+<<
+/Length 113
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<A4D>,@^lj'*TUZKbQnW67sAo/>usLB;f3KUh?ZgSBL$Tae^'h<5k^&TjYg8
+mhF]]@*#25l)RWY<1:tkl(Yrn!rNUmbLMe,O:*`B-H$H8~>
+endstream
+endobj
+445 0 obj
+<<
+/Length 112
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XW/<%n;=,@^mM+DIj;@`VQjASD,V<%uZT<%p)UZW'K@j`9qQdLQS_imRQt0]LN)
+$?0$"jO3ep<@B:G:$(qf;.)WhHXo%$X!^sk(LR7%D\.F~>
+endstream
+endobj
+446 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+14 0 obj
+<<
+/Name /T8
+/Type /Font
+/Subtype /Type3
+/Resources 446 0 R
+/FontBBox [0 -19 52 64]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 100
+/LastChar 121
+/Encoding 447 0 R
+/CharProcs 448 0 R
+/Widths [51 40 28 0 0 0 0 0 26 0 0 45 0 0 0 0
+35 0 0 0 0 48 ]
+>>
+endobj
+447 0 obj
+<<
+/Type /Encoding
+/Differences [100/d /e /f 108/l 111/o 116/t 121/y ]
+>>
+endobj
+448 0 obj
+<<
+/d 449 0 R
+/e 450 0 R
+/f 451 0 R
+/l 452 0 R
+/o 453 0 R
+/t 454 0 R
+/y 455 0 R
+>>
+endobj
+449 0 obj
+<<
+/Length 295
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V00YtDr"&-h&%.0@u"DfG:LGB#?/)nA&H'S9@LJ6E:0>4;<"q^?`C/Q42<ru3r=
+8[eDO)4:5D>0#7Mn^_^G\@^^$8"\;<.&,L9[r^baQZq-o<'PHQ;LOTAebdAh40"&@
+rr2b>UZ':GQRabZs%61eV0:\%FL1DFZsPWB#YbVH2+B6uT5M?$4rZ/i8EH[9hp4"O
+;sL%QK5M11-g1aZ3_:n+P@1nB/hfl9J'3!+dd"\gFugT8!2n<^O_(nU0@@qL&Y(Z3
+q9&>-V%4E$"Hu8^\f9jirWW@N:a3.~>
+endstream
+endobj
+450 0 obj
+<<
+/Length 249
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;O4UT%k&-_!G'Z)[e6KS?<`;HtM;8Eru<ZXLX/JP<GWOu9IMo6R1g`kf>M:#L/
+^4eN4c:f3s^^3e(Ne_ZaksA7iI2pQnR>"NP%VNq)o(O-#jKGCJI^WO$8:J;3g\$#i
+I*"Y8!M,YZegl<ke.TlW&rhVjBf?XX*p]PC)t-E_TS;Z$@:2Ti;BM,(T^X&B8>h/B
+=+[F45>rLXOD_7NY,=sGL\0n;^p.'TmU'1$K2t#"kWJpHoqDQ~>
+endstream
+endobj
+451 0 obj
+<<
+/Length 238
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`@YmS?%&-h&`LVbWkK\d)M)\(e-W![,JFRfI^d6Z11#(3[<8pu>P*D4YR;61$@
+mXtPSjgagh;k03e!iH)1*6o\:af18`&]\<pfUj:QOR,e_860=+8\UUf$$)$WbO#RU
+JOEI-#1A&[GT*#AgH&rd.UrWZfr=F@e_4>lF[2!_qUdh2T8bZ!=>L`lqS'7Rjc"VR
+cHN20(-\"II'W2[rb]6K@Q(H^Y`uAGf)T<96)4~>
+endstream
+endobj
+452 0 obj
+<<
+/Length 189
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<k4UT%k&-^u,MhPk-Jo^tKT7g;R;8FgeXZV-2Zr"+f8)'g"#aQ5Lj&<"0mgVBc
+1U1E8"VMVV'mpL5V-'JhD_:+&B--5XTfS;tE\,=L0p/O2.h:XgNpjGI6YXdh=ZRf'
+B.tNZ,@uD1dXtQV0Mu.1<B=53)4jG.U?HfI,H\4YN297C"+:@RFc_UG~>
+endstream
+endobj
+453 0 obj
+<<
+/Length 260
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V_T4V!'/&;;8A,h$]8joUDWYVkquOhsL:&"o4()QhD30t[f_TVN\mhk5g*mO$i:
+baZ_e9i<!GWe4E;M'fJK@Q=hR&T9GUF;Rq$p*Z8>'(+<rd>F)TZcuaCA8AkbDF_ea
+$<.%N*1(>j11t$!:Os-Q#e\M^p&H2:Dh4`\2?FE=Ts5g1*&<gC(AX#8A)8FMg\Ho4
+gS5"_,NHf,oTs^I0gl&K61_HLIY(WK4mcJ9*M,8[iG_"2/''K0Xh4l=/t^3X~>
+endstream
+endobj
+454 0 obj
+<<
+/Length 228
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um&4V!'/&-ZI#Kul1,5ir-Zr!:_fJss3'M,kZ_/M/e_'2RPSXLuOk07_joKQ4eE
+K]7?tHd.IXoJ+<^JC+M["SVqe+AB<;0qMi8%X@$d*?e?([MU>6Q99`>eh[_"W"iXa
+f)qs3;OPuU;kou%dal=IYoZc]%+C4]*NSIHDj@^rQ`7N$7EoU(UqI:Qg%Jlnd^^Zr
+NC)Ki94mBbjlFZf==Dh;G6%Yr]Xe~>
+endstream
+endobj
+455 0 obj
+<<
+/Length 316
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U<l5AJ(i'F&Lo%tV4"3Iu:'eogsW!hk>oKmG/S;\"n"m*O1^;7;FtP+b7Gd?4ks
+Rg7tTl$Y9G#kSdVdO2`U`&tVNT1mLS@"qUd8a)AnddN3%nKIEk2m5GZSl*.@k9te!
+22^R8$^4DW]peDnh3P@C@AS(B,#?md\I,iIb]V!$-u]\blus?W;PEfo$^R1_Y-,!J
+nYhb[kKn5N8&=>Z_F?cuqc%eQIV2]K>[cS$oS#'5U"?,uDU;\S'\G%dJ\)CEi")?o
+$#?6m*<"s^<K^?,aU/O]8.LcP,O>+L'_kadT?qXKn+8gEP'pNu~>
+endstream
+endobj
+456 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+15 0 obj
+<<
+/Name /T9
+/Type /Font
+/Subtype /Type3
+/Resources 456 0 R
+/FontBBox [2 -23 105 68]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 47
+/LastChar 117
+/Encoding 457 0 R
+/CharProcs 458 0 R
+/Widths [52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 79 74 0 0 0 66 82 0 40 0 0 0 99 0
+79 0 0 0 0 0 0 0 108 0 0 0 0 0 0 0
+0 0 51 58 46 58 48 32 52 58 29 0 0 29 88 58
+52 58 0 43 41 41 58 ]
+>>
+endobj
+457 0 obj
+<<
+/Type /Encoding
+/Differences [47/#232F 65/A /B 70/F /G 73/I 77/M 79/O 87/W 97/a /b /c /d /e /f /g /h /i 108/l /m /n
+/o /p 114/r /s /t /u ]
+>>
+endobj
+458 0 obj
+<<
+/#232F 459 0 R
+/A 460 0 R
+/B 461 0 R
+/F 462 0 R
+/G 463 0 R
+/I 464 0 R
+/M 465 0 R
+/O 466 0 R
+/W 467 0 R
+/a 468 0 R
+/b 469 0 R
+/c 470 0 R
+/d 471 0 R
+/e 472 0 R
+/f 473 0 R
+/g 474 0 R
+/h 475 0 R
+/i 476 0 R
+/l 477 0 R
+/m 478 0 R
+/n 479 0 R
+/o 480 0 R
+/p 481 0 R
+/r 482 0 R
+/s 483 0 R
+/t 484 0 R
+/u 485 0 R
+>>
+endobj
+459 0 obj
+<<
+/Length 220
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z;D:p$;p[BW<\Q7.0XFSH1#shF1:@=C)CS]+.[]H<Jg>nXE\<]B-^T:lK!?Vg
+^'@Jp9A_26=TM'=qC7^DQ)8SI\g[I]K#]"n+Ga]a'9"&c)2S<D$$I0U#>FX)L`^"k
+*_:YY'D=->!LTej&dQ4jIi-R`Ba&s4&6>IWK<PF%*eY8Qm@g7UL^Z&e]n/2ardtXY
+h[Uj?>WoV!\Gu^3Jd7?T~>
+endstream
+endobj
+460 0 obj
+<<
+/Length 335
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;P5t]'L'S,-N>nl.m7qaNJD6[2T<>ZJ;6I:u&:mWdKB:TNRZ-H'aKIjG8M(e=?
+L(Z&)ddi*Tp?-R&=j%TLY*HITo"BT-k\:tggpYgo]W1Mlp'J>3W`Rm(:d*egW-6L2
+Z@Qb8P!@k$%iF_G^m0V!S`)LVS61I[.Y/31)RLn+9VPY,.!!>tN(hHPq3\t\,IdMY
+@^on,6s",X78T`G0/*g`c\Y+oL.5"6%Mq+EKV67^n;II$&s"1]^c[Xs*OU3EC\&oY
+KNQ*WEE"ER`[Roi3fhag"XmOfiX,HL)+t(@SsH&5"!OR?C)&H:s-ilkn1_Wcr!i_V<LLu~>
+endstream
+endobj
+461 0 obj
+<<
+/Length 281
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WkaYmu@>&-h&*#*N3e#i#f$5m`JqW/2NgFRfI^d6XN`4;s:?,;:kaC(")V&/Rp\
+(J<0R0:,'Di)6a<_0COo&8i&K]tf"Jk98+PrAn4-P9>l&7j,8:(PlnB_@VCUiT'pM
+J6X<TO/Gr)b=PI?Un^oRlG\'"IF)*&['O1iBD[f%<4]qro#^cF]nYh(Pc(7'AY6Fh
+NKkj*:ZeJ/GD?(KqeR?hSA0#ul9[kk['(SK?d_*V8ENf&O)fQr2lF4]rL?t^Nok!;
+W>'.o*8is[Ia/mT~>
+endstream
+endobj
+462 0 obj
+<<
+/Length 210
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)X;_V$%#%BAU&5"\<.c`@m!:mrM`d3@H\ctDD3L@q2P=n,F_:4'0hZG:GV=,,V
+X8o%YI2,A38lN8_>ne-kJFPjQRc4;H"-!9[2aHU<;#1]erXYbCd-(R.qE[8fq?%*'
+_]GBJ@?6KK@/p6k1Aq2F++VcJ?lJ6TU1fp?K`23ik/6C),gp'c,8q7VnjLi0Y+AmL
+>^uhTG`YXZ~>
+endstream
+endobj
+463 0 obj
+<<
+/Length 355
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y!B92<Ai%#/U&$->O!%DWd1,R$op<@T,R"VP*\!+<nM"RDjBS(o:ET^97gC2=E3
++Oi!"id;WY-N<1Uaor#60"D</:ALTZB;u<I4.L:M.Fk?Yre]bpj`arEP[CJLo(hYV
+Q^$)\r;-!X8G+9ea;S[]Tl0tQjP:UPUf3'VZ_`!K%T-a=d)8)SOF@((=D>&X7*rFZ
+dj)OE%8f@4(+*&r2;r3K9p,s3CQU2`R:ZkZdTaBs/5lcYr!crs\H=TY(]4frn?Va,
+E$qI+X8N(oK)Q:VZ&Bic/e1f#6Q11h,`%($Xio3>=BRJ>V)31="./o#^^ksHmC;EY
++#Uo2bM(^u<D<kt)upNcNM6~>
+endstream
+endobj
+464 0 obj
+<<
+/Length 125
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V:bY^"#%9:k1F%Sf6`ra.@h@Mt`&6+%<7!K&'$7[h:7b_ei<mTE>l#L,.5$%H
+!+uI&/q$N&Kp&1Y<%^r_"U6*Ja%#tk_"ds0#UaQq%[X4D=!/;e!3U1jZN~>
+endstream
+endobj
+465 0 obj
+<<
+/Length 320
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#JZ"h-@(^KOD"j8il[9L?]BTkuKhA!1G1dds35(G[T-jjj(o<eY68:6&K)+)dO
+V[fQt@ICZ*rJo(l%qdJL*+RZh-Y$IPZlpBo9H<*ELgNKe@SP=9JiVSIJhLA+0`?:[
+Lk>8gGME(RdLS7UZn_tu')3m#>pnXuT5f/Nog<*aj>camc*QGXLofJT]'(B>KB'7m
+/1\cm]KC?h`QkV*.<BOc8f:DZau"R&;5R)&UJ,f0N&"u!@;Hb).!*su1+1<pj)mC%
+q5X$PU:S,^m;e%hF4J`FpMZA,#8cP%%fa*Xl>F;)kqf.Rr=/gWJ-\j~>
+endstream
+endobj
+466 0 obj
+<<
+/Length 341
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y!B0i#YP$q21R0p8"h6@8e>!Al=,8..ta5_=jq!$qe^[n_sLUZ;\bVH@F)[\F:&
+&LC@8DetKpnXn'c>Y(*c;DsjSYN2hH:Q?#^\?@3MQ\`JjIdjf.i^I>;iW12T[SOA1
+E`#'DmVDjJopqnC3_Hi@6u.FH-o5OnW53\R0Mi5rW(Ia(#Ft$Zac119)`3Li/TO89
+W$g)RfYF&IfA`*o-Ve%qZrldYr;c-e[WA)FBXJQhC&S+$T__HOgR)/MJ;&@Gh.^:9
+#G9X`L;Bc+0O>^nHA9hTa=Zb8Xm+BGlLpiV29eg"W#SKK/<r:G<55$Cl&eY6npSd/
+r&k&>Xb$-~>
+endstream
+endobj
+467 0 obj
+<<
+/Length 460
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wkb4\EXX'F4,1;FID(Q52gL!h,1hAII2,WaH0".hA;=Jr50!6F,ssZ8]l;;Pj_F
+^97[e<&R<s1]KDXRnOHu>jP@4R^aV,GK\K!-2,S1nH+JU[p6H8/AYJ:4MKHBDPIFF
+/o5W^F#Mb-?+RsDq5sO=s*V9NPr$F)*BjNYB(d<snGkWJ#1rs@Ln:jni%&F7B&I>[
+_B7\BC'.WVr'>lgb]\eS6n%8Y)3>/.6ouS+i3j"^#i-KJA@2:9L%Ng=0j>IB9=lBu
+TNP](i'Xh><$8k.%Z5Rj=b-f8(%+>5@I+jfW+Zq2S.=LCKt_"dK`Znsdd%dY,#ENo
+b(.@L_N*"l6GXRK>"3;Y!G:R%#T&.I`CYm==%9)9"NQ0tEKjn_0mX!/%)FWJ%_AE"
+1]b`K8qo9YnQN`S$hG;p--BU&Pc,9*,Fef]C.6=e-GX7cpB0c)DXZue!;!B8M#~>
+endstream
+endobj
+468 0 obj
+<<
+/Length 284
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH7Yt>-R&-h&WS.HNjHNSIu5kj:+EM[V(\:pU+4b-^>-sH'T5$/jPO0I^]bDq'm
+@Nh,uKB/ZK0\`6>D=fsSG,+H$4pQ@sG/m*Z)f72/1\1/fqbHF/[QCJW(eMDj\CMdF
+GHW+WT.eXKW(jcWZNtKX!&0mVDj-Y.N8@Ca\?`WQj=L.D>5`Sc5I-GI5.acsSte"J
+d'5Q@(HA9JWr*\3DkC/.`6r:#B5t<Tf2QK_WTUA!gD>203Ishj:,rS>"1LVC_-E3n
+M+a>nG4I'=!rrWOSLa~>
+endstream
+endobj
+469 0 obj
+<<
+/Length 263
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y",YmS?%&-h'V%#%p^#e_&$2UiGM6<17BTT]nZNXgrL[ZBRGoFW')"OB`ABL-SL
+1ZTbe3W;[qLa%_UYK72%M.r`)O%.<)7*1PMJX/*[eiV)r$s-srL,1j,0O'K-(AXJ\
+LXR%1#r/Y'n=@/0rXfDU2(1ru:^A@4._lpL61Mo-I'/\Fn?jX>>WW9/ff#1S%]SL^
+RG]I*f<e>b+^P0kE@&84>Oe0%9'K-&P[s*f:&C4Q$6(f4_QH'Y:30\"I/m%9/M-~>
+endstream
+endobj
+470 0 obj
+<<
+/Length 250
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WRl0abco%#.\A4NR)Rcs/ijqMNYa5uk.ATT]UW7gDKG<kMPJaZDi0%](mUl/3tC
+Db.a;0A2j.1,MQOS,#+BGX7Nd1SN$SRAM_Q*6qZN)"5T-(p@M(ENreGMK-2#g\$$4
+E_4K_B'oYd*J!5i+C`\m%oB[6#Bm*T\-Z@M(QN1YLg%oXA@,Oe>EC]@+8#m(#85@d
+-5=NmIY\"h47N_@W!6,*]k1(no$5h@=7SlN%Du2&4+%P=eHq.5~>
+endstream
+endobj
+471 0 obj
+<<
+/Length 264
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"*^C%h3&-hWf%#%p^#e_&$)J[5cnIO8<d)f9a7gDIqqe18>4@7's`V?8j-jVG7
++Sf;`"MW%adZmM[>4S9W1YHJ+Ej"rbQ$uN7N^aQ"p;#^?e$\8*dlCU%NgCEqV-(h7
+FP1^i'p%INk+o2*o>(?\1(H9Y"YA%*PXGR$[YT%#@1?s<'m\Ct47\YOYc<O!^&mmq
+q':ECIR<jm:EcfcNE[QRR"6rN_S/(*j@6BT@H\:gD1EiGn<B<Yo;pjbhZj.`aY,[~>
+endstream
+endobj
+472 0 obj
+<<
+/Length 262
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH70abc_&-^De(4g1?KZjTVY1^ZeL^L!j[.433Bq]4RnRaf(*[,*PORGT4=QgM2
+G!6=alr:ufb0YsP@OH1MHtI/93#7uU3\m-Qq\*U&-TeSfPEeV-A=L-n-XY'iE]\<U
+&:br)2$L!-E^2oIdrAX2BZ^&U%A=,+#H.m+#&")5QQb&_V+SEie-g:Ml.bY)Z>4u?
+(>jk;ji>MXP@!]-]ts"`RV?Di]9\:XN@<<U.&gG7T@YqgmsVjmH-;6L!))LO\c~>
+endstream
+endobj
+473 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR90b/e#&-^FS17;a8^g',@>TtI#C>p!U>'U+U[*WL2*fZq6"A5]mNl7+#cJlV"
+B8ZM&.@E.iOiaVb9?qa)V=q1*75"1*3T%@?Ces%_[Q?XWXUf3hg%rBE+0R3lN;u<I
++Ad\]<+-nAd3l%^B9Y:`1PAAoOlf:^Zps:XV6:Tk-g:/7MPs2IO$MtE]_-[5pAc3!e0+~>
+endstream
+endobj
+474 0 obj
+<<
+/Length 337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W:d9hN>h&;;Vkf[($'#,X#G8S0a'7Ym!1Ag-B\"/nj/MXH/YBRQ+/6C(c-.::W8
+E$JIA?UOe)Wjc,Nc"fLKe\%llD>:XJDkYu2>P!-Xla''=i6uJooq?]mFrRGce3^RT
+^LDTh*Ik_O^4cKSAYEOmP/o"(,<9dk650fUd8;V[))$lh90+LWGjKI8*5,2^kl8Uh
+s3J$IC6kUjS`m3W,SHN%*-b%]AAW2VBH3Cp?gNa!W]$o:7]/:<)$a0=c?tnC.C1eh
+J;#0W^d02%ZaY?(;DS8Dm@7uBa.t7p8&d;Gfi'iY0TgW06pTBq==C,a=1IM46hh]&
+oT%S%~>
+endstream
+endobj
+475 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+0:bY^"!Feu+"Z'YB'LT#i/lP+[hZ1SPd5+bK2#n92\Qhn$>l*CdVM8@P*^D/,
+IA['X"X(k7=.uFg1mQ857H$JKIh6!19`9K<J*9Ed?jBU=N$.Br"%,55qSBsT&#;D1
+1WTZt#QG`.eD^E:r'78&6Lk(?^^d1$;(-d-<;dr9(`4)S0JLT.UUXPl\H9;A!s#5d-u]~>
+endstream
+endobj
+476 0 obj
+<<
+/Length 161
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-<%q-&!Fd9P"Z$gG'LT#i/gE_+hZ1SPd5+bK2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H#?cs$+a-Ik^m%_!q@)6Tl=h$3I&S$@p:g!J^U_W9=K(
+s$*kV$k2LDLs+>4/!(,m!*')ST)~>
+endstream
+endobj
+477 0 obj
+<<
+/Length 130
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-<%q-&!Fd90"Z'YB'LT#i/gDS`hZ1SPd5+bK2#n92\Qhn$>l*Cd7RgYZ*^D/,
+IA['X"[anj:LAg=U=*!n:D\`b%0%2Ad1;!3Ig.E4?slGn>csZ'JR!^+!7[us/-~>
+endstream
+endobj
+478 0 obj
+<<
+/Length 239
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZESYmS?%&-h&CMS^rjK\d)M)lSiM:_h1ski;iEUP#:^h0c@"-@#a7%&N-@:+h.)
+OA!<[4#3<\<)P#RAlNJ*BKW';P04Q?WMW69fD^H2_dZ,*A$M14(A297o!gP_0=N1;
+"Yjs51P:sEF<[Ld/V":l,t<F?91Sd"6/<bB_SBK;4(3diqiU1)M\[B#LUO,?O9Y;P
+k!JKM3FlLME#AKd!A`?9P$L#]&=3m9p`9E!VtQY~>
+endstream
+endobj
+479 0 obj
+<<
+/Length 196
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR40abc_'ElcS(&1L`Yl=d9]<DZdJZ.KBJlWpX/M.[=PKmqM?6i$3R3M/!_+G8S
+Mj_U>EQ4#k-:SK:&"_&\]l#dS0_IPJ>5Jt5M<p7t-bIfbCpf\;P1G#ogl@U7/<Db+
+!<h)s!7XUOPY,RrPZA\I4eC(91>r//O@QI@&'Ah?IgV9[JGB@#'5ctk!1]LS)Z~>
+endstream
+endobj
+480 0 obj
+<<
+/Length 248
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wjt0b2&S$q4HELubC&W%S-bg/MO^<'VW0&kj8F(`>Rm2b312HA%;!.Y?-bKNO>;
+-i)M:r\&?8W1]P&]c`lp8`:D,a^R`NTOP'K`].;/2CK*399^A:Tr`H2;CKeUm^L4S
+c&/$tM0!QfLtMf./-)mWBe.sPRQbn)jD0R^FhMG:$!sP3>;7`$':\i&2Yj47BZ5K!
+Fn>S#`8Dnc$QReTE&E'^D;*"%>Tr,-^j2jE\2Lk;f)R%@Q`U~>
+endstream
+endobj
+481 0 obj
+<<
+/Length 263
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XFp3sl$T$jPWsV@_1#KZs[B*HXQI"WuY<Jl]=3>$<<]<j"sa-lug?/I#_)#:^'=
+2Y1JmQq?:@>iu;mD2V\`S!N6'<og>olg3?\W7b"sF1.l>9(@S*V0JXjME@RclQmSB
+B"_JHg1,[V&ci?,^^8)H"-=q`US8ScPf7E_1eK$kP*/?WaJ?VBlijM@EdeSuJZh<5
+[jLO6j`n57c(!H9@3Qp7Gp)150XSk7&7lXnicP?[>[NUX"-e7#rKP<D)#t6Oqc*~>
+endstream
+endobj
+482 0 obj
+<<
+/Length 189
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<\R>M@1sb=<(Jb).c`?C#P,]9@m*0_>lu43SBL$Tae^)^?u4,bmfA[4dWZ%;
+<WH$h^'Z/TV5[^k/dhUqs"XLc@/Ri;cbT=,6(WYt!<YOgj+.G#UA4fd%n?6pm!flJ
+JHUTfS?RLY%jX?[s'_l+@1OX_s$nF8e!sfR@),NV\U&9"EWH@E]$60!~>
+endstream
+endobj
+483 0 obj
+<<
+/Length 273
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;TIS0l@%I&-^Fc[Qp9nO2,!C=c=r/ZpKS5/W`Mg!t\'3:f;X=j]]r(Q5`Xu+?hTn
+,*MV0q.oshHC7?d#;>%-i`nZ1ml<daS4O,%*kc1.B#fgqRh#gfRl?>:=fbuKF47;Q
+lgVULFt"ii&Qb]>S;A4\7UMc-9"m?.JAVoi$om0`KEe`E!78ZW.F8Y9,SZsk4_^^g
+eQ@;EMj8*M[]=Ei44:<-->b5%T;mCrSZL9dlV)j^,Md]d<`^.r-Cm%hp%.+nQJ_Kr
+!//^PcN~>
+endstream
+endobj
+484 0 obj
+<<
+/Length 197
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)V<%q-&;U@:#0K)c^[89CKj=94G2?F4(.%"0f)!Mn>ja]a>/shbLQ[ZGrYn<>:
+#>g:Nh^Q?D_2q=IdoW6=W&0d_dm`6q&,ZADp]DF`J:nF5E<?n2f`1sV`'8eI!<WEK
+!uh.DQ)>7D5R@C&O?X#j%J#MY)q^SY+(/I]3fG0E5^B#4la^7`\H9;A!s&%ePGJ~>
+endstream
+endobj
+485 0 obj
+<<
+/Length 203
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR:0abco$jPWs*"#h26?<10OZm^tWe,.#FE/,'UP#<4ld:$C*hd)!nm[KW34n5r
+s.:TTa`GaQ.dS/<_H3Em3O-rj"m7\HcGns8Kr=:U:+4k"79OV4ZRpXPcc<(3^L9RX
+2GkU(pe>Cf<MI0(s#\aim"^B.5P,en@b!22`M>L5(!mdT7K`AT5Xa>%8m>(]H4L"k7]q(~>
+endstream
+endobj
+486 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+4 0 obj
+<<
+/Name /T10
+/Type /Font
+/Subtype /Type3
+/Resources 486 0 R
+/FontBBox [1 -25 71 75]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 12
+/LastChar 117
+/Encoding 487 0 R
+/CharProcs 488 0 R
+/Widths [54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 38 38 0 0
+0 33 0 0 49 0 49 0 49 0 49 0 0 49 0 0
+0 0 0 0 0 0 0 0 0 66 0 0 0 0 0 76
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 54 0 0 43 30 0 54 28 0 0
+28 0 0 49 0 0 38 38 38 54 ]
+>>
+endobj
+487 0 obj
+<<
+/Type /Encoding
+/Differences [12/#230C 40/#2328 /#2329 45/- 48/0 50/2 52/4 54/6 57/9 69/E 75/K
+98/b 101/e /f 104/h /i 108/l 111/o 114/r /s /t /u ]
+>>
+endobj
+488 0 obj
+<<
+/#230C 489 0 R
+/#2328 490 0 R
+/#2329 491 0 R
+/- 492 0 R
+/0 493 0 R
+/2 494 0 R
+/4 495 0 R
+/6 496 0 R
+/9 497 0 R
+/E 498 0 R
+/K 499 0 R
+/b 500 0 R
+/e 501 0 R
+/f 502 0 R
+/h 503 0 R
+/i 504 0 R
+/l 505 0 R
+/o 506 0 R
+/r 507 0 R
+/s 508 0 R
+/t 509 0 R
+/u 510 0 R
+>>
+endobj
+489 0 obj
+<<
+/Length 225
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-L0abc_&-^FG'S3e_joW,`OC5Xb<,`42.hA;=(5g\4UW&]*]Kkg7`:%LVdGE#s
+H15GN[b*-B_hiJIG\D=BduMj]EYjp*b^C_;[T$GY929QV;d#58k9H!YgDM+,`sp]V
+"*XpJ<^gKZ65]nc"1JgXi#8;SAUt2%$7L\`GpU1)SNZ`rSiZBdCSuQ.l0#5dh=Kbn
+oKQ1fPmSG+5,F+4"[*%iF#tu#~>
+endstream
+endobj
+490 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0abc_&4Hs7@2b2g\U_]$"RQ7f_%_K%*^D;/'Wm!iV"@9:7BU(g!^`=i_=-`&
+'C:F^>O9/lIt'035'q_G.\?s'LH]W=g65G*X9\Uo4?]!W]q[8*GK!1:44@,K_o8!+
+EhbW:&#V!J'*`L8"f/pKE:=01"t3rnTuhh?+T^:^#9UcJBda&+4177[\Jagio+.1V
+efQ_AIQ(>X<W=s3RUAk>._-s`M!/NOUissiX[QShO=I%;>t\o^b%VdAP.h"u?:b2l~>
+endstream
+endobj
+491 0 obj
+<<
+/Length 263
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.(0b/e#&4Hs7PA)uXErfQK6aS((9r'JjaoeT=Kgohb$VJ]T.(k:f$XcIjpb'1/
+p*MFkbYMjMs-"<^m.!Vm/>kW'pu'SgUf:QR>t8U=[o(]2T-st:lrZjmX%"?HD!()I
+#hOI;gl<($fEZ48!M2Od]R^,4,?0+ZXY`Za"*Yjk*^BqB1e#nlqCRug@5ZPhi>;+p
+rh)@DHeJ<PIsW-JZ/2L#T'7As%McGj<EPGg`@l<J\ZR7+'rdp@):Fg7!ru]Ro8s~>
+endstream
+endobj
+492 0 obj
+<<
+/Length 118
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<\R?(<%t[U0JZ]`1/URsj=94G1'7k%.$uG#l2da*odgi@F1If'\b*cSN6Jg(
+4VWF";h23++d]p@Y<kfXBe#IIMZNt_K0;-:jm'r&a9<C\p<+&'~>
+endstream
+endobj
+493 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y"+5mi3/'ZP.3L%$uA_0:GKNBq;*=@"Qk>'5@1fqPE^$=1kniXoG,&AOe]<((S5
+i4!tcoB*5(*3eSALpc@nia#)FdK+P>)RCK>1)%)$8lAP+ecDb(N(>7q.>O_I-(du"
+4f'q=/-**>"6J&:m^N9-$FDG.XS#D$NK6-'@l1on'"f\]l]m';-j8]B\^JS'q]"@D
+f&-857P:1a+,dm_eGo)2/Id(@U6-_+M.8=6_+Zm'Z-,`1Ph,ID!"2Ki%0~>
+endstream
+endobj
+494 0 obj
+<<
+/Length 337
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;UTu0hTAL'ZTZG[KsMm8'"q#PE=U3XTGPT.0Qb8J88lXZIT>,J.s'?Wrsu^gabcD
+dRJ%N%.j;/8.Z3R%jpliGfesh-?cA(OkJ:-DGthDCp!SfgZ<-a:D2dg;)X-HG;`Yu
+I&0=GDf3j;.WKHFpUfSn.5!1,$p\TKTJ@[<d*LZk5Jp=7i(MsnT0SSjD0/Uk,LD4R
+'"e64n4JWp2^QRqEW<"_g9AI_0[Yr7*+U=`BQPerJEYF4o\mHSpYC(d(C%<2gQl]o
+m"MYD$dZ\p(g-FG2a5;EdI6?s'?rSA=m%V'%%871+/!M21#YYj.\b*SJ&l1E\+2<T
+BEIg3~>
+endstream
+endobj
+495 0 obj
+<<
+/Length 264
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.h4c7*Q&A[hcF,A*E1l4[<X"8^M.0Qb8J88km\97KL*[+V<c8&H4/CH"^&dX>>
+Ipiepqd=k,bj]3]J#'7@S+$YDr6R)mp>Yh8gbif\lY4CVf^*,gMR-?u-dK@RM)/I5
+e.X37kje/UQ#NaG?'eFeB9'He(]8.GK@\3Qb>4o]`r\'0@YtJ`0ZLn14cPCHZZ7TN
+_^hUOi!Eo#NE(LkZ$a^V"l:uO'[N.SN&Fl%"`</bn:*%ES<KRPat/dB49bdp+A=K~>
+endstream
+endobj
+496 0 obj
+<<
+/Length 328
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH85>&jZ'F+%CV?jhHNf\Gc9d2sO.^1Ci6I<jWka!",DOl"RO'q30@^XenG_+MD
+)!:Ea>]E]`^i*W;r;#3Z1F^8ad>9h1<@&/%5Hu^aNp9U!EN(hWrfL7kkBGnmcEFUn
+q<I*I9$WoAffX3)gft+=)#ufK6oDXI)5[fX6]E+4i#OHV#)SXRFE^7jDh$0J4rlE^
+X!!upUi.&kJ&J;oAC4,R!I`o/oSK9<*QFOS2$:N\oQhHtV+R+0eGb!ZJ3!XmmU,Sh
+oa?pk:Ip68`jj'eF+_VGA&"G?YKKD!lG)trY65[k"['a7cnp.'n1B,#!4R(;&H~>
+endstream
+endobj
+497 0 obj
+<<
+/Length 329
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH8:J/S[&-hVQ>njU/&Mb0L[M"J#$;Ui;&9R"7oIX>s\kX=g^ajQj2'VJjEEAk+
+F!a]$5=j_A8XT>E\Ke91n_O:.a)0!YNO^jJAj,N)]DY4eK^2jKl:lE?Xu=gu>a]>L
+EQjEAqK%+qIpAKBKE2-.OTbe$^u08V`s,1f&T`fe-]?VGMog]ka'=Z(P@F%PF9%Uh
+5sNG4pqP0/FMKhGHt&t7OM)>S!D/r.jc(PCQ6b]&i<dh`ENt0f5*OO<TSoHtPl*1U
+nO4<YVD<R=PlE'k+o!(KZlrR1Gh%,K>#3XoU^nuda@gtf'2$'1p?'eN$inean\"~>
+endstream
+endobj
+498 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W#IbmK%f&-m0nK.p(U02QD^GS@/$%mcb4JEkd\W3\og-9[4X!dR]UVbK[Uc&[S3
++2]YQ/q;JA'5^V7"C2O^(*(0\6uRNXHYhZ^'\i<]5mYI7*=n*_(kE:#VJ(Mm0(F>#
+llhmm;D"GM9>r9ilCoJs9WKaJC:pk`p*lDQQk,Qak#?Fn]r$r!)ma:UU9r\!^ZUf@
+H[FW.[p)>ps+W(8l.8W"-(.<Dm#?'c3EMJe<]PBk:RHpALA(]#N2g=~>
+endstream
+endobj
+499 0 obj
+<<
+/Length 371
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Um*Yti1j&-h'n1/th207[TJ!$m],KS`5'"<!;/iW0B26P2itW6*,H="7\#CBX//
+Aa9ohYg7Lqkn*1P7@2nT>i[fN$hk@'btm^oL25!@2c'BoEK]#8e.&H+>ZR6IgUt>_
+g:b@6H$aEb9WB'/o)/??eV+0WP"%AM@K]%d9gn%L6sDTcC6)Qf8V/TaVe?f70U@<a
+(@4W^XlpJ$_?d[+K=a:VgZ)B*UZ`Do_?e"k*!WP3A&1pfcNW&on=_h1"`2I,i-chp
+,7"Z];\PJ.;I&b.3Q0EgL8t\sg<Fb%d1jJlpC:,T0TW*$K#9]1iu^7>:Hk5!_tZ1,
+'H@lb.Z@U=Ll!e,#SHU7klK!On?Tnmr#5Xiq97C~>
+endstream
+endobj
+500 0 obj
+<<
+/Length 269
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y:40abc_&-^GE$GmqH#%fK\8MDl$"epSt"Kae:>$<=X0:os0"h[Bd@$r4_31G_]
+Q54B.MZ)o0Ho;D[_ZBIY$p>SjE9"hWJk.d_N$RZbOpUFp,Up5R$mKY'&qQN'`or&E
+cLH-=D'>Gm.@+On=]C]PoEWXaUi)J6YD"3-W6Nh6pag1*QmBj4=j2.b%Ha-ic5*h]
+bHh)DH:bN(T2hLB^VBQ6Un5pM5A"dfB::m82!W)^QlOk&N2sZRQ[\T<^bg`kg]mh#HT_W~>
+endstream
+endobj
+501 0 obj
+<<
+/Length 268
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;VH79o?eQ&-_!J$_]I"+a!gFTjtl<K0N`Z"67N+W(Rp_kdod\jp6$nGQP&[DieN`
+6Cr,:"@98*^-rc9]hXM]eEA;]1Xfm7qcLSNUhid_8_&c0cH,E%o1Ym\RT-"=7hX'2
+(E,r2IH]qmI#r0DBR0Z+@"GU)!Z1LFG<n#M!HnhF&>cF`XXkr+r_YXS+n7-E)<U,g
+?=<`L>Big?`,ub72r8EI@1<&h&44^]Q6@3j\@#gc%pX,;BA<KcK<X/`X%YGB(]YWMYuU~>
+endstream
+endobj
+502 0 obj
+<<
+/Length 194
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Y")0a[tJ$jG"_>"IZcbQW*#2Me36.QE-TPm:,Y$UsBPU[:nm0AlkA^IbgS@'Re*
+r4jZm3,kiA;k=.V7_4Ze>H2I!M*)9jiCm5q^Ln/LCH[f`[L8,VdtVemqh`aaJbKF8
+/qCBT!hWn2;6KGV4/Gsr,GQIc"2#'7KQC>Pd:;e*B^P9Tgb6$,[%m'ij<bOF~>
+endstream
+endobj
+503 0 obj
+<<
+/Length 208
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z;(tg##%CL5"Z&f*'LT#i/e`:K+3ZUn1K;^Y!#!Da>Y^kqqV_c.k$7a(5Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PR@_s+,\$KDY`ss+&4@"$liq"Hbncm"+68+8eCppcipE
+fah'OO'2HHOCYZscNkf^5pShrrrsVA+$hYkON`?Dqu_$a6TkMRqZ-mjA<P-dP:M_&
+0ED$r4(&~>
+endstream
+endobj
+504 0 obj
+<<
+/Length 156
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"#%Aej"Z(4R'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H'm:ru^SMoRRm2+<j'",/HM+rsUURKDGNhArm9=cl^:-
+$k2J6`9$:+(!$Oq!0C<O&H~>
+endstream
+endobj
+505 0 obj
+<<
+/Length 136
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+-:bY^"#%Aej"Z&f*'LT#i/gE_+hZ1SPeh^:P2#n92\Qhn$>l*Cd7YY1E*^D/,
+IA['X"X(k7=.uFg1mQ857H#?[Ig-bd_>O<DoDa;-%K0`5cbR=+6!URa>_-.1!<@-KO[]~>
+endstream
+endobj
+506 0 obj
+<<
+/Length 258
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wju4UT%k&;:cq"K'9QS."QCB,.KL;8Eru<ZXLX/JP<#nRD#83C:k&_==X!5d:uW
+DeJ5"m^uggAY11g#->ilp&U^TLM6Oc-QJ*IBYa%,8P3a@3[D+d6n2?c3$=Khpi=(i
+.%R\8Sr$!JH!h@Ki'U-+/enLjl<'XL1]nC^:nh*D:<+"%DGl"1:E2$lK%Ve/_tZHF
+h.C81T6"3a-!]-:6[3dM#$kq*'1brCk1c5gYmo9M$bh+C(+F+a2#sTBgEZ~>
+endstream
+endobj
+507 0 obj
+<<
+/Length 178
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+1:bY^"#%:F6',-'66`ra.@j<,R!5pbG1K;^Y!#!Da>Y^kqqV_e$7U5d25Ue=6
+VZ:?56S<d_?\OZ;dSqhp(PP*?J+so6+##LT+$Rc]hV[gT?(U!cRm"YR[X*[X/0Ol*
+&VpttA,-*(+!V\9VEOn\[$Q>p&WXD,4h1X)!!<4/]mr3~>
+endstream
+endobj
+508 0 obj
+<<
+/Length 269
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;U$b0i#VO&-^Fc>c]bKlk+Cn!7#<gU9bP!_?CQO*$A'UJ=q'^$=>;37BR6&Zs0E3
+r:q*W.,ISnkDprqg!#VM78(&=(\SjA9iGR^Zhi+uH/sq1i`50D<_o$U<d,Nt21N+o
+IbK/GGlN0=p;X<HqbbN'+mf&a_>Rb`)o/S+^*a/%O7ne.W$(>TAO?mW'!RQ4=Tetl
+Ae5.jSfu]4RB<0!0G[o]I"afB'E8Td)jXRTo8XKCrhLLMWR"jP(21"/hR<9Z^B4HQnUJs~>
+endstream
+endobj
+509 0 obj
+<<
+/Length 201
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T+1:bY^";U@:#0K)f_1K6n"j=94G2GaB>1F!&J4[Yk^O@[[YEq8;>%p(GCi6q?"
+8oa)W"ZS"LEp7rI.[1X4VK-sn./a,@s$$_eLkZuqiIaDN#fVc&s8N2\+$faSJUsEo
+MF$5Y_Ol\%NW1+#Dts>PN">hNrr5:_q>Uulqu?\XQiI)H_>ZYqK$2]./!(,m!<3GPkP~>
+endstream
+endobj
+510 0 obj
+<<
+/Length 202
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR6YmnQ8%#*Yud^`ci0*%>;/kR!1JA`0n:b_rH;LkF#WE:[_YQ/boU3d_G'JKR4
+-eZ7?Gg8;3Z/[$<ms4*[8A<TMNWnSZVbPhcW"*>slq=Vl9k<S?PTAG]jR_WAV_I.u
+!WnR[2.(MUU-Z!5@(?#>c*-X^"r$Xo'qI2XnrsJ5mZQL*h;mB].\m['4OBO'!s&=Hbg6~>
+endstream
+endobj
+511 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+5 0 obj
+<<
+/Name /T11
+/Type /Font
+/Subtype /Type3
+/Resources 511 0 R
+/FontBBox [0 -29 81 101]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 101
+/LastChar 121
+/Encoding 512 0 R
+/CharProcs 513 0 R
+/Widths [62 43 0 0 0 0 0 39 0 0 0 0 0 0 0 55
+0 0 0 0 74 ]
+>>
+endobj
+512 0 obj
+<<
+/Type /Encoding
+/Differences [101/e /f 108/l 116/t
+121/y ]
+>>
+endobj
+513 0 obj
+<<
+/e 514 0 R
+/f 515 0 R
+/l 516 0 R
+/t 517 0 R
+/y 518 0 R
+>>
+endobj
+514 0 obj
+<<
+/Length 333
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;WRn4\isM%*):XW8o6pW%S.!KsoF!,!A2c!tn9IJB,_2K"3mF,q`)5O>0+%j#BIA
+M#fa6(\p_t5Q)JfE/u@Up?1);G\l:U\s@t1loX!p2On:On-"LIl?hl$W382bp#5TG
+)lSN2I!p9eK]*Q#a;:)bWJZ+'Wg$W4N7fa3V(B0>LnBm-L!/Y:;P)jXg)DXY9KXM`
+WI=rgX[+TX1!PV`#fRQcD_\FdlNBBL#%o\jZC`P1OfRQAJ&2+!DM@`9N%-8Ab6fbU
+G*Y;3%$?Kr;MOC&FJO+EPYm=JM\2ojpTj(5'V/OpdBWKG,#W[sq*);,i!qpU!+DHjci~>
+endstream
+endobj
+515 0 obj
+<<
+/Length 295
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YR<]kYG=&-1Vr*X&t5&Tf[ffV5NM6[k[L!q"JB82=djBkH\YoI,.kN?1bml"mmt
+6_gmkd`:SgS]W<0W:[3<-<2HT.K$tRq14.hEij"Tq!NCC9nW7'<=8>a0SfJdF\A=g
+5[U/81H%=8+bkqq#$Me8k2F9%K3%V;SsEC[F_t5ofc)n&Gkl#;BsSo!r_>EdoUEF2
+^/(gLjj<S4&?V//c*g1RZS'@Ke,Vc-LS5+r2O^Jq77EXl\kH$mAX`Y*r,[-*q5aEl
+hG*;*IdOmEhU04O_L7&TpcSU4rJQ7~>
+endstream
+endobj
+516 0 obj
+<<
+/Length 220
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;YjBYmS?5$jPXG6QqAK?sZ+ec??.M:_gW/d)cMh7gDIqn'Ut[I0<&qdWh*2$?m"g
++<ULf"Hq)&;\==F7Vb%&]OG4DJX0P7%8F4mGeqOs3`'.Wg4UKHC:>I@b&6HmH^rKd
+Lj]`#>KE1;!.O/6m"CM!NZ\]g:&r-T:=o)re+RaN[kLAB&r$]2+\PXEM,406h'PPQ
+ml:CC!Wom?\AunqYr-Kr~>
+endstream
+endobj
+517 0 obj
+<<
+/Length 301
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V`A4g)XU$io4[%[F\G"FL4ud;,R6+n6f)iCP`:"2Gl5!.qa(%`"?;iYn)l5hHpR
+qDh<++<V^h.<4DoG+)k^eJEBDV?piPXq[r\;7tZ(Cr!$AiZtl.K2E-K%jhYC)<W+`
+c,[n`r#<,7h(Rh&,cZX<;&/PJ\/IoQ=?9b.%ur5//QSPZF"G;:\2Vu)A?#kS7IVLd
+OdrnhII=3XT7M.KZ#2*T<fQ21@HBCP5H<BMl0u#rYsUQuOpBYW;IqG=4?RMfQ@&)u
+OqultS*;?91CZB<$afkkR1W,6=MXq:Hd\m2~>
+endstream
+endobj
+518 0 obj
+<<
+/Length 456
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;V03_+MU1&-h&E4V[UQ8'$9pXXU"<'W;B$+R$oPW#e*$'KcXMGj)t2?Rb!.Y7^",
+e6<D+j%Qa7PLL/rHt8Dn5F]pNM*&`;E&)S!OZT,DLWD)!P-.RMF;.Raa8(pi-$FZs
+pY#'of'IX)Hf=IYgpi^6f12<83[fqA1$$?M9(:&\4%$EE=:;'^"-,*$8HU^OW2P^m
+L]\fZLt+Zk@21]=4r*_lW;F#j$4BXWU]B@l_e#0=:RpZR\S7ES=3@ou"q:Md+)ruD
+fja5,jBsha_/@>.3ZN)mU(7IIJ:eG89Z+]&4q4Z0M]AhAGFo(@orUXo/sMLhJ-g(Q
+H5R!T/V_EXO'110ki7_EgWPRsV-GN.R&l\AYs%ZU"PI9B[D>V[T/'1g9bn+V%5pfg
+L>-gP%##>1`2-?U(nLC7^6g!enAJnRbRM&#+'.6l)G4moQ.S1q2ZROj>)<~>
+endstream
+endobj
+519 0 obj
+<<
+/ProcSet [/PDF /ImageB ]
+>>
+endobj
+6 0 obj
+<<
+/Name /T12
+/Type /Font
+/Subtype /Type3
+/Resources 519 0 R
+/FontBBox [1 -30 94 100]
+/FontMatrix [1 0 0 -1 0 0]
+/FirstChar 69
+/LastChar 119
+/Encoding 520 0 R
+/CharProcs 521 0 R
+/Widths [90 0 0 0 0 0 0 0 0 0 0 90 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 73
+58 0 66 73 35 0 0 0 0 73 0 0 0 51 52 51
+73 0 96 ]
+>>
+endobj
+520 0 obj
+<<
+/Type /Encoding
+/Differences [69/E 80/P 99/c /d
+/e 103/g /h /i 110/n 114/r /s /t
+/u 119/w ]
+>>
+endobj
+521 0 obj
+<<
+/E 522 0 R
+/P 523 0 R
+/c 524 0 R
+/d 525 0 R
+/e 526 0 R
+/g 527 0 R
+/h 528 0 R
+/i 529 0 R
+/n 530 0 R
+/r 531 0 R
+/s 532 0 R
+/t 533 0 R
+/u 534 0 R
+/w 535 0 R
+>>
+endobj
+522 0 obj
+<<
+/Length 305
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X.k4UT%['EI'AKCG0JU$i':G-Q3?p]G[NFRfFskb.-U2b1&NE:=bL02T+fU!M6:
+(PG[2"qnWqj<Z'sJVu/WWX]7N$ut=D*rH#];:Y@:*qijhXEQ@U^fd?QJ2:,&i/AF]
+oY?=GGW_M)&5?!NjkMI$*?lt*-!_fh77cZIP!rP/.q,9UN0Q=m2T`+%(lJ=?[F3T1
+A0T2j"\Z.A<lU"IPn.CL^#C8oNi[HR-SR^TpH*U<lG9[n]5F]sX"K.4g/Kn"ZLS32
+r52E5bS%=Z;OqBBQ$H75S$Ohc(JH&U_J9-`Wmr0~>
+endstream
+endobj
+523 0 obj
+<<
+/Length 295
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]^4UT%['EI'U%`2FrKY@h->(llK6<,^lTT]UW7gDIq4^*op,BW9K)O%%Td[&l:
+3#Ll>b:EDQHSkHC_b`JC']TH05+Ec):hI['SG5);7+e+S@6f#R#!c8L(!pJI7is-`
+j7RFS!a?eHa,G)BA/WL",=a(t*R^&U3>!Eu.`o@9QV3Q@7nZ=Jgt!s69$<$(<FWkS
+jOQ\=[2sa:^8@LN??[:"oD;U4CJ\-h>32WERAm>K[U&dYF=+=4<MZ5;]l]7DQKaSO
+J,Oss>>'*rX2"0<_32VMSc\tMNrrP~>
+endstream
+endobj
+524 0 obj
+<<
+/Length 330
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;X^90l"Tk&4JOf#Y_!<BJ/46!j-GiE+6&/5[<CN8P0d*G&;j>?VB=8a>Zr+`Nh]a
+]>@>%2A54*gAQM5s4B>u>k>=3>P"rYc\fHYQE9Q!ErAtZSpW^[ZtQF`B3S9=OtA.!
+DpMZcdD#2FBD4j^$Nn63+jXO;'qKVH(`_V?T>9Q=b7HG%QfUe61r'uKs.T`eMP-[b
+@1oC\;cb?$re_lr$h_*)b>f+EED2GqG7f1Uq*0fQmT31$)q;$/d&S9GI28O.KPq(>
+eAhgtRL@p-CKN3#2P^I/WU;clT9>[GLd'm6%S^cEe*b3nN>%6AULd)6qAfPh]PTe~>
+endstream
+endobj
+525 0 obj
+<<
+/Length 361
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;ZETYtfs;&-1)1OPD-dG^gk-!t(O0_q5sNWJM<9BB9AsV1hCnKD9!s^BFReP(N$[
+ZO=]BU37:b?lhuYAnOo*R,SI6$tcDNdM2//Iam&>hkp<fE-5tVbI?42]e+>HK@sEU
+Q]fh>G'AZ\MCX('HF_YH3KcV`6QiErCuK#'1SC5QrEDN)d(hcZJdR%VmKHlam7,IJ
+aW1`RQtRhN3ROn#.Z*!b+DKA-Q[ub>^/Vg?!1+"UD\mg@c%(+.r"XBChP9oVar^$g
+)#sS0LN\Qsg.1p(Fe@WJl,Pk0)CDZa]cal`mSj9>G;f&>Q'49@E5c\s\ZaZPJ_/h1
+.OUkrU4=0A!7(++qP)?gqI9NE'@jS~>
+endstream
+endobj
+526 0 obj
+<<
+/Length 335
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Wk!Yti1j&;D3JW,tZR+nl&"7#EKQ9*HRr+Mktu!+Q6FSaEP_AVh3PD\0>eQB/Y9
+6)A&-QMjs1J*uYfp&[;qn>o,Ai+g'**aZX*.!&s>3:AlJgZ&Lh,I@tp4(rOl"mu0S
+&pn<4>C:eR5/VW!7&_@JHd`7Z=n8.7N?2gASnMje3g-m`:#J:]6;FkOASF_]_-"cM
+NY9['HnBUUZW[sJ_@M#Fi9D#k&JXX9rYVLta!n[8kJ%9+mLR7nBP-:bOI\SA+?=Fn
+OtU3ufJG6nd3K26IB&G%1&$*gC[^D#[Jk^+W3ll.=,bkc8-PH@1ncH:L[,Q?iG/EBQW\b~>
+endstream
+endobj
+527 0 obj
+<<
+/Length 443
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;XF10i#Y@&4Ise&]p#n?s`ml;-&fmYdApK$7)Q0!,P4-Ji_SBL-'@>cuBI9+_?NZ
+_p$cFLbqr49(LOhpA"ZU\ore.geh(]HHjcaW?67g;RCBjCKDOCS>>W0KAJG2FmJ<j
+Y:_9%=.AM37uQNP4[6VrF`ZtIIXR,6.@e6&J++["6i[lqEsb_.A'/dJR(X+;Mk)-u
+O1cphdGSYi*HDKA6f*.IXJg1=bt0MDPT-%Ds7('kia(hPl94nR?UXV@o%J*kn^Hu.
+`&GZs&Dr&.KkRH(_AJkmm-Lp_$^q7j85tGM-\1FE+:@=2+:s),%nrI+@NLd/S8"aC
+%iLCTmfYV+*b[nk79f:U'COtfi-.CFfISc")ZS%[\Q!3KcZc@;]!ms];obZ9?(;?5
+9m"j>k9n)@NlcZFHtWA]ak.Cf/i@9ElAJ-hkcY!eR?fd6~>
+endstream
+endobj
+528 0 obj
+<<
+/Length 265
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\]a=fq$io4AK9519i;sKaH7_H`&.AJf2[DJ?!:&d@kcC8WeOT-A*,d5AgR^?\
+io$\fL+b,%OEB2%aC!IB.0Qb!mSGA,+@=q&8SSSK<a-Q@Qn1fX9W%e"PMpmW&sIE,
+L])4Fl'U+<%OZl6hui$dq"t9dgGm4W/6!#4!"'PQ;`"9ef/Oo4>N@NcSCKau-dI+-
+kq^unktlXJ&#bh.PjkN`LP]=^ILZ7rfAO-1_oX3Bo%*1I!$^`\IKQ+9\A7tAa8s7F~>
+endstream
+endobj
+529 0 obj
+<<
+/Length 177
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)[<A76'#%7T;92gNY6`ra.,BFtLbVds-<7!K&'$7[h:7b_ei<i':>l#L,.5$%H
+!+uI&/q$N&Kp&1Y<%^r_L&Zr.s8UF7s8P<<qYu$^m'1#]*(UN@/[`D:qu8m2Fu5lN
+ImEqH!K%BrESMZI$pXak$k*R8aI(0$P:M_&0E?,I.!k~>
+endstream
+endobj
+530 0 obj
+<<
+/Length 254
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]\YmS?5$jPXGK9519T`GBGD+ihe&.bdm*<_p\!-NB[FDa$EX,l6bFR3s'k,KHf
+jQLRAqmd)cb;c5HgsK'K&KO6OT[o8.(Sahu_a)B'N,aIKT!Ut:/Q_/VgBE;p-QBX&
+mjCep`7Ani0lmZ@6<=.p$@k'U##jQu:ToN468;Oq2dH(;;)V(XFD]]affJ2fT^tHL
+UYfJ+^pU`k\S?oO%eI`ei3luY.RAO?b.[mA=XiJ@E0]>k?NU:;(S0L~>
+endstream
+endobj
+531 0 obj
+<<
+/Length 227
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z-J0abc_&-^D]Mnh/rKUiKaZFGct+=asVW0IUD@O2jgYRibO`V(]?6HU"Y0q1K\
+_uj->#G5B%JYIt-c\R=(g+(<Cq]>R5H]#C36[HPd@(7A^0q:09L<41($:D.moBEPJ
+1Eio;*H21j"9u(?il4J;!Uc]O8gg3LZVGIgAae%4ZIY6Jkq-CgH`idmN;;kH<I?3E
+)ZPkDqZm665j+Ur27UZX!+D9AAH~>
+endstream
+endobj
+532 0 obj
+<<
+/Length 354
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Ul=0i#Y@&4Hh%6uldTi4/h5@?VF3U]i#A+@3C?!(mS0e76G9_G,C\QROHr1Z!_b
+BV+>]IqHDX>[iU14R]Mh_JP@[SU!$i+N5,*")]_Pd0*7KAiH,iO8WIT4-<4CHaq)@
+1t+U:]RRY_km!QlA`<tq,5)!EA`1p5W]?Wti]%%Z;-Xfkg!e0h1]7R]I0h-HY?2*t
+InXsi+rj-G58H:/Z*0G!RQ,iJH(_;D5a2BoNEIY]P1-F&"d-436^_.>GZL#5Pk)OD
+h<>NQ1*0Q`NhnEM;1mpS<\*IDCs-$6r6^e2:3X]TG=FXDOJF*`fCEJfgG$X9X^lVA
+ZA'BF(>[b@k0a):!/4Sc1]~>
+endstream
+endobj
+533 0 obj
+<<
+/Length 237
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;T)Z<%q-&<7!L%0JQG/YY[kFj=94G0a7t'-s0S$)!Z\5J4+E1Q]ie`I^jud0pfTZ
+:l7p'.DT*&OA"K[=.uFg1mQ857H+:Hj8VDq(pY.eac9-q_]\t%O[$YB#;GrRM/30U
+$m>*OR/F`""TK>n8>lh^S!9g+q1neG5C7MCO8]*.N;rq-K?,/-^qfpK!u0,T++WDQ
+qhLi;kALQ[1aLT4_=:A%T?GcK/!(,m!1YL@h>~>
+endstream
+endobj
+534 0 obj
+<<
+/Length 257
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;Z]]0abc_&-^EP'puucA1jN06rpAj;8Eru<ZXLX/JP>I%D5S"Y7^7*Yu:r(c:/M;
+f\"n/Dti^:o=#f6=$gU+@Kp:.=TuHLA+ZuUVC,e"cqKefL?!scKc%`,6mMEcfh_bD
+PH!nmLG^G(5oB\OJ/]qX!_?2:G?";,9n?ebGFutCK7EfXWYoA(l;DZA]nQbs?as2P
+DmY$NV)k;0=d1NgO#4$[r=ubV:m@k8132[R;3:[.B$_tJ-TpS4!9frYM?~>
+endstream
+endobj
+535 0 obj
+<<
+/Length 462
+/Filter [/ASCII85Decode /FlateDecode]
+>>
+stream
+8;W;RYti1j&-cN4)'X@J,M4XLBdg!Ga\i.r%S/9.UVb(PK%\g<p6?g_oJPFt"k"ti
+PiG!_O\jSZ_9qH@FSb#j2:E4ElAJPAf6VV:?VC2<X!q@MoPCPN90U7'q(Ch<=Zl"b
+.Z8Wna^Y6oUJ"`@*q\(IpR>FCC*A7Q67<Hjqi?)d'@eOo':+:pC9[.>noeu5ZPm`?
++o>cNk/89E_,stYm''[%3AG8Qo^63"a0rh]dAYkG94pW,+#X:@8#(5X:eMtt$9gq_
+lfa"=Ba5/f%NhEF'.qjk2D>G*LUY[NNOH'c't^n;HQ?tXd0@lFB/c\tX(]5??j11q
+[o4m5"<XTbS\o11h<$f-%6i,m3eNXA]?<*K$:`gu.4eZk5"0R5N(2S`3aodJ%gi7J
+b@mJZZs]fgjIJa21s`[l;[sTX-@>$4XeIiB)*>85jpCb/I^8n9nnoVCjR3)GIm;!~>
+endstream
+endobj
+19 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Times-Roman
+>>
+endobj
+1 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 3 0 R
+/Contents 2 0 R
+>>
+endobj
+10 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 12 0 R
+/Contents 11 0 R
+>>
+endobj
+16 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 18 0 R
+/Contents 17 0 R
+>>
+endobj
+23 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 25 0 R
+/Contents 24 0 R
+>>
+endobj
+26 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 28 0 R
+/Contents 27 0 R
+>>
+endobj
+29 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 31 0 R
+/Contents 30 0 R
+>>
+endobj
+32 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 34 0 R
+/Contents 33 0 R
+>>
+endobj
+35 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 37 0 R
+/Contents 36 0 R
+>>
+endobj
+38 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 40 0 R
+/Contents 39 0 R
+>>
+endobj
+41 0 obj
+<<
+/Type /Page
+/Parent 8 0 R
+/Resources 43 0 R
+/Contents 42 0 R
+>>
+endobj
+44 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 46 0 R
+/Contents 45 0 R
+>>
+endobj
+49 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 51 0 R
+/Contents 50 0 R
+>>
+endobj
+52 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 54 0 R
+/Contents 53 0 R
+>>
+endobj
+55 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 57 0 R
+/Contents 56 0 R
+>>
+endobj
+58 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 60 0 R
+/Contents 59 0 R
+>>
+endobj
+61 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 63 0 R
+/Contents 62 0 R
+>>
+endobj
+64 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 66 0 R
+/Contents 65 0 R
+>>
+endobj
+67 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 69 0 R
+/Contents 68 0 R
+>>
+endobj
+70 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 72 0 R
+/Contents 71 0 R
+>>
+endobj
+73 0 obj
+<<
+/Type /Page
+/Parent 48 0 R
+/Resources 75 0 R
+/Contents 74 0 R
+>>
+endobj
+76 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 78 0 R
+/Contents 77 0 R
+>>
+endobj
+80 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 82 0 R
+/Contents 81 0 R
+>>
+endobj
+83 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 85 0 R
+/Contents 84 0 R
+>>
+endobj
+86 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 88 0 R
+/Contents 87 0 R
+>>
+endobj
+89 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 91 0 R
+/Contents 90 0 R
+>>
+endobj
+92 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 94 0 R
+/Contents 93 0 R
+>>
+endobj
+95 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 97 0 R
+/Contents 96 0 R
+>>
+endobj
+98 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 100 0 R
+/Contents 99 0 R
+>>
+endobj
+101 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 103 0 R
+/Contents 102 0 R
+>>
+endobj
+104 0 obj
+<<
+/Type /Page
+/Parent 79 0 R
+/Resources 106 0 R
+/Contents 105 0 R
+>>
+endobj
+107 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 109 0 R
+/Contents 108 0 R
+>>
+endobj
+111 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 113 0 R
+/Contents 112 0 R
+>>
+endobj
+114 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 116 0 R
+/Contents 115 0 R
+>>
+endobj
+118 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 120 0 R
+/Contents 119 0 R
+>>
+endobj
+122 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 124 0 R
+/Contents 123 0 R
+>>
+endobj
+125 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 127 0 R
+/Contents 126 0 R
+>>
+endobj
+128 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 130 0 R
+/Contents 129 0 R
+>>
+endobj
+131 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 133 0 R
+/Contents 132 0 R
+>>
+endobj
+134 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 136 0 R
+/Contents 135 0 R
+>>
+endobj
+137 0 obj
+<<
+/Type /Page
+/Parent 110 0 R
+/Resources 139 0 R
+/Contents 138 0 R
+>>
+endobj
+140 0 obj
+<<
+/Type /Page
+/Parent 143 0 R
+/Resources 142 0 R
+/Contents 141 0 R
+>>
+endobj
+144 0 obj
+<<
+/Type /Page
+/Parent 143 0 R
+/Resources 146 0 R
+/Contents 145 0 R
+>>
+endobj
+147 0 obj
+<<
+/Type /Page
+/Parent 143 0 R
+/Resources 149 0 R
+/Contents 148 0 R
+>>
+endobj
+8 0 obj
+<<
+/Type /Pages
+/Kids [1 0 R 10 0 R 16 0 R 23 0 R 26 0 R 29 0 R 32 0 R 35 0 R 38 0 R 41 0 R]
+/Count 10
+/Parent 47 0 R
+>>
+endobj
+48 0 obj
+<<
+/Type /Pages
+/Kids [44 0 R 49 0 R 52 0 R 55 0 R 58 0 R 61 0 R 64 0 R 67 0 R 70 0 R 73 0 R]
+/Count 10
+/Parent 47 0 R
+>>
+endobj
+79 0 obj
+<<
+/Type /Pages
+/Kids [76 0 R 80 0 R 83 0 R 86 0 R 89 0 R 92 0 R 95 0 R 98 0 R 101 0 R 104 0 R]
+/Count 10
+/Parent 47 0 R
+>>
+endobj
+110 0 obj
+<<
+/Type /Pages
+/Kids [107 0 R 111 0 R 114 0 R 118 0 R 122 0 R 125 0 R 128 0 R 131 0 R 134 0 R 137 0 R]
+/Count 10
+/Parent 47 0 R
+>>
+endobj
+143 0 obj
+<<
+/Type /Pages
+/Kids [140 0 R 144 0 R 147 0 R]
+/Count 3
+/Parent 47 0 R
+>>
+endobj
+47 0 obj
+<<
+/Type /Pages
+/Kids [8 0 R 48 0 R 79 0 R 110 0 R 143 0 R ]
+/Count 43
+/MediaBox [0 0 612 792]
+>>
+endobj
+536 0 obj
+<<
+/Type /Catalog
+/Pages 47 0 R
+>>
+endobj
+537 0 obj
+<<
+/CreationDate (D:19990929133001)
+/Producer (Acrobat Distiller Command 3.01 for Solaris 2.3 and later \(SPARC\))
+/Creator (dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software)
+/Title (full.dvi)
+>>
+endobj
+xref
+0 538
+0000000000 65535 f
+0000301162 00000 n
+0000000016 00000 n
+0000000373 00000 n
+0000284023 00000 n
+0000292339 00000 n
+0000294869 00000 n
+0000165880 00000 n
+0000304820 00000 n
+0000000490 00000 n
+0000301242 00000 n
+0000020719 00000 n
+0000023015 00000 n
+0000242258 00000 n
+0000270896 00000 n
+0000273813 00000 n
+0000301325 00000 n
+0000023167 00000 n
+0000033705 00000 n
+0000301079 00000 n
+0000176024 00000 n
+0000203083 00000 n
+0000223031 00000 n
+0000301408 00000 n
+0000033856 00000 n
+0000036506 00000 n
+0000301491 00000 n
+0000036613 00000 n
+0000039974 00000 n
+0000301574 00000 n
+0000040103 00000 n
+0000042544 00000 n
+0000301657 00000 n
+0000042651 00000 n
+0000045795 00000 n
+0000301740 00000 n
+0000045913 00000 n
+0000048219 00000 n
+0000301823 00000 n
+0000048326 00000 n
+0000049216 00000 n
+0000301906 00000 n
+0000049323 00000 n
+0000050028 00000 n
+0000301989 00000 n
+0000050135 00000 n
+0000054581 00000 n
+0000305475 00000 n
+0000304956 00000 n
+0000302073 00000 n
+0000054721 00000 n
+0000059905 00000 n
+0000302157 00000 n
+0000060034 00000 n
+0000064808 00000 n
+0000302241 00000 n
+0000064937 00000 n
+0000070020 00000 n
+0000302325 00000 n
+0000070149 00000 n
+0000073490 00000 n
+0000302409 00000 n
+0000073619 00000 n
+0000077939 00000 n
+0000302493 00000 n
+0000078068 00000 n
+0000082781 00000 n
+0000302577 00000 n
+0000082910 00000 n
+0000087175 00000 n
+0000302661 00000 n
+0000087315 00000 n
+0000091184 00000 n
+0000302745 00000 n
+0000091324 00000 n
+0000093405 00000 n
+0000302829 00000 n
+0000093534 00000 n
+0000095032 00000 n
+0000305094 00000 n
+0000302913 00000 n
+0000095139 00000 n
+0000098230 00000 n
+0000302997 00000 n
+0000098356 00000 n
+0000101815 00000 n
+0000303081 00000 n
+0000101930 00000 n
+0000104068 00000 n
+0000303165 00000 n
+0000104186 00000 n
+0000108456 00000 n
+0000303249 00000 n
+0000108585 00000 n
+0000112422 00000 n
+0000303333 00000 n
+0000112529 00000 n
+0000127626 00000 n
+0000303417 00000 n
+0000127744 00000 n
+0000130547 00000 n
+0000303502 00000 n
+0000130666 00000 n
+0000132857 00000 n
+0000303589 00000 n
+0000132987 00000 n
+0000134475 00000 n
+0000303676 00000 n
+0000134583 00000 n
+0000139747 00000 n
+0000305234 00000 n
+0000303764 00000 n
+0000139877 00000 n
+0000144032 00000 n
+0000303852 00000 n
+0000144151 00000 n
+0000148965 00000 n
+0000173680 00000 n
+0000303940 00000 n
+0000149115 00000 n
+0000151755 00000 n
+0000172440 00000 n
+0000304028 00000 n
+0000151897 00000 n
+0000153934 00000 n
+0000304116 00000 n
+0000154042 00000 n
+0000155238 00000 n
+0000304204 00000 n
+0000155357 00000 n
+0000156592 00000 n
+0000304292 00000 n
+0000156700 00000 n
+0000157704 00000 n
+0000304380 00000 n
+0000157812 00000 n
+0000158794 00000 n
+0000304468 00000 n
+0000158902 00000 n
+0000160327 00000 n
+0000304556 00000 n
+0000160446 00000 n
+0000161891 00000 n
+0000305383 00000 n
+0000304644 00000 n
+0000161999 00000 n
+0000163003 00000 n
+0000304732 00000 n
+0000163111 00000 n
+0000165625 00000 n
+0000165999 00000 n
+0000165756 00000 n
+0000165951 00000 n
+0000166342 00000 n
+0000166450 00000 n
+0000166594 00000 n
+0000167223 00000 n
+0000167834 00000 n
+0000168413 00000 n
+0000169168 00000 n
+0000169591 00000 n
+0000169922 00000 n
+0000170170 00000 n
+0000170728 00000 n
+0000171296 00000 n
+0000171692 00000 n
+0000172392 00000 n
+0000172661 00000 n
+0000172731 00000 n
+0000172787 00000 n
+0000173109 00000 n
+0000173423 00000 n
+0000173632 00000 n
+0000173937 00000 n
+0000174020 00000 n
+0000174098 00000 n
+0000174476 00000 n
+0000174833 00000 n
+0000175126 00000 n
+0000175492 00000 n
+0000175976 00000 n
+0000176501 00000 n
+0000176867 00000 n
+0000177807 00000 n
+0000178058 00000 n
+0000178364 00000 n
+0000178780 00000 n
+0000179207 00000 n
+0000179477 00000 n
+0000179816 00000 n
+0000180147 00000 n
+0000180474 00000 n
+0000180708 00000 n
+0000180972 00000 n
+0000181192 00000 n
+0000181409 00000 n
+0000181677 00000 n
+0000182042 00000 n
+0000182315 00000 n
+0000182692 00000 n
+0000183090 00000 n
+0000183416 00000 n
+0000183783 00000 n
+0000184193 00000 n
+0000184523 00000 n
+0000184905 00000 n
+0000185321 00000 n
+0000185546 00000 n
+0000185832 00000 n
+0000186167 00000 n
+0000186407 00000 n
+0000186737 00000 n
+0000187067 00000 n
+0000187447 00000 n
+0000187725 00000 n
+0000188005 00000 n
+0000188385 00000 n
+0000188641 00000 n
+0000188866 00000 n
+0000189125 00000 n
+0000189474 00000 n
+0000189786 00000 n
+0000190110 00000 n
+0000190476 00000 n
+0000190872 00000 n
+0000191126 00000 n
+0000191462 00000 n
+0000191813 00000 n
+0000192204 00000 n
+0000192544 00000 n
+0000192777 00000 n
+0000193041 00000 n
+0000193276 00000 n
+0000193641 00000 n
+0000193993 00000 n
+0000194334 00000 n
+0000194701 00000 n
+0000195061 00000 n
+0000195366 00000 n
+0000195786 00000 n
+0000196093 00000 n
+0000196363 00000 n
+0000196669 00000 n
+0000197037 00000 n
+0000197275 00000 n
+0000197585 00000 n
+0000197880 00000 n
+0000198222 00000 n
+0000198592 00000 n
+0000198965 00000 n
+0000199272 00000 n
+0000199631 00000 n
+0000199931 00000 n
+0000200211 00000 n
+0000200540 00000 n
+0000200870 00000 n
+0000201227 00000 n
+0000201624 00000 n
+0000201929 00000 n
+0000202245 00000 n
+0000202455 00000 n
+0000202770 00000 n
+0000203035 00000 n
+0000203574 00000 n
+0000203832 00000 n
+0000204421 00000 n
+0000204888 00000 n
+0000205366 00000 n
+0000205634 00000 n
+0000205844 00000 n
+0000206056 00000 n
+0000206373 00000 n
+0000206841 00000 n
+0000207081 00000 n
+0000207473 00000 n
+0000207935 00000 n
+0000208350 00000 n
+0000208803 00000 n
+0000209091 00000 n
+0000209445 00000 n
+0000209950 00000 n
+0000210423 00000 n
+0000210803 00000 n
+0000211245 00000 n
+0000211617 00000 n
+0000212101 00000 n
+0000212530 00000 n
+0000212824 00000 n
+0000213114 00000 n
+0000213484 00000 n
+0000213851 00000 n
+0000214187 00000 n
+0000214598 00000 n
+0000214929 00000 n
+0000215305 00000 n
+0000215701 00000 n
+0000216082 00000 n
+0000216429 00000 n
+0000216804 00000 n
+0000217217 00000 n
+0000217528 00000 n
+0000217961 00000 n
+0000218339 00000 n
+0000218681 00000 n
+0000219084 00000 n
+0000219477 00000 n
+0000219807 00000 n
+0000220147 00000 n
+0000220472 00000 n
+0000220857 00000 n
+0000221217 00000 n
+0000221623 00000 n
+0000222001 00000 n
+0000222416 00000 n
+0000222773 00000 n
+0000222983 00000 n
+0000223518 00000 n
+0000223745 00000 n
+0000224267 00000 n
+0000224623 00000 n
+0000224833 00000 n
+0000225068 00000 n
+0000225333 00000 n
+0000225805 00000 n
+0000226282 00000 n
+0000226659 00000 n
+0000227111 00000 n
+0000227613 00000 n
+0000228051 00000 n
+0000228593 00000 n
+0000229024 00000 n
+0000229399 00000 n
+0000229724 00000 n
+0000230258 00000 n
+0000230480 00000 n
+0000230769 00000 n
+0000231276 00000 n
+0000231628 00000 n
+0000232091 00000 n
+0000232620 00000 n
+0000232929 00000 n
+0000233451 00000 n
+0000234130 00000 n
+0000234581 00000 n
+0000235007 00000 n
+0000235399 00000 n
+0000235814 00000 n
+0000236219 00000 n
+0000236719 00000 n
+0000237046 00000 n
+0000237309 00000 n
+0000237534 00000 n
+0000237919 00000 n
+0000238240 00000 n
+0000238618 00000 n
+0000239020 00000 n
+0000239329 00000 n
+0000239734 00000 n
+0000240060 00000 n
+0000240389 00000 n
+0000240794 00000 n
+0000241292 00000 n
+0000241731 00000 n
+0000242210 00000 n
+0000242780 00000 n
+0000243139 00000 n
+0000244086 00000 n
+0000244415 00000 n
+0000244721 00000 n
+0000245009 00000 n
+0000245363 00000 n
+0000245669 00000 n
+0000246186 00000 n
+0000246450 00000 n
+0000246801 00000 n
+0000247147 00000 n
+0000247406 00000 n
+0000247613 00000 n
+0000247823 00000 n
+0000248111 00000 n
+0000248445 00000 n
+0000248694 00000 n
+0000249094 00000 n
+0000249500 00000 n
+0000249821 00000 n
+0000250207 00000 n
+0000250599 00000 n
+0000250944 00000 n
+0000251369 00000 n
+0000251762 00000 n
+0000251984 00000 n
+0000252259 00000 n
+0000252654 00000 n
+0000253022 00000 n
+0000253463 00000 n
+0000253817 00000 n
+0000254157 00000 n
+0000254464 00000 n
+0000254900 00000 n
+0000255154 00000 n
+0000255376 00000 n
+0000255681 00000 n
+0000256106 00000 n
+0000256384 00000 n
+0000256795 00000 n
+0000257193 00000 n
+0000257606 00000 n
+0000257920 00000 n
+0000258327 00000 n
+0000258749 00000 n
+0000259039 00000 n
+0000259380 00000 n
+0000259796 00000 n
+0000260304 00000 n
+0000260773 00000 n
+0000261178 00000 n
+0000261391 00000 n
+0000261700 00000 n
+0000261915 00000 n
+0000262267 00000 n
+0000262624 00000 n
+0000262959 00000 n
+0000263311 00000 n
+0000263651 00000 n
+0000263929 00000 n
+0000264347 00000 n
+0000264641 00000 n
+0000264890 00000 n
+0000265178 00000 n
+0000265529 00000 n
+0000265757 00000 n
+0000266084 00000 n
+0000266370 00000 n
+0000266696 00000 n
+0000267043 00000 n
+0000267400 00000 n
+0000267666 00000 n
+0000268015 00000 n
+0000268298 00000 n
+0000268593 00000 n
+0000268925 00000 n
+0000269333 00000 n
+0000269708 00000 n
+0000270100 00000 n
+0000270439 00000 n
+0000270644 00000 n
+0000270848 00000 n
+0000271155 00000 n
+0000271246 00000 n
+0000271346 00000 n
+0000271733 00000 n
+0000272074 00000 n
+0000272404 00000 n
+0000272685 00000 n
+0000273037 00000 n
+0000273357 00000 n
+0000273765 00000 n
+0000274194 00000 n
+0000274357 00000 n
+0000274681 00000 n
+0000274993 00000 n
+0000275420 00000 n
+0000275793 00000 n
+0000276095 00000 n
+0000276542 00000 n
+0000276759 00000 n
+0000277171 00000 n
+0000277604 00000 n
+0000278156 00000 n
+0000278532 00000 n
+0000278887 00000 n
+0000279229 00000 n
+0000279585 00000 n
+0000279939 00000 n
+0000280233 00000 n
+0000280662 00000 n
+0000280956 00000 n
+0000281209 00000 n
+0000281431 00000 n
+0000281762 00000 n
+0000282050 00000 n
+0000282390 00000 n
+0000282745 00000 n
+0000283026 00000 n
+0000283391 00000 n
+0000283680 00000 n
+0000283975 00000 n
+0000284469 00000 n
+0000284640 00000 n
+0000284917 00000 n
+0000285234 00000 n
+0000285591 00000 n
+0000285946 00000 n
+0000286156 00000 n
+0000286505 00000 n
+0000286934 00000 n
+0000287290 00000 n
+0000287710 00000 n
+0000288131 00000 n
+0000288477 00000 n
+0000288940 00000 n
+0000289301 00000 n
+0000289661 00000 n
+0000289947 00000 n
+0000290247 00000 n
+0000290495 00000 n
+0000290723 00000 n
+0000291073 00000 n
+0000291343 00000 n
+0000291704 00000 n
+0000291997 00000 n
+0000292291 00000 n
+0000292595 00000 n
+0000292678 00000 n
+0000292756 00000 n
+0000293181 00000 n
+0000293568 00000 n
+0000293880 00000 n
+0000294273 00000 n
+0000294821 00000 n
+0000295195 00000 n
+0000295312 00000 n
+0000295489 00000 n
+0000295886 00000 n
+0000296273 00000 n
+0000296695 00000 n
+0000297148 00000 n
+0000297575 00000 n
+0000298110 00000 n
+0000298467 00000 n
+0000298736 00000 n
+0000299082 00000 n
+0000299401 00000 n
+0000299847 00000 n
+0000300176 00000 n
+0000300525 00000 n
+0000305589 00000 n
+0000305641 00000 n
+trailer
+<<
+/Size 538
+/Root 536 0 R
+/Info 537 0 R
+/ID [<fb60d263467ddc25340ca15779a75b6f><fb60d263467ddc25340ca15779a75b6f>]
+>>
+startxref
+305860
+%%EOF
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/libguide.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/libguide.pdf
new file mode 100644
index 0000000..15dda44
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/libguide.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lneato.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lneato.1.pdf
new file mode 100644
index 0000000..36def82
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/lneato.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/mm2gv.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/mm2gv.1.pdf
new file mode 100644
index 0000000..56ceb25
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/mm2gv.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neato.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neato.1.pdf
new file mode 100644
index 0000000..4cb7399
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neato.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neatoguide.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neatoguide.pdf
new file mode 100644
index 0000000..a515788
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/neatoguide.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/nop.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/nop.1.pdf
new file mode 100644
index 0000000..e10029e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/nop.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/pathplan.3.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/pathplan.3.pdf
new file mode 100644
index 0000000..c01bc9f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/pathplan.3.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/prune.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/prune.pdf
new file mode 100644
index 0000000..bd34af5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/prune.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/sccmap.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/sccmap.1.pdf
new file mode 100644
index 0000000..3fcba15
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/sccmap.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/tred.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/tred.1.pdf
new file mode 100644
index 0000000..adde054
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/tred.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/twopi.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/twopi.1.pdf
new file mode 100644
index 0000000..4cb7399
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/twopi.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/unflatten.1.pdf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/unflatten.1.pdf
new file mode 100644
index 0000000..11f5629
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/doc/pdf/unflatten.1.pdf
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/KW91.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/KW91.gv
new file mode 100644
index 0000000..6c84048
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/KW91.gv
@@ -0,0 +1,20 @@
+digraph G {
+ style=bold;
+ subgraph cluster_outer {
+ Act_1 -> Act_21;
+ Act_1 -> Act_23;
+ Act_25 -> Act_3;
+ subgraph cluster_inner {
+ label = " Act_2";
+ {Act_21 -> Act_22 [minlen=2]; rank=same;}
+ Act_22 -> Act_23;
+ Act_22 -> Act_24;
+ {Act_23 -> Act_24 [minlen=2]; rank=same;}
+ Act_23 -> Act_25;
+ Act_24 -> Act_25;
+ }
+ }
+ Ext_1 -> Act_1;
+ Act_3 -> Ext_2;
+ Ext_3 -> Act_24;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/Latin1.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/Latin1.gv
new file mode 100644
index 0000000..7b22a3c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/Latin1.gv
@@ -0,0 +1,5 @@
+digraph G {
+graph [charset=latin1]
+node [fontsize=10]
+a [label = ""];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/NaN.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/NaN.gv
new file mode 100644
index 0000000..200540c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/NaN.gv
@@ -0,0 +1,126 @@
+digraph xyz {
+orientation=landscape;
+ratio=compress;
+size="16,10";
+AbstractMemory -> Memory;
+AliasedMemory -> AliasedMemory;
+AliasedMemory -> Memory;
+Architecture -> ROOT;
+Assembly -> ROOT;
+AtomProperties -> NRAtom;
+AtomWr -> Wr;
+Break -> Break;
+Break -> Target;
+Breakpoint -> Breakpoint;
+Breakpoint -> Event;
+Breakpoint -> ROOT;
+CDB -> Target;
+CDB -> Thread;
+CommonFrame -> Target;
+ControlOps -> InterpF;
+Displayed -> Displayed;
+Displayed -> InterpTypes;
+ETimer -> RTHeapRep;
+Event -> Event;
+Event -> ROOT;
+Event -> Target;
+EventHandler -> ROOT;
+EventHandler -> StandardEvents;
+Expression -> ROOT;
+ExpressionServer -> Expression;
+FollowBreakpoint -> Breakpoint;
+Formatter -> ROOT;
+Formatter -> Thread;
+Frame -> Frame;
+Frame -> Memory;
+Frame -> Target;
+FrameClass -> Frame;
+IntIntTbl -> IntIntTbl;
+IntIntTbl -> ROOT;
+Interp -> InterpF;
+Interp -> ROOT;
+InterpF -> Interp;
+InterpF -> InterpF;
+InterpF -> ROOT;
+InterpScan -> TokenStream;
+InterpTypes -> InterpTypes;
+InterpTypes -> ROOT;
+List -> Thread;
+LoadState -> LoadState;
+LoadState -> LoadStateRep;
+LoadState -> ROOT;
+LoadStateRep -> LoadState;
+LocationRep -> Memory;
+MC68Frame -> CommonFrame;
+MC68GCommonFrame -> EventHandler;
+MUTEX -> ROOT;
+Memory -> Displayed;
+Memory -> InterpTypes;
+MipsFrame -> CommonFrame;
+MipsFrame -> InterpTypes;
+MipsGCommonFrame -> EventHandler;
+NRAtom -> AtomProperties;
+NRAtom -> ROOT;
+NopBreakpoint -> Breakpoint;
+PSFormatter -> InterpTypes;
+PSInterp -> InterpTypes;
+PSLoadState -> InterpTypes;
+PSMemory -> InterpTypes;
+ProtectedWire -> ProtectedWire;
+ProtectedWire -> Wire;
+RTHeap -> RTHeapRep;
+RTHeapRep -> ROOT;
+Rd -> RdClass;
+RdClass -> MUTEX;
+RegisterMemory -> Memory;
+Scope -> ROOT;
+Scope -> Scope;
+Scope -> Target;
+SourceLoc -> Target;
+SourceMap -> ROOT;
+SparcFrame -> CommonFrame;
+SparcGCommonFrame -> EventHandler;
+StandardEvents -> StandardEvents;
+StandardEvents -> Target;
+StreamWire -> Wire;
+Symbol -> Displayed;
+Symbol -> Symbol;
+TThread -> ROOT;
+TThread -> Target;
+Target -> Displayed;
+Target -> Event;
+Target -> FrameClass;
+Target -> ROOT;
+Target -> TThread;
+Target -> Target;
+Target -> TargetF;
+Target -> Thread;
+TargetF -> Target;
+TargetState -> Assembly;
+TextRd -> Rd;
+TextWr -> Wr;
+Thread -> ROOT;
+Thread -> Thread;
+TokenStream -> ROOT;
+TokenStream -> TokenStream;
+Trap -> ROOT;
+TrapMemory -> Memory;
+UFileRd -> Rd;
+UFileRd -> UFileRd;
+UFileWr -> UFileWr;
+UFileWr -> Wr;
+UnixHandler -> Event;
+UnixHandler -> UnixHandler;
+UserBreak -> Break;
+UserBreak -> Breakpoint;
+UserBreak -> Event;
+UserBreak -> Trap;
+UserBreak -> UserBreak;
+VaxFrame -> CommonFrame;
+VaxGCommonFrame -> EventHandler;
+Wire -> ROOT;
+Wire -> TrapMemory;
+Wire -> Wire;
+Wr -> WrClass;
+WrClass -> MUTEX;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/abstract.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/abstract.gv
new file mode 100644
index 0000000..08955e1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/abstract.gv
@@ -0,0 +1,71 @@
+digraph abstract {
+ size="6,6";
+ S24 -> 27;
+ S24 -> 25;
+ S1 -> 10;
+ S1 -> 2;
+ S35 -> 36;
+ S35 -> 43;
+ S30 -> 31;
+ S30 -> 33;
+ 9 -> 42;
+ 9 -> T1;
+ 25 -> T1;
+ 25 -> 26;
+ 27 -> T24;
+ 2 -> 3;
+ 2 -> 16;
+ 2 -> 17;
+ 2 -> T1;
+ 2 -> 18;
+ 10 -> 11;
+ 10 -> 14;
+ 10 -> T1;
+ 10 -> 13;
+ 10 -> 12;
+ 31 -> T1;
+ 31 -> 32;
+ 33 -> T30;
+ 33 -> 34;
+ 42 -> 4;
+ 26 -> 4;
+ 3 -> 4;
+ 16 -> 15;
+ 17 -> 19;
+ 18 -> 29;
+ 11 -> 4;
+ 14 -> 15;
+ 37 -> 39;
+ 37 -> 41;
+ 37 -> 38;
+ 37 -> 40;
+ 13 -> 19;
+ 12 -> 29;
+ 43 -> 38;
+ 43 -> 40;
+ 36 -> 19;
+ 32 -> 23;
+ 34 -> 29;
+ 39 -> 15;
+ 41 -> 29;
+ 38 -> 4;
+ 40 -> 19;
+ 4 -> 5;
+ 19 -> 21;
+ 19 -> 20;
+ 19 -> 28;
+ 5 -> 6;
+ 5 -> T35;
+ 5 -> 23;
+ 21 -> 22;
+ 20 -> 15;
+ 28 -> 29;
+ 6 -> 7;
+ 15 -> T1;
+ 22 -> 23;
+ 22 -> T35;
+ 29 -> T30;
+ 7 -> T8;
+ 23 -> T24;
+ 23 -> T1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/alf.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/alf.gv
new file mode 100644
index 0000000..cf58f43
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/alf.gv
@@ -0,0 +1,32 @@
+digraph Alf {
+size = "6,9";
+node [ shape = record ];
+Decl [ label = "\n\nDecl|{name|access|decl_flags|extern_c_linkage}"];
+Nontype_decl [ label = "Nontype_decl|{type}"];
+Defined_decl [ label = "Defined_decl|{linkage}"];
+Data_decl [ label = "Data_decl|{storage_class}"];
+Function_decl [ label = "Function_decl|{formals|defaults}"];
+Data [ label = "Data|{initializer}"];
+Function [ label = "Function|{body}"];
+Constructor [ label = "Constructor|{member_initializers}"];
+Aggregate -> Type_decl ;
+Class -> Aggregate;
+Union -> Aggregate;
+Data -> Data_decl;
+Data -> Defn;
+Data_decl -> Defined_decl;
+Data_member -> Nontype_decl ;
+Defined_decl -> Nontype_decl;
+Defn -> Defined_decl;
+Enum -> Type_decl ;
+Enumerator -> Nontype_decl ;
+Function -> Defn;
+Function -> Function_decl;
+Constructor -> Function;
+Destructor -> Function;
+Function_decl -> Defined_decl;
+Nontype_decl -> Decl ;
+Template_type_arg -> Type_decl ;
+Type_decl -> Decl ;
+Typedef -> Type_decl ;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/arrows.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/arrows.gv
new file mode 100644
index 0000000..e84b04a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/arrows.gv
@@ -0,0 +1,77 @@
+digraph G {
+ graph [rankdir=LR nodesep=0]
+ node [shape=point label=""]
+ edge [fontsize=10]
+ _box -> box [arrowhead=box label=box]
+ box -> boxbox [arrowhead=boxbox label=boxbox]
+ _box -> lbox [arrowhead=lbox label=lbox]
+ lbox -> lboxlbox [arrowhead=lboxlbox label=lboxlbox]
+ _box -> rbox [arrowhead=rbox label=rbox]
+ rbox -> rboxrbox [arrowhead=rboxrbox label=rboxrbox]
+ _box -> olbox [arrowhead=olbox label=olbox]
+ olbox -> olboxolbox [arrowhead=olboxolbox label=olboxolbox]
+ _box -> orbox [arrowhead=orbox label=orbox]
+ orbox -> orboxorbox [arrowhead=orboxorbox label=orboxorbox]
+ _box -> obox [arrowhead=obox label=obox]
+ obox -> oboxobox [arrowhead=oboxobox label=oboxobox]
+ _crow -> crow [arrowhead=crow label=crow]
+ crow -> crowcrow [arrowhead=crowcrow label=crowcrow]
+ _crow -> lcrow [arrowhead=lcrow label=lcrow]
+ lcrow -> lcrowlcrow [arrowhead=lcrowlcrow label=lcrowlcrow]
+ _crow -> rcrow [arrowhead=rcrow label=rcrow]
+ rcrow -> rcrowrcrow [arrowhead=rcrowrcrow label=rcrowrcrow]
+ _diamond -> diamond [arrowhead=diamond label=diamond]
+ diamond -> diamonddiamond [arrowhead=diamonddiamond label=diamonddiamond]
+ _diamond -> ldiamond [arrowhead=ldiamond label=ldiamond]
+ ldiamond -> ldiamondldiamond [arrowhead=ldiamondldiamond label=ldiamondldiamond]
+ _diamond -> rdiamond [arrowhead=rdiamond label=rdiamond]
+ rdiamond -> rdiamondrdiamond [arrowhead=rdiamondrdiamond label=rdiamondrdiamond]
+ _diamond -> oldiamond [arrowhead=oldiamond label=oldiamond]
+ oldiamond -> oldiamondoldiamond [arrowhead=oldiamondoldiamond label=oldiamondoldiamond]
+ _diamond -> ordiamond [arrowhead=ordiamond label=ordiamond]
+ ordiamond -> ordiamondordiamond [arrowhead=ordiamondordiamond label=ordiamondordiamond]
+ _diamond -> odiamond [arrowhead=odiamond label=odiamond]
+ odiamond -> odiamondodiamond [arrowhead=odiamondodiamond label=odiamondodiamond]
+ _dot -> dot [arrowhead=dot label=dot]
+ dot -> dotdot [arrowhead=dotdot label=dotdot]
+ _dot -> odot [arrowhead=odot label=odot]
+ odot -> odotodot [arrowhead=odotodot label=odotodot]
+ _inv -> inv [arrowhead=inv label=inv]
+ inv -> invinv [arrowhead=invinv label=invinv]
+ _inv -> linv [arrowhead=linv label=linv]
+ linv -> linvlinv [arrowhead=linvlinv label=linvlinv]
+ _inv -> rinv [arrowhead=rinv label=rinv]
+ rinv -> rinvrinv [arrowhead=rinvrinv label=rinvrinv]
+ _inv -> olinv [arrowhead=olinv label=olinv]
+ olinv -> olinvolinv [arrowhead=olinvolinv label=olinvolinv]
+ _inv -> orinv [arrowhead=orinv label=orinv]
+ orinv -> orinvorinv [arrowhead=orinvorinv label=orinvorinv]
+ _inv -> oinv [arrowhead=oinv label=oinv]
+ oinv -> oinvoinv [arrowhead=oinvoinv label=oinvoinv]
+ _none -> none [arrowhead=none label=none]
+ none -> nonenone [arrowhead=nonenone label=nonenone]
+ _normal -> normal [arrowhead=normal label=normal]
+ normal -> normalnormal [arrowhead=normalnormal label=normalnormal]
+ _normal -> lnormal [arrowhead=lnormal label=lnormal]
+ lnormal -> lnormallnormal [arrowhead=lnormallnormal label=lnormallnormal]
+ _normal -> rnormal [arrowhead=rnormal label=rnormal]
+ rnormal -> rnormalrnormal [arrowhead=rnormalrnormal label=rnormalrnormal]
+ _normal -> olnormal [arrowhead=olnormal label=olnormal]
+ olnormal -> olnormalolnormal [arrowhead=olnormalolnormal label=olnormalolnormal]
+ _normal -> ornormal [arrowhead=ornormal label=ornormal]
+ ornormal -> ornormalornormal [arrowhead=ornormalornormal label=ornormalornormal]
+ _normal -> onormal [arrowhead=onormal label=onormal]
+ onormal -> onormalonormal [arrowhead=onormalonormal label=onormalonormal]
+ _tee -> tee [arrowhead=tee label=tee]
+ tee -> teetee [arrowhead=teetee label=teetee]
+ _tee -> ltee [arrowhead=ltee label=ltee]
+ ltee -> lteeltee [arrowhead=lteeltee label=lteeltee]
+ _tee -> rtee [arrowhead=rtee label=rtee]
+ rtee -> rteertee [arrowhead=rteertee label=rteertee]
+ _vee -> vee [arrowhead=vee label=vee]
+ vee -> veevee [arrowhead=veevee label=veevee]
+ _vee -> lvee [arrowhead=lvee label=lvee]
+ lvee -> lveelvee [arrowhead=lveelvee label=lveelvee]
+ _vee -> rvee [arrowhead=rvee label=rvee]
+ rvee -> rveervee [arrowhead=rveervee label=rveervee]
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/awilliams.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/awilliams.gv
new file mode 100644
index 0000000..7f01a14
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/awilliams.gv
@@ -0,0 +1,188 @@
+digraph pvn {
+ ordering=out;
+
+ node_1 -> node_2;
+ node_1 [label="ID: 1\ntype: 48\nnbr out: 0\nnbr chi: 11"];
+ node_2 [label="ID: 2\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_3;
+ node_3 [label="ID: 3\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_4;
+ node_4 [label="ID: 4\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_5;
+ node_5 [label="ID: 5\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_6;
+ node_6 [label="ID: 6\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_7;
+ node_7 [label="ID: 7\ntype: 49\nnbr out: 0\nnbr chi: 0"];
+ node_7 -> node_8;
+ node_8 [label="ID: 8\ntype: 45\nnbr out: 2\nnbr chi: 0"];
+ node_8 -> node_9;
+ node_9 [label="ID: 9\ntype: 48\nnbr out: 0\nnbr chi: 4"];
+ node_9 -> node_10;
+ node_10 [label="ID: 10\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_9 -> node_11;
+ node_11 [label="ID: 11\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_9 -> node_12;
+ node_12 [label="ID: 12\ntype: 5\nnbr out: 0\nnbr chi: 0"];
+ node_9 -> node_13;
+ node_13 [label="ID: 13\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_8 -> node_14;
+ node_14 [label="ID: 14\ntype: 39\nnbr out: 1\nnbr chi: 0"];
+ node_14 -> node_15;
+ node_15 [label="ID: 15\ntype: 55\nnbr out: 0\nnbr chi: 0"];
+ node_15 -> node_16;
+ node_16 [label="ID: 16\ntype: 48\nnbr out: 0\nnbr chi: 3"];
+ node_16 -> node_17;
+ node_17 [label="ID: 17\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_16 -> node_18;
+ node_18 [label="ID: 18\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_16 -> node_19;
+ node_19 [label="ID: 19\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_19 -> node_20;
+ node_20 [label="ID: 20\ntype: 48\nnbr out: 0\nnbr chi: 5"];
+ node_20 -> node_21;
+ node_21 [label="ID: 21\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_20 -> node_22;
+ node_22 [label="ID: 22\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_20 -> node_23;
+ node_23 [label="ID: 23\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_20 -> node_24;
+ node_24 [label="ID: 24\ntype: 5\nnbr out: 0\nnbr chi: 0"];
+ node_20 -> node_25;
+ node_25 [label="ID: 25\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_19 -> node_26;
+ node_26 [label="ID: 26\ntype: 41\nnbr out: 12\nnbr chi: 0"];
+ node_26 -> node_27;
+ node_27 [label="ID: 27\ntype: 48\nnbr out: 0\nnbr chi: 5"];
+ node_27 -> node_28;
+ node_28 [label="ID: 28\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_27 -> node_29;
+ node_29 [label="ID: 29\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_27 -> node_30;
+ node_30 [label="ID: 30\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_27 -> node_31;
+ node_31 [label="ID: 31\ntype: 5\nnbr out: 0\nnbr chi: 0"];
+ node_27 -> node_32;
+ node_32 [label="ID: 32\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_27;
+ node_26 -> node_33;
+ node_33 [label="ID: 33\ntype: 48\nnbr out: 0\nnbr chi: 5"];
+ node_33 -> node_34;
+ node_34 [label="ID: 34\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_33 -> node_35;
+ node_35 [label="ID: 35\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_33 -> node_36;
+ node_36 [label="ID: 36\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_33 -> node_37;
+ node_37 [label="ID: 37\ntype: 20\nnbr out: 0\nnbr chi: 0"];
+ node_33 -> node_38;
+ node_38 [label="ID: 38\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_15 -> node_39;
+ node_39 [label="ID: 39\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_39 -> node_40;
+ node_40 [label="ID: 40\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_39 -> node_41;
+ node_41 [label="ID: 41\ntype: 48\nnbr out: 0\nnbr chi: 3"];
+ node_41 -> node_42;
+ node_42 [label="ID: 42\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_41 -> node_43;
+ node_43 [label="ID: 43\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_41 -> node_44;
+ node_44 [label="ID: 44\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_15 -> node_45;
+ node_45 [label="ID: 45\ntype: 48\nnbr out: 0\nnbr chi: 4"];
+ node_45 -> node_46;
+ node_46 [label="ID: 46\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_45 -> node_47;
+ node_47 [label="ID: 47\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_47 -> node_48;
+ node_48 [label="ID: 48\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_47 -> node_49;
+ node_49 [label="ID: 49\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_45 -> node_50;
+ node_50 [label="ID: 50\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_45 -> node_51;
+ node_51 [label="ID: 51\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_51 -> node_52;
+ node_52 [label="ID: 52\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_52 -> node_53;
+ node_53 [label="ID: 53\ntype: 54\nnbr out: 0\nnbr chi: 0"];
+ node_52 -> node_54;
+ node_54 [label="ID: 54\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_51 -> node_55;
+ node_55 [label="ID: 55\ntype: 48\nnbr out: 0\nnbr chi: 3"];
+ node_55 -> node_56;
+ node_56 [label="ID: 56\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_55 -> node_57;
+ node_57 [label="ID: 57\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_55 -> node_58;
+ node_58 [label="ID: 58\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_15 -> node_59;
+ node_59 [label="ID: 59\ntype: 48\nnbr out: 0\nnbr chi: 5"];
+ node_59 -> node_60;
+ node_60 [label="ID: 60\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_59 -> node_61;
+ node_61 [label="ID: 61\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_59 -> node_62;
+ node_62 [label="ID: 62\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_59 -> node_63;
+ node_63 [label="ID: 63\ntype: 5\nnbr out: 0\nnbr chi: 0"];
+ node_59 -> node_64;
+ node_64 [label="ID: 64\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_15 -> node_65;
+ node_65 [label="ID: 65\ntype: 48\nnbr out: 0\nnbr chi: 5"];
+ node_65 -> node_66;
+ node_66 [label="ID: 66\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_65 -> node_67;
+ node_67 [label="ID: 67\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_65 -> node_68;
+ node_68 [label="ID: 68\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_65 -> node_69;
+ node_69 [label="ID: 69\ntype: 20\nnbr out: 0\nnbr chi: 0"];
+ node_65 -> node_70;
+ node_70 [label="ID: 70\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_14 -> node_71;
+ node_71 [label="ID: 71\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_71 -> node_72;
+ node_72 [label="ID: 72\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_71 -> node_73;
+ node_73 [label="ID: 73\ntype: 48\nnbr out: 0\nnbr chi: 3"];
+ node_73 -> node_74;
+ node_74 [label="ID: 74\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_73 -> node_75;
+ node_75 [label="ID: 75\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_73 -> node_76;
+ node_76 [label="ID: 76\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_8 -> node_77;
+ node_77 [label="ID: 77\ntype: 45\nnbr out: 1\nnbr chi: 0"];
+ node_77 -> node_78;
+ node_78 [label="ID: 78\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+ node_77 -> node_79;
+ node_79 [label="ID: 79\ntype: 48\nnbr out: 0\nnbr chi: 3"];
+ node_79 -> node_80;
+ node_80 [label="ID: 80\ntype: 14\nnbr out: 0\nnbr chi: 0"];
+ node_79 -> node_81;
+ node_81 [label="ID: 81\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_79 -> node_82;
+ node_82 [label="ID: 82\ntype: 6\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_83;
+ node_83 [label="ID: 83\ntype: 38\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_84;
+ node_84 [label="ID: 84\ntype: 8\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_85;
+ node_85 [label="ID: 85\ntype: 1\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_86;
+ node_86 [label="ID: 86\ntype: 5\nnbr out: 0\nnbr chi: 0"];
+ node_1 -> node_87;
+ node_87 [label="ID: 87\ntype: 16\nnbr out: 0\nnbr chi: 0"];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust.gv
new file mode 100644
index 0000000..319d5ca
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust.gv
@@ -0,0 +1,22 @@
+digraph G {
+ subgraph cluster_0 {
+ label = "hello world";
+ a -> b;
+ a -> c;
+ color = hotpink;
+ }
+
+ subgraph cluster_1 {
+ label = "MSDOT";
+ style= "dashed";
+ color=purple;
+ x -> y;
+ x -> z;
+ y -> z;
+ y -> q;
+ }
+
+ top -> a;
+ top -> y;
+ y -> b;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust1.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust1.gv
new file mode 100644
index 0000000..71c4722
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust1.gv
@@ -0,0 +1,8 @@
+digraph G {
+ subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
+ subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
+ x -> a0;
+ x -> b0;
+ a1 -> a3;
+ a3 -> a0;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust2.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust2.gv
new file mode 100644
index 0000000..27cc588
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust2.gv
@@ -0,0 +1,8 @@
+digraph G {
+ subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
+ subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
+ x -> a0;
+ x -> b0;
+ a1 -> b3;
+ b3 -> a1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust3.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust3.gv
new file mode 100644
index 0000000..6efae42
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust3.gv
@@ -0,0 +1,8 @@
+digraph G {
+ subgraph cluster_c0 {a0 -> a1 -> a2 -> a3;}
+ subgraph cluster_c1 {b0 -> b1 -> b2 -> b3;}
+ x -> a0;
+ x -> b0;
+ a1 -> b3;
+ b1 -> a3;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust4.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust4.gv
new file mode 100644
index 0000000..67dcd4c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust4.gv
@@ -0,0 +1,27 @@
+digraph G {
+
+ subgraph cluster_0 {
+ style=filled;
+ color=lightgrey;
+ node [style=filled,color=white];
+ a0 -> a1 -> a2 -> a3;
+ label = "process #1";
+ }
+
+ subgraph cluster_1 {
+ node [style=filled];
+ b0 -> b1 -> b2 -> b3;
+ label = "process #2";
+ color=blue
+ }
+ start -> a0;
+ start -> b0;
+ a1 -> b3;
+ b2 -> a3;
+ a3 -> a0;
+ a3 -> end;
+ b3 -> end;
+
+ start [shape=Mdiamond];
+ end [shape=Msquare];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust5.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust5.gv
new file mode 100644
index 0000000..5edc2ce
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/clust5.gv
@@ -0,0 +1,25 @@
+digraph G {
+size="6,6";
+ a -> b -> c;
+
+ subgraph cluster0 {
+ x0 -> y0;
+ x0 -> z0;
+ }
+
+ subgraph cluster1 {
+ x1 -> y1;
+ x1 -> z1;
+ }
+
+ subgraph cluster2 {
+ x2 -> y2;
+ x2 -> z2;
+ }
+
+ a -> x0;
+ b -> x1;
+ b -> x2;
+ a -> z2;
+ c -> z1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/crazy.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/crazy.gv
new file mode 100644
index 0000000..b51d498
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/crazy.gv
@@ -0,0 +1,104 @@
+digraph "unix" {
+ graph [ fontname = "Helvetica-Oblique",
+ fontsize = 36,
+ label = "\n\n\n\nObject Oriented Graphs\nStephen North, 3/19/93",
+ size = "6,6" ];
+ node [ shape = polygon,
+ sides = 4,
+ distortion = "0.0",
+ orientation = "0.0",
+ skew = "0.0",
+ color = white,
+ style = filled,
+ fontname = "Helvetica-Outline" ];
+ "5th Edition" [sides=9, distortion="0.936354", orientation=28, skew="-0.126818", color=salmon2];
+ "6th Edition" [sides=5, distortion="0.238792", orientation=11, skew="0.995935", color=deepskyblue];
+ "PWB 1.0" [sides=8, distortion="0.019636", orientation=79, skew="-0.440424", color=goldenrod2];
+ LSX [sides=9, distortion="-0.698271", orientation=22, skew="-0.195492", color=burlywood2];
+ "1 BSD" [sides=7, distortion="0.265084", orientation=26, skew="0.403659", color=gold1];
+ "Mini Unix" [distortion="0.039386", orientation=2, skew="-0.461120", color=greenyellow];
+ Wollongong [sides=5, distortion="0.228564", orientation=63, skew="-0.062846", color=darkseagreen];
+ Interdata [distortion="0.624013", orientation=56, skew="0.101396", color=dodgerblue1];
+ "Unix/TS 3.0" [sides=8, distortion="0.731383", orientation=43, skew="-0.824612", color=thistle2];
+ "PWB 2.0" [sides=6, distortion="0.592100", orientation=34, skew="-0.719269", color=darkolivegreen3];
+ "7th Edition" [sides=10, distortion="0.298417", orientation=65, skew="0.310367", color=chocolate];
+ "8th Edition" [distortion="-0.997093", orientation=50, skew="-0.061117", color=turquoise3];
+ "32V" [sides=7, distortion="0.878516", orientation=19, skew="0.592905", color=steelblue3];
+ V7M [sides=10, distortion="-0.960249", orientation=32, skew="0.460424", color=navy];
+ "Ultrix-11" [sides=10, distortion="-0.633186", orientation=10, skew="0.333125", color=darkseagreen4];
+ Xenix [sides=8, distortion="-0.337997", orientation=52, skew="-0.760726", color=coral];
+ "UniPlus+" [sides=7, distortion="0.788483", orientation=39, skew="-0.526284", color=darkolivegreen3];
+ "9th Edition" [sides=7, distortion="0.138690", orientation=55, skew="0.554049", color=coral3];
+ "2 BSD" [sides=7, distortion="-0.010661", orientation=84, skew="0.179249", color=blanchedalmond];
+ "2.8 BSD" [distortion="-0.239422", orientation=44, skew="0.053841", color=lightskyblue1];
+ "2.9 BSD" [distortion="-0.843381", orientation=70, skew="-0.601395", color=aquamarine2];
+ "3 BSD" [sides=10, distortion="0.251820", orientation=18, skew="-0.530618", color=lemonchiffon];
+ "4 BSD" [sides=5, distortion="-0.772300", orientation=24, skew="-0.028475", color=darkorange1];
+ "4.1 BSD" [distortion="-0.226170", orientation=38, skew="0.504053", color=lightyellow1];
+ "4.2 BSD" [sides=10, distortion="-0.807349", orientation=50, skew="-0.908842", color=darkorchid4];
+ "4.3 BSD" [sides=10, distortion="-0.030619", orientation=76, skew="0.985021", color=lemonchiffon2];
+ "Ultrix-32" [distortion="-0.644209", orientation=21, skew="0.307836", color=goldenrod3];
+ "PWB 1.2" [sides=7, distortion="0.640971", orientation=84, skew="-0.768455", color=cyan];
+ "USG 1.0" [distortion="0.758942", orientation=42, skew="0.039886", color=blue];
+ "CB Unix 1" [sides=9, distortion="-0.348692", orientation=42, skew="0.767058", color=firebrick];
+ "USG 2.0" [distortion="0.748625", orientation=74, skew="-0.647656", color=chartreuse4];
+ "CB Unix 2" [sides=10, distortion="0.851818", orientation=32, skew="-0.020120", color=greenyellow];
+ "CB Unix 3" [sides=10, distortion="0.992237", orientation=29, skew="0.256102", color=bisque4];
+ "Unix/TS++" [sides=6, distortion="0.545461", orientation=16, skew="0.313589", color=mistyrose2];
+ "PDP-11 Sys V" [sides=9, distortion="-0.267769", orientation=40, skew="0.271226", color=cadetblue1];
+ "USG 3.0" [distortion="-0.848455", orientation=44, skew="0.267152", color=bisque2];
+ "Unix/TS 1.0" [distortion="0.305594", orientation=75, skew="0.070516", color=orangered];
+ "TS 4.0" [sides=10, distortion="-0.641701", orientation=50, skew="-0.952502", color=crimson];
+ "System V.0" [sides=9, distortion="0.021556", orientation=26, skew="-0.729938", color=darkorange1];
+ "System V.2" [sides=6, distortion="0.985153", orientation=33, skew="-0.399752", color=darkolivegreen4];
+ "System V.3" [sides=7, distortion="-0.687574", orientation=58, skew="-0.180116", color=lightsteelblue1];
+ "5th Edition" -> "6th Edition";
+ "5th Edition" -> "PWB 1.0";
+ "6th Edition" -> LSX;
+ "6th Edition" -> "1 BSD";
+ "6th Edition" -> "Mini Unix";
+ "6th Edition" -> Wollongong;
+ "6th Edition" -> Interdata;
+ Interdata -> "Unix/TS 3.0";
+ Interdata -> "PWB 2.0";
+ Interdata -> "7th Edition";
+ "7th Edition" -> "8th Edition";
+ "7th Edition" -> "32V";
+ "7th Edition" -> V7M;
+ "7th Edition" -> "Ultrix-11";
+ "7th Edition" -> Xenix;
+ "7th Edition" -> "UniPlus+";
+ V7M -> "Ultrix-11";
+ "8th Edition" -> "9th Edition";
+ "1 BSD" -> "2 BSD";
+ "2 BSD" -> "2.8 BSD";
+ "2.8 BSD" -> "Ultrix-11";
+ "2.8 BSD" -> "2.9 BSD";
+ "32V" -> "3 BSD";
+ "3 BSD" -> "4 BSD";
+ "4 BSD" -> "4.1 BSD";
+ "4.1 BSD" -> "4.2 BSD";
+ "4.1 BSD" -> "2.8 BSD";
+ "4.1 BSD" -> "8th Edition";
+ "4.2 BSD" -> "4.3 BSD";
+ "4.2 BSD" -> "Ultrix-32";
+ "PWB 1.0" -> "PWB 1.2";
+ "PWB 1.0" -> "USG 1.0";
+ "PWB 1.2" -> "PWB 2.0";
+ "USG 1.0" -> "CB Unix 1";
+ "USG 1.0" -> "USG 2.0";
+ "CB Unix 1" -> "CB Unix 2";
+ "CB Unix 2" -> "CB Unix 3";
+ "CB Unix 3" -> "Unix/TS++";
+ "CB Unix 3" -> "PDP-11 Sys V";
+ "USG 2.0" -> "USG 3.0";
+ "USG 3.0" -> "Unix/TS 3.0";
+ "PWB 2.0" -> "Unix/TS 3.0";
+ "Unix/TS 1.0" -> "Unix/TS 3.0";
+ "Unix/TS 3.0" -> "TS 4.0";
+ "Unix/TS++" -> "TS 4.0";
+ "CB Unix 3" -> "TS 4.0";
+ "TS 4.0" -> "System V.0";
+ "System V.0" -> "System V.2";
+ "System V.2" -> "System V.3";
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ctext.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ctext.gv
new file mode 100644
index 0000000..71e8cd3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ctext.gv
@@ -0,0 +1,17 @@
+digraph G {
+ xyz [label = "hello\nworld",color="slateblue",fontsize=24,fontname="Palatino-Italic",style=filled,fontcolor="hotpink"];
+ node [style=filled];
+ red [color=red];
+ green [color=green];
+ blue [color=blue,fontcolor=black];
+ cyan [color=cyan];
+ magenta [color=magenta];
+ yellow [color=yellow];
+ orange [color=orange];
+ red -> green;
+ red -> blue;
+ blue -> cyan;
+ blue -> magenta;
+ green -> yellow;
+ green -> orange;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/dfa.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/dfa.gv
new file mode 100644
index 0000000..fde0680
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/dfa.gv
@@ -0,0 +1,34 @@
+digraph g {
+"start" [ label = "MWGC-" ];
+"n1" [ label = "WC-MG" ];
+"n2" [ label = "MWC-G" ];
+"n3" [ label = "C-MWG" ];
+"n4" [ label = "W-MGC" ];
+"n5" [ label = "MGC-W" ];
+"n6" [ label = "MWG-C" ];
+"n7" [ label = "G-MWC" ];
+"n8" [ label = "MG-WC" ];
+"n9" [ label = "-MWGC" ];
+"start" -> "n1" [ label = "g" ];
+"n1" -> "start" [ label = "g" ];
+subgraph l { rank = same; "n3" "n4" }
+subgraph r { rank = same; "n5" "n6" }
+"n1" -> "n2" [ label = "m" ];
+"n2" -> "n1" [ label = "m" ];
+"n2" -> "n3" [ label = "w" ];
+"n3" -> "n2" [ label = "w" ];
+"n2" -> "n4" [ label = "c" ];
+"n4" -> "n2" [ label = "c" ];
+"n3" -> "n5" [ label = "g" ];
+"n5" -> "n3" [ label = "g" ];
+"n4" -> "n6" [ label = "g" ];
+"n6" -> "n4" [ label = "g" ];
+"n5" -> "n7" [ label = "c" ];
+"n7" -> "n5" [ label = "c" ];
+"n6" -> "n7" [ label = "w" ];
+"n7" -> "n6" [ label = "w" ];
+"n7" -> "n8" [ label = "m" ];
+"n8" -> "n7" [ label = "m" ];
+"n8" -> "n9" [ label = "g" ];
+"n9" -> "n8" [ label = "g" ];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fig6.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fig6.gv
new file mode 100644
index 0000000..8749fd3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fig6.gv
@@ -0,0 +1,74 @@
+digraph G {
+ size = "8,8";
+ {rank=min S8 S24 S1 S35 S30}
+ {rank=max T8 T24 T1 T35 T30}
+ S8 -> 9;
+ S24 -> 27;
+ S24 -> 25;
+ S1 -> 10;
+ S1 -> 2;
+ S35 -> 36;
+ S35 -> 43;
+ S30 -> 31;
+ S30 -> 33;
+ 9 -> 42;
+ 9 -> T1;
+ 25 -> T1;
+ 25 -> 26;
+ 27 -> T24;
+ 2 -> 3;
+ 2 -> 16;
+ 2 -> 17;
+ 2 -> T1;
+ 2 -> 18;
+ 10 -> 11;
+ 10 -> 14;
+ 10 -> T1;
+ 10 -> 13;
+ 10 -> 12;
+ 31 -> T1;
+ 31 -> 32;
+ 33 -> T30;
+ 33 -> 34;
+ 42 -> 4;
+ 26 -> 4;
+ 3 -> 4;
+ 16 -> 15;
+ 17 -> 19;
+ 18 -> 29;
+ 11 -> 4;
+ 14 -> 15;
+ 37 -> 39;
+ 37 -> 41;
+ 37 -> 38;
+ 37 -> 40;
+ 13 -> 19;
+ 12 -> 29;
+ 43 -> 38;
+ 43 -> 40;
+ 36 -> 19;
+ 32 -> 23;
+ 34 -> 29;
+ 39 -> 15;
+ 41 -> 29;
+ 38 -> 4;
+ 40 -> 19;
+ 4 -> 5;
+ 19 -> 21;
+ 19 -> 20;
+ 19 -> 28;
+ 5 -> 6;
+ 5 -> T35;
+ 5 -> 23;
+ 21 -> 22;
+ 20 -> 15;
+ 28 -> 29;
+ 6 -> 7;
+ 15 -> T1;
+ 22 -> 23;
+ 22 -> T35;
+ 29 -> T30;
+ 7 -> T8;
+ 23 -> T24;
+ 23 -> T1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fsm.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fsm.gv
new file mode 100644
index 0000000..9243e5a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/fsm.gv
@@ -0,0 +1,20 @@
+digraph finite_state_machine {
+
+ node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
+ node [shape = circle];
+ rankdir=LR;
+ LR_0 -> LR_2 [ label = "SS(B)" ];
+ LR_0 -> LR_1 [ label = "SS(S)" ];
+ LR_1 -> LR_3 [ label = "S($end)" ];
+ LR_2 -> LR_6 [ label = "SS(b)" ];
+ LR_2 -> LR_5 [ label = "SS(a)" ];
+ LR_2 -> LR_4 [ label = "S(A)" ];
+ LR_5 -> LR_7 [ label = "S(b)" ];
+ LR_5 -> LR_5 [ label = "S(a)" ];
+ LR_6 -> LR_6 [ label = "S(b)" ];
+ LR_6 -> LR_5 [ label = "S(a)" ];
+ LR_7 -> LR_8 [ label = "S(b)" ];
+ LR_7 -> LR_5 [ label = "S(a)" ];
+ LR_8 -> LR_6 [ label = "S(b)" ];
+ LR_8 -> LR_5 [ label = "S(a)" ];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/grammar.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/grammar.gv
new file mode 100644
index 0000000..3417211
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/grammar.gv
@@ -0,0 +1,71 @@
+digraph L0 {
+ size = "8,8";
+ ordering=out;
+ node [shape = box];
+
+ n0 [label="E"];
+ n1 [label="T"];
+ n2 [label="F"];
+ n3 [label="IDENT : a "];
+ n4 [label="+"];
+ n5 [label="T"];
+ n6 [label="F"];
+ n7 [label="("];
+ n8 [label="E"];
+ n9 [label="T"];
+ n10 [label="F"];
+ n11 [label="IDENT : b "];
+ n12 [label="*"];
+ n13 [label="F"];
+ n14 [label="IDENT : c "];
+ n15 [label=")"];
+ n16 [label="*"];
+ n17 [label="F"];
+ n18 [label="("];
+ n19 [label="E"];
+ n20 [label="T"];
+ n21 [label="F"];
+ n22 [label="IDENT : d "];
+ n23 [label="*"];
+ n24 [label="F"];
+ n25 [label="IDENT : e "];
+ n26 [label="+"];
+ n27 [label="T"];
+ n28 [label="F"];
+ n29 [label="("];
+ n30 [label="E"];
+ n31 [label="T"];
+ n32 [label="F"];
+ n33 [label="IDENT : a "];
+ n34 [label="*"];
+ n35 [label="F"];
+ n36 [label="IDENT : b "];
+ n37 [label=")"];
+ n38 [label=")"];
+ n39 [label="+"];
+ n40 [label="T"];
+ n41 [label="F"];
+ n42 [label="IDENT : q "];
+ n0 -> { n1 n4 n5 n39 n40 };
+ n1 -> n2 ;
+ n2 -> n3 ;
+ n5 -> { n6 n16 n17 };
+ n6 -> { n7 n8 n15 };
+ n8 -> n9 ;
+ n9 -> { n10 n12 n13 };
+ n10 -> n11 ;
+ n13 -> n14 ;
+ n17 -> { n18 n19 n38 };
+ n19 -> { n20 n26 n27 };
+ n20 -> { n21 n23 n24 };
+ n21 -> n22 ;
+ n24 -> n25 ;
+ n27 -> n28 ;
+ n28 -> { n29 n30 n37 };
+ n30 -> n31 ;
+ n31 -> { n32 n34 n35 };
+ n32 -> n33 ;
+ n35 -> n36 ;
+ n40 -> n41 ;
+ n41 -> n42 ;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/hashtable.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/hashtable.gv
new file mode 100644
index 0000000..8659cb4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/hashtable.gv
@@ -0,0 +1,23 @@
+digraph G {
+ nodesep=.05;
+ rankdir=LR;
+ node [shape=record,width=.1,height=.1];
+
+ node0 [label = "<f0> |<f1> |<f2> |<f3> |<f4> |<f5> |<f6> | ",height=2.0];
+ node [width = 1.5];
+ node1 [label = "{<n> n14 | 719 |<p> }"];
+ node2 [label = "{<n> a1 | 805 |<p> }"];
+ node3 [label = "{<n> i9 | 718 |<p> }"];
+ node4 [label = "{<n> e5 | 989 |<p> }"];
+ node5 [label = "{<n> t20 | 959 |<p> }"] ;
+ node6 [label = "{<n> o15 | 794 |<p> }"] ;
+ node7 [label = "{<n> s19 | 659 |<p> }"] ;
+
+ node0:f0 -> node1:n;
+ node0:f1 -> node2:n;
+ node0:f2 -> node3:n;
+ node0:f5 -> node4:n;
+ node0:f6 -> node5:n;
+ node2:p -> node6:n;
+ node4:p -> node7:n;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/honda-tokoro.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/honda-tokoro.gv
new file mode 100644
index 0000000..38dcc18
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/honda-tokoro.gv
@@ -0,0 +1,76 @@
+digraph "Honda-Tokoro" {
+rankdir="LR" ranksep="0.2" edge[labelfontsize="8" fontsize="8" labeldistance="0.8" arrowsize="0.9" labelangle="-30" dir="none"] nodesep="0.2" node[width="0" height="0" fontsize="10"]
+
+/*Net net00*/
+
+n000 [label="z"]
+n001->n000 [headlabel=":s:" arrowhead="invdot"]
+n001 [label="m"]
+n002->n001 [samehead="m002" headlabel=":r:" samearrowhead="1" arrowhead="invdot" arrowtail="inv"]
+n002 [label="p1"]
+n003->n002 [headlabel=":s:" arrowhead="dot"]
+n003 [label="b"]
+n004->n003
+n004 [label="x1"]
+n022->n004 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"]
+n003->n002 [samehead="m000" fontsize="8" samearrowhead="1" arrowtail="inv"]
+n005->n002 [samehead="m000" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
+n005->n001 [samehead="m002" samearrowhead="1"]
+n005 [label="b"]
+n006->n005 [arrowtail="inv"]
+n006 [label="p2"]
+n007->n006 [headlabel=":s:" arrowhead="dot"]
+n007 [label="b"]
+n008->n007
+n008 [label="x2"]
+n022->n008 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="invdot"]
+n007->n006 [samehead="m001" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
+n009->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"]
+n009 [label="b2"]
+n022->n009 [fontsize="8"]
+n022->n009 [fontsize="8"]
+n010->n006 [samehead="m001" samearrowhead="1" arrowtail="inv"]
+n010 [label="b2"]
+n022->n010 [fontsize="8"]
+n022->n010 [fontsize="8"]
+n011->n000 [headlabel=":r:" arrowhead="invdot" arrowtail="inv"]
+n011 [label="n"]
+n012->n011 [samehead="m005" headlabel=":s:" samearrowhead="1" arrowhead="dot"]
+n012 [label="b"]
+n013->n012
+n013 [label="c1"]
+n014->n013 [headlabel=":r:" arrowhead="invdot"]
+n014 [label="b"]
+n015->n014 [arrowtail="inv"]
+n015 [label="y1"]
+n023->n015 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"]
+n016->n015 [samehead="m003" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
+n018->n015 [samehead="m003" fontsize="8" samearrowhead="1" arrowtail="inv"]
+n014->n011 [samehead="m006" headlabel=":u:" fontsize="8" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
+n012->n011 [samehead="m006" fontsize="8" samearrowhead="1" arrowtail="inv"]
+n016->n011 [samehead="m005" samearrowhead="1"]
+n016 [label="b"]
+n017->n016
+n017 [label="c2"]
+n018->n017 [headlabel=":r:" arrowhead="invdot"]
+n018 [label="b"]
+n019->n018 [arrowtail="inv"]
+n019 [label="y2"]
+n023->n019 [weight="0" headlabel=":s/r:" fontsize="8" arrowhead="dot"]
+n020->n019 [samehead="m004" headlabel=":u:" samearrowhead="1" arrowhead="dot" arrowtail="inv"]
+n020 [label="b2"]
+n023->n020 [fontsize="8"]
+n023->n020 [fontsize="8"]
+n021->n019 [samehead="m004" samearrowhead="1" arrowtail="inv"]
+n021 [label="b2"]
+n023->n021 [fontsize="8"]
+n023->n021 [fontsize="8"]
+n022 [width="0.5" label="[P]" shape="box" style="dashed" height="0.35"]
+n023 [width="0.5" label="[Q]" shape="box" style="dashed" height="0.35"]
+{/*L=x1*/rank=same n004 n015}
+{/*L=p1*/rank=same n002 n013}
+{/*L=b*/rank=same n009 n010 n020 n021}
+{/*L=x2*/rank=same n008 n019}
+{/*L=p2*/rank=same n006 n017}
+{/*L=m*/rank=same n001 n011}
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jcctree.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jcctree.gv
new file mode 100644
index 0000000..9c557df
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jcctree.gv
@@ -0,0 +1,44 @@
+digraph "tree" {
+// The problem disappeared when I removed the "ELEM3 -> ID5;" line!
+//size="4,5";
+ordering=out;
+node [shape=plaintext];
+SPEC -> DEF2;
+SPEC -> DEF1;
+DEF1 -> ID1;
+DEF1 -> SET1;
+DEF1 -> SC1;
+DEF2 -> ID2;
+DEF2 -> SET2;
+DEF2 -> SC2;
+SET1 -> OPEN1;
+SET1 -> ELEM1;
+SET1 -> SC3;
+SET1 -> ELEM2;
+SET1 -> CLOSE1;
+ELEM1 -> ID3;
+SET2 -> OPEN2;
+SET2 -> ELEM3;
+SET2 -> CLOSE2;
+ELEM2 -> ID4;
+ELEM3 -> ID5;
+DEF1 [label=DEF];
+DEF2 [label=DEF];
+SET1 [label=SET];
+SC1 [label=";"];
+SC3 [label=";"];
+SET2 [label=SET];
+SC2 [label=";"];
+OPEN1 [label="{"];
+OPEN2 [label="{"];
+CLOSE1 [label="}"];
+CLOSE2 [label="}"];
+ELEM1 [label=ELEMENT];
+ELEM2 [label=ELEMENT];
+ELEM3 [label=ELEMENT];
+ID1 [label=cities];
+ID2 [label=insects];
+ID3 [label=andover];
+ID4 [label=boston];
+ID5 [label=fly];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jsort.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jsort.gv
new file mode 100644
index 0000000..ccfc7f7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/jsort.gv
@@ -0,0 +1,150 @@
+digraph prof {
+ size="6,4"; ratio = fill;
+ node [style=filled];
+ start -> main [color="0.002 0.999 0.999"];
+ start -> on_exit [color="0.649 0.701 0.701"];
+ main -> sort [color="0.348 0.839 0.839"];
+ main -> merge [color="0.515 0.762 0.762"];
+ main -> term [color="0.647 0.702 0.702"];
+ main -> signal [color="0.650 0.700 0.700"];
+ main -> sbrk [color="0.650 0.700 0.700"];
+ main -> unlink [color="0.650 0.700 0.700"];
+ main -> newfile [color="0.650 0.700 0.700"];
+ main -> fclose [color="0.650 0.700 0.700"];
+ main -> close [color="0.650 0.700 0.700"];
+ main -> brk [color="0.650 0.700 0.700"];
+ main -> setbuf [color="0.650 0.700 0.700"];
+ main -> copyproto [color="0.650 0.700 0.700"];
+ main -> initree [color="0.650 0.700 0.700"];
+ main -> safeoutfil [color="0.650 0.700 0.700"];
+ main -> getpid [color="0.650 0.700 0.700"];
+ main -> sprintf [color="0.650 0.700 0.700"];
+ main -> creat [color="0.650 0.700 0.700"];
+ main -> rem [color="0.650 0.700 0.700"];
+ main -> oldfile [color="0.650 0.700 0.700"];
+ sort -> msort [color="0.619 0.714 0.714"];
+ sort -> filbuf [color="0.650 0.700 0.700"];
+ sort -> newfile [color="0.650 0.700 0.700"];
+ sort -> fclose [color="0.650 0.700 0.700"];
+ sort -> setbuf [color="0.650 0.700 0.700"];
+ sort -> setfil [color="0.650 0.700 0.700"];
+ msort -> qsort [color="0.650 0.700 0.700"];
+ msort -> insert [color="0.650 0.700 0.700"];
+ msort -> wline [color="0.650 0.700 0.700"];
+ msort -> div [color="0.650 0.700 0.700"];
+ msort -> cmpsave [color="0.650 0.700 0.700"];
+ merge -> insert [color="0.650 0.700 0.700"];
+ merge -> rline [color="0.650 0.700 0.700"];
+ merge -> wline [color="0.650 0.700 0.700"];
+ merge -> unlink [color="0.650 0.700 0.700"];
+ merge -> fopen [color="0.650 0.700 0.700"];
+ merge -> fclose [color="0.650 0.700 0.700"];
+ merge -> setfil [color="0.650 0.700 0.700"];
+ merge -> mul [color="0.650 0.700 0.700"];
+ merge -> setbuf [color="0.650 0.700 0.700"];
+ merge -> cmpsave [color="0.650 0.700 0.700"];
+ insert -> cmpa [color="0.650 0.700 0.700"];
+ wline -> flsbuf [color="0.649 0.700 0.700"];
+ qsort -> cmpa [color="0.650 0.700 0.700"];
+ rline -> filbuf [color="0.649 0.700 0.700"];
+ xflsbuf -> write [color="0.650 0.700 0.700"];
+ flsbuf -> xflsbuf [color="0.649 0.700 0.700"];
+ filbuf -> read [color="0.650 0.700 0.700"];
+ term -> unlink [color="0.650 0.700 0.700"];
+ term -> signal [color="0.650 0.700 0.700"];
+ term -> setfil [color="0.650 0.700 0.700"];
+ term -> exit [color="0.650 0.700 0.700"];
+ endopen -> open [color="0.650 0.700 0.700"];
+ fopen -> endopen [color="0.639 0.705 0.705"];
+ fopen -> findiop [color="0.650 0.700 0.700"];
+ newfile -> fopen [color="0.634 0.707 0.707"];
+ newfile -> setfil [color="0.650 0.700 0.700"];
+ fclose -> fflush [color="0.642 0.704 0.704"];
+ fclose -> close [color="0.650 0.700 0.700"];
+ fflush -> xflsbuf [color="0.635 0.707 0.707"];
+ malloc -> morecore [color="0.325 0.850 0.850"];
+ malloc -> demote [color="0.650 0.700 0.700"];
+ morecore -> sbrk [color="0.650 0.700 0.700"];
+ morecore -> getfreehdr [color="0.650 0.700 0.700"];
+ morecore -> free [color="0.650 0.700 0.700"];
+ morecore -> getpagesize [color="0.650 0.700 0.700"];
+ morecore -> putfreehdr [color="0.650 0.700 0.700"];
+ morecore -> udiv [color="0.650 0.700 0.700"];
+ morecore -> umul [color="0.650 0.700 0.700"];
+ on_exit -> malloc [color="0.325 0.850 0.850"];
+ signal -> sigvec [color="0.650 0.700 0.700"];
+ moncontrol -> profil [color="0.650 0.700 0.700"];
+ getfreehdr -> sbrk [color="0.650 0.700 0.700"];
+ free -> insert [color="0.650 0.700 0.700"];
+ insert -> getfreehdr [color="0.650 0.700 0.700"];
+ setfil -> div [color="0.650 0.700 0.700"];
+ setfil -> rem [color="0.650 0.700 0.700"];
+ sigvec -> sigblock [color="0.650 0.700 0.700"];
+ sigvec -> sigsetmask [color="0.650 0.700 0.700"];
+ doprnt -> urem [color="0.650 0.700 0.700"];
+ doprnt -> udiv [color="0.650 0.700 0.700"];
+ doprnt -> strlen [color="0.650 0.700 0.700"];
+ doprnt -> localeconv [color="0.650 0.700 0.700"];
+ sprintf -> doprnt [color="0.650 0.700 0.700"];
+cmpa [color="0.000 1.000 1.000"];
+wline [color="0.201 0.753 1.000"];
+insert [color="0.305 0.625 1.000"];
+rline [color="0.355 0.563 1.000"];
+sort [color="0.408 0.498 1.000"];
+qsort [color="0.449 0.447 1.000"];
+write [color="0.499 0.386 1.000"];
+read [color="0.578 0.289 1.000"];
+msort [color="0.590 0.273 1.000"];
+merge [color="0.603 0.258 1.000"];
+unlink [color="0.628 0.227 1.000"];
+filbuf [color="0.641 0.212 1.000"];
+open [color="0.641 0.212 1.000"];
+sbrk [color="0.647 0.204 1.000"];
+signal [color="0.647 0.204 1.000"];
+moncontrol [color="0.647 0.204 1.000"];
+xflsbuf [color="0.650 0.200 1.000"];
+flsbuf [color="0.650 0.200 1.000"];
+div [color="0.650 0.200 1.000"];
+cmpsave [color="0.650 0.200 1.000"];
+rem [color="0.650 0.200 1.000"];
+setfil [color="0.650 0.200 1.000"];
+close [color="0.650 0.200 1.000"];
+fclose [color="0.650 0.200 1.000"];
+fflush [color="0.650 0.200 1.000"];
+setbuf [color="0.650 0.200 1.000"];
+endopen [color="0.650 0.200 1.000"];
+findiop [color="0.650 0.200 1.000"];
+fopen [color="0.650 0.200 1.000"];
+mul [color="0.650 0.200 1.000"];
+newfile [color="0.650 0.200 1.000"];
+sigblock [color="0.650 0.200 1.000"];
+sigsetmask [color="0.650 0.200 1.000"];
+sigvec [color="0.650 0.200 1.000"];
+udiv [color="0.650 0.200 1.000"];
+urem [color="0.650 0.200 1.000"];
+brk [color="0.650 0.200 1.000"];
+getfreehdr [color="0.650 0.200 1.000"];
+strlen [color="0.650 0.200 1.000"];
+umul [color="0.650 0.200 1.000"];
+doprnt [color="0.650 0.200 1.000"];
+copyproto [color="0.650 0.200 1.000"];
+creat [color="0.650 0.200 1.000"];
+demote [color="0.650 0.200 1.000"];
+exit [color="0.650 0.200 1.000"];
+free [color="0.650 0.200 1.000"];
+getpagesize [color="0.650 0.200 1.000"];
+getpid [color="0.650 0.200 1.000"];
+initree [color="0.650 0.200 1.000"];
+insert [color="0.650 0.200 1.000"];
+localeconv [color="0.650 0.200 1.000"];
+main [color="0.650 0.200 1.000"];
+malloc [color="0.650 0.200 1.000"];
+morecore [color="0.650 0.200 1.000"];
+oldfile [color="0.650 0.200 1.000"];
+on_exit [color="0.650 0.200 1.000"];
+profil [color="0.650 0.200 1.000"];
+putfreehdr [color="0.650 0.200 1.000"];
+safeoutfil [color="0.650 0.200 1.000"];
+sprintf [color="0.650 0.200 1.000"];
+term [color="0.650 0.200 1.000"];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ldbxtried.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ldbxtried.gv
new file mode 100644
index 0000000..5bacb11
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/ldbxtried.gv
@@ -0,0 +1,416 @@
+digraph g {
+graph [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+node [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+shape = "box"
+color = "black"
+width = "0.5"
+style = "filled"
+];
+edge [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"n0" [
+label = "18519\n?"
+color = "lightblue"
+];
+"n1" [
+label = "4836"
+shape = "ellipse"
+color = "maroon1"
+];
+"n2" [
+label = "ttyqa"
+shape = "ellipse"
+color = "maroon1"
+];
+"n448" [
+label = "21079\nlefty"
+color = "lightblue"
+];
+"n449" [
+label = "tried.lefty"
+shape = "ellipse"
+color = "maroon1"
+];
+"n454" [
+fontsize = "7"
+label = "bunting\n6000"
+shape = "doublecircle"
+color = "green"
+];
+"n460" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n461" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n462" [
+label = "21084\ntried"
+color = "lightblue"
+];
+"n464" [
+label = "21086\nldbx"
+color = "lightblue"
+];
+"n466" [
+label = "ldbx"
+shape = "ellipse"
+color = "maroon1"
+];
+"n468" [
+label = "21087\nlefty"
+color = "lightblue"
+];
+"n469" [
+label = "sh21086.1"
+shape = "ellipse"
+color = "maroon1"
+];
+"n474" [
+fontsize = "7"
+label = "bunting\n6000"
+shape = "doublecircle"
+color = "green"
+];
+"n479" [
+label = "ldbx.lefty"
+shape = "ellipse"
+color = "maroon1"
+];
+"n482" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n483" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n484" [
+label = "21088\ndot"
+color = "lightblue"
+];
+"n486" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n487" [
+label = ""
+shape = "doublecircle"
+color = "yellow"
+];
+"n488" [
+label = "21089\nxterm"
+color = "lightblue"
+];
+"n496" [
+fontsize = "7"
+label = "bunting\n6000"
+shape = "doublecircle"
+color = "green"
+];
+"n500" [
+label = "ptyq2"
+shape = "ellipse"
+color = "maroon1"
+];
+"n503" [
+label = "21090\nldbxmp"
+color = "lightblue"
+];
+"n505" [
+label = "ttyq2"
+shape = "ellipse"
+color = "maroon1"
+];
+"n512" [
+label = "ptyq5"
+shape = "ellipse"
+color = "maroon1"
+];
+"n513" [
+label = "ttyq5"
+shape = "ellipse"
+color = "maroon1"
+];
+"n514" [
+label = "21091\ndbx"
+color = "lightblue"
+];
+"n518" [
+label = "tty"
+shape = "ellipse"
+color = "maroon1"
+];
+"n526" [
+label = "delaunay.c"
+shape = "ellipse"
+color = "maroon1"
+];
+subgraph "cluster0" {
+graph [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+label = "toucan"
+color = "black"
+];
+node [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+shape = "box"
+color = "black"
+width = "0.5"
+style = "filled"
+];
+edge [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"n0"
+"n468"
+"n486"
+"n460"
+"n487"
+"n514"
+"n461"
+"n488"
+"n462"
+"n464"
+"n482"
+"n483"
+"n448"
+"n484"
+"n503"
+}
+"n0" -> "n1" [
+dir = "both"
+];
+"n0" -> "n2" [
+dir = "both"
+];
+"n0" -> "n2" [
+dir = "both"
+];
+"n0" -> "n2" [
+dir = "both"
+];
+"n0" -> "n448" [
+style = "dotted"
+];
+"n448" -> "n2" [
+dir = "both"
+];
+"n448" -> "n2" [
+dir = "both"
+];
+"n448" -> "n2" [
+dir = "both"
+];
+"n448" -> "n449" [
+dir = "back"
+];
+"n448" -> "n454" [
+dir = "both"
+];
+"n448" -> "n460" [
+dir = "back"
+];
+"n448" -> "n461" [
+dir = "forward"
+];
+"n448" -> "n462" [
+style = "dotted"
+];
+"n462" -> "n2" [
+dir = "both"
+];
+"n462" -> "n2" [
+dir = "both"
+];
+"n462" -> "n2" [
+dir = "both"
+];
+"n462" -> "n449" [
+dir = "back"
+];
+"n462" -> "n460" [
+dir = "forward"
+];
+"n462" -> "n461" [
+dir = "back"
+];
+"n462" -> "n460" [
+dir = "forward"
+];
+"n462" -> "n461" [
+dir = "back"
+];
+"n0" -> "n464" [
+style = "dotted"
+];
+"n464" -> "n2" [
+dir = "both"
+];
+"n464" -> "n2" [
+dir = "both"
+];
+"n464" -> "n2" [
+dir = "both"
+];
+"n464" -> "n466" [
+dir = "back"
+];
+"n464" -> "n468" [
+style = "dotted"
+];
+"n468" -> "n2" [
+dir = "both"
+];
+"n468" -> "n2" [
+dir = "both"
+];
+"n468" -> "n469" [
+dir = "back"
+];
+"n468" -> "n474" [
+dir = "both"
+];
+"n468" -> "n479" [
+dir = "back"
+];
+"n468" -> "n482" [
+dir = "back"
+];
+"n468" -> "n483" [
+dir = "forward"
+];
+"n468" -> "n484" [
+style = "dotted"
+];
+"n484" -> "n2" [
+dir = "both"
+];
+"n484" -> "n483" [
+dir = "back"
+];
+"n484" -> "n479" [
+dir = "back"
+];
+"n484" -> "n482" [
+dir = "forward"
+];
+"n468" -> "n486" [
+dir = "back"
+];
+"n468" -> "n487" [
+dir = "forward"
+];
+"n468" -> "n488" [
+style = "dotted"
+];
+"n488" -> "n486" [
+dir = "forward"
+];
+"n488" -> "n2" [
+dir = "both"
+];
+"n488" -> "n487" [
+dir = "back"
+];
+"n488" -> "n469" [
+dir = "back"
+];
+"n488" -> "n2" [
+dir = "both"
+];
+"n488" -> "n479" [
+dir = "back"
+];
+"n488" -> "n496" [
+dir = "both"
+];
+"n488" -> "n500" [
+dir = "both"
+];
+"n488" -> "n503" [
+style = "dotted"
+];
+"n503" -> "n479" [
+dir = "back"
+];
+"n503" -> "n486" [
+dir = "forward"
+];
+"n503" -> "n487" [
+dir = "back"
+];
+"n503" -> "n505" [
+dir = "both"
+];
+"n503" -> "n505" [
+dir = "both"
+];
+"n503" -> "n505" [
+dir = "forward"
+];
+"n503" -> "n512" [
+dir = "both"
+];
+"n503" -> "n514" [
+style = "dotted"
+];
+"n514" -> "n487" [
+dir = "back"
+];
+"n514" -> "n486" [
+dir = "forward"
+];
+"n514" -> "n479" [
+dir = "back"
+];
+"n514" -> "n505" [
+dir = "forward"
+];
+"n503" -> "n486" [
+dir = "forward"
+];
+"n514" -> "n518" [
+dir = "back"
+];
+"n514" -> "n513" [
+dir = "both"
+];
+"n514" -> "n513" [
+dir = "both"
+];
+"n514" -> "n518" [
+dir = "back"
+];
+"n514" -> "n526" [
+dir = "back"
+];
+"n503" -> "n487" [
+dir = "back"
+];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/longflat.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/longflat.gv
new file mode 100644
index 0000000..644d677
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/longflat.gv
@@ -0,0 +1,7 @@
+digraph if
+{
+rankdir=LR;
+ {rank=same;b;c;}
+ a->b;
+ c->b[label="long long long"];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/mike.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/mike.gv
new file mode 100644
index 0000000..bf049af
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/mike.gv
@@ -0,0 +1,42 @@
+digraph mike{
+size = "8,8";
+ a -> A;
+ a -> m;
+ a -> E;
+ t -> O;
+ r -> V;
+ r -> Q;
+ p -> B;
+ m -> R;
+ l -> C;
+ c -> C;
+ W -> X;
+ W -> D;
+ V -> W;
+ T -> U;
+ Q -> T;
+ Q -> H;
+ Q -> A;
+ O -> K;
+ L -> U;
+ K -> L;
+ K -> J;
+ K -> E;
+ J -> I;
+ R -> B;
+ P -> F;
+ H -> R;
+ H -> P;
+ U -> H;
+ G -> U;
+ E -> G;
+ C -> Z;
+ C -> D;
+ S -> D;
+ B -> N;
+ B -> D;
+ B -> S;
+ M -> B;
+ A -> M;
+ N -> Y;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/nhg.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/nhg.gv
new file mode 100644
index 0000000..826e404
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/nhg.gv
@@ -0,0 +1,13 @@
+digraph automata_0 {
+ size ="8.5, 11";
+ node [shape = circle];
+ 0 [ style = filled, color=lightgrey ];
+ 2 [ shape = doublecircle ];
+ 0 -> 2 [ label = "a " ];
+ 0 -> 1 [ label = "other " ];
+ 1 -> 2 [ label = "a " ];
+ 1 -> 1 [ label = "other " ];
+ 2 -> 2 [ label = "a " ];
+ 2 -> 1 [ label = "other " ];
+ "Machine: a" [ shape = plaintext ];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/oldarrows.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/oldarrows.gv
new file mode 100644
index 0000000..49416d6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/oldarrows.gv
@@ -0,0 +1,57 @@
+digraph G {
+ // leave some space for the head/taillabels
+ graph [ranksep=1.5 splines=true overlap=false]
+
+ // to avoid confusion, remember this:
+ // it's spelt tail/head, but it's read start/end
+
+ // emphasize theatrically
+ // show only explicitly given head/tails
+ // put head/tail labels farther from the node
+// edge [arrowsize=2 dir=none labeldistance=3]
+ edge [dir=none labeldistance=3]
+
+ // not interested in node labels
+ node [shape=circle width=0.5 label=""]
+
+ {
+ edge [samehead=ahead samearrowhead=1]
+ a->Z [arrowtail=none taillabel=none]
+ b->Z [arrowtail=normal taillabel=normal]
+ c->Z [arrowtail=inv taillabel=inv]
+ d->Z [arrowtail=dot taillabel=dot]
+ e->Z [arrowtail=odot taillabel=odot]
+ f->Z [arrowtail=invdot taillabel=invdot]
+ g->Z [arrowtail=invodot taillabel=invodot]
+ h->Z [arrowtail=open taillabel=open]
+ i->Z [arrowtail=halfopen taillabel=halfopen arrowhead=inv headlabel=samehead]
+ j->Z [arrowtail=empty taillabel=empty]
+ k->Z [arrowtail=invempty taillabel=invempty]
+ l->Z [arrowtail=diamond taillabel=diamond]
+ m->Z [arrowtail=odiamond taillabel=odiamond]
+ n->Z [arrowtail=box taillabel=box]
+ o->Z [arrowtail=obox taillabel=obox]
+ p->Z [arrowtail=tee taillabel=tee]
+ q->Z [arrowtail=crow taillabel=crow]
+ }
+ {
+ edge [sametail=atail samearrowtail=1]
+ Z->A [arrowhead=none headlabel=none]
+ Z->B [arrowhead=normal headlabel=normal]
+ Z->C [arrowhead=inv headlabel=inv]
+ Z->D [arrowhead=dot headlabel=dot]
+ Z->E [arrowhead=odot headlabel=odot]
+ Z->F [arrowhead=invdot headlabel=invdot]
+ Z->G [arrowhead=invodot headlabel=invodot]
+ Z->H [arrowhead=open headlabel=open]
+ Z->I [arrowhead=halfopen headlabel=halfopen arrowtail=inv taillabel=sametail]
+ Z->J [arrowhead=empty headlabel=empty]
+ Z->K [arrowhead=invempty headlabel=invempty]
+ Z->L [arrowhead=diamond headlabel=diamond]
+ Z->M [arrowhead=odiamond headlabel=odiamond]
+ Z->N [arrowhead=box headlabel=box]
+ Z->O [arrowhead=obox headlabel=obox]
+ Z->P [arrowhead=tee headlabel=tee]
+ Z->Q [arrowhead=crow headlabel=crow]
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pgram.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pgram.gv
new file mode 100644
index 0000000..367eef7
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pgram.gv
@@ -0,0 +1,91 @@
+digraph test {
+
+ size="7,9.5";
+ page="8,10.5";
+ ratio=fill;
+ rankdir=LR;
+
+ { rank=same;
+ node [shape=house];
+ A;C;E;G;I;K;M;O;Q;S;U;W;Y;
+ node [shape=invhouse];
+ B;D;F;H;J;L;N;P;R;T;V;X;Z;
+ }
+
+ { rank=same;
+ node [shape=parallelogram];
+ "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"];
+ "a ----- long thin parallelogram";
+ "xx" [label="m"];
+ "yy" [label="a\nb\nc\nd\ne\nf"];
+ node [shape=octagon];
+ "Octagon" [label="This is a test\nof a multiline\nlabel in an\noctagon with approx\nsquare aspect"];
+ node [shape=parallelogram];
+ "Parallelogram" [label="This is a test\nof a multiline\nlabel in an\nparallelogram with approx\nsquare aspect"];
+ "a ----- long thin parallelogram";
+ "zz" [label="m"];
+ "qq" [label="a\nb\nc\nd\ne\nf"];
+ ordering=out;
+ }
+
+ Parallelogram -> A;
+ Parallelogram -> B;
+ Parallelogram -> C;
+ Parallelogram -> D;
+ Parallelogram -> E;
+ Parallelogram -> F;
+ Parallelogram -> G;
+ Parallelogram -> H;
+ Parallelogram -> I;
+ Parallelogram -> J;
+ Parallelogram -> K;
+ Parallelogram -> L;
+ Parallelogram -> M;
+ Parallelogram -> N;
+ Parallelogram -> O;
+ Parallelogram -> P;
+ Parallelogram -> Q;
+ Parallelogram -> R;
+ Parallelogram -> S;
+ Parallelogram -> T;
+ Parallelogram -> U;
+ Parallelogram -> V;
+ Parallelogram -> W;
+ Parallelogram -> X;
+ Parallelogram -> Y;
+ Parallelogram -> Z;
+
+ { rank=same;
+ node [shape=triangle];
+ a;c;e;g;i;k;m;o;q;s;u;w;y;
+ node [shape=tripleoctagon];
+ b;d;f;h;j;l;n;p;r;t;v;x;z;
+ }
+
+ a -> Parallelogram -> Octagon;
+ b -> Parallelogram -> Octagon;
+ c -> Parallelogram -> Octagon;
+ d -> Parallelogram -> Octagon;
+ e -> Parallelogram -> Octagon;
+ f -> Parallelogram -> Octagon;
+ g -> Parallelogram -> Octagon;
+ h -> Parallelogram -> Octagon;
+ i -> Parallelogram -> Octagon;
+ j -> Parallelogram -> Octagon;
+ k -> Parallelogram -> Octagon;
+ l -> Parallelogram -> Octagon;
+ m -> Parallelogram -> Octagon;
+ n -> Parallelogram -> Octagon;
+ o -> Parallelogram -> Octagon;
+ p -> Parallelogram -> Octagon;
+ q -> Parallelogram -> Octagon;
+ r -> Parallelogram -> Octagon;
+ s -> Parallelogram -> Octagon;
+ t -> Parallelogram -> Octagon;
+ u -> Parallelogram -> Octagon;
+ v -> Parallelogram -> Octagon;
+ w -> Parallelogram -> Octagon;
+ x -> Parallelogram -> Octagon;
+ y -> Parallelogram -> Octagon;
+ z -> Parallelogram -> Octagon;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pm2way.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pm2way.gv
new file mode 100644
index 0000000..98ee295
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pm2way.gv
@@ -0,0 +1,126 @@
+digraph g {
+graph [
+];
+node [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+shape = "box"
+color = "black"
+width = "0.5"
+];
+edge [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"22690" [
+label = "22690\n?"
+pname = "?"
+kind = "proc"
+];
+"22692" [
+label = "22692\ndotty"
+pname = "dotty"
+kind = "proc"
+];
+"116842+2595" [
+label = "116842+2595\n/home/ek/work/sun4/bin/dotty"
+fname = "/home/ek/work/sun4/bin/dotty"
+shape = "ellipse"
+kind = "file"
+];
+"22693" [
+label = "22693\nlefty"
+pname = "lefty"
+kind = "proc"
+];
+"182440-1" [
+label = "182440-1\n182441-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"182442-1" [
+label = "182442-1\n182443-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"22694" [
+label = "22694\ndot"
+pname = "dot"
+kind = "proc"
+];
+"4761+2595" [
+label = "4761+2595\n/home/ek/pm2.dot"
+fname = "/home/ek/pm2.dot"
+shape = "ellipse"
+kind = "file"
+];
+"22690" -> "22692" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"22692" -> "116842+2595" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"22692" -> "22693" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"22693" -> "182440-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"22693" -> "182442-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"22693" -> "22694" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"22694" -> "182440-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"22694" -> "182442-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"22693" -> "4761+2595" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pmpipe.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pmpipe.gv
new file mode 100644
index 0000000..6eea33e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/pmpipe.gv
@@ -0,0 +1,219 @@
+digraph g {
+graph [
+];
+node [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+shape = "box"
+color = "black"
+width = "0.5"
+];
+edge [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23296" [
+label = "23296\n?"
+pname = "?"
+kind = "proc"
+];
+"182948-1" [
+label = "182948-1\n182949-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"23310" [
+label = "23310\ncat"
+pname = "cat"
+kind = "proc"
+];
+"182950-1" [
+label = "182950-1\n182951-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"23311" [
+label = "23311\ncat"
+pname = "cat"
+kind = "proc"
+];
+"182952-1" [
+label = "182952-1\n182953-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"23312" [
+label = "23312\ncat"
+pname = "cat"
+kind = "proc"
+];
+"182954-1" [
+label = "182954-1\n182955-1\npipe"
+fontsize = "7"
+fname = "pipe"
+shape = "doublecircle"
+subkind = "pipe"
+kind = "file"
+];
+"23313" [
+label = "23313\ncat"
+pname = "cat"
+kind = "proc"
+];
+"79893+2568" [
+label = "79893+2568\n/usr/share/lib/termcap"
+fname = "/usr/share/lib/termcap"
+shape = "ellipse"
+kind = "file"
+];
+"85+2560" [
+label = "85+2560\n?"
+fname = "?"
+shape = "ellipse"
+kind = "file"
+];
+"23314" [
+label = "23314\ncat"
+pname = "cat"
+kind = "proc"
+];
+"4151865284+0" [
+label = "4151865284+0\n/tmp/termcap"
+fname = "/tmp/termcap"
+shape = "ellipse"
+kind = "file"
+];
+"23296" -> "23310" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23296" -> "23311" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23311" -> "182948-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"23310" -> "182948-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"23296" -> "23312" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23312" -> "182952-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"23312" -> "182950-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"23296" -> "23313" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23313" -> "182954-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"23311" -> "182950-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"23310" -> "79893+2568" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"23296" -> "85+2560" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "both"
+color = "black"
+];
+"23296" -> "23314" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+color = "black"
+];
+"23314" -> "85+2560" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "both"
+color = "black"
+];
+"23314" -> "182954-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+"23296" -> "85+2560" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "both"
+color = "black"
+];
+"23314" -> "4151865284+0" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "forward"
+color = "black"
+];
+"23313" -> "182952-1" [
+fontsize = "14"
+fontname = "Times-Roman"
+fontcolor = "black"
+dir = "back"
+color = "black"
+];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/polypoly.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/polypoly.gv
new file mode 100644
index 0000000..9c84114
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/polypoly.gv
@@ -0,0 +1,162 @@
+digraph polypoly {
+
+ size="7,9.5";
+ page="8.5,11";
+ ratio=fill;
+ node [shape=polygon];
+
+ { rank=same;
+ node [sides=0];
+ node [peripheries=1];
+ 0000 [label="M"];
+ 0001 [label="MMMMMMMMMM"];
+ 0002 [label="M\nM\nM\nM\nM\nM"];
+ 0003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ 0010 [label="M"];
+ 0011 [label="MMMMMMMMMM"];
+ 0012 [label="M\nM\nM\nM\nM\nM"];
+ 0013 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [distortion=-.3];
+ 0110 [label="M"];
+ 0111 [label="MMMMMMMMMM"];
+ 0112 [label="M\nM\nM\nM\nM\nM"];
+ 0113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ { rank=same;
+ node [sides=3];
+ node [peripheries=1];
+ node [orientation=0];
+ 3000 [label="M"];
+ 3001 [label="MMMMMMMMMM"];
+ 3002 [label="M\nM\nM\nM\nM\nM"];
+ 3003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=60];
+ 3110 [label="M"];
+ 3111 [label="MMMMMMMMMM"];
+ 3112 [label="M\nM\nM\nM\nM\nM"];
+ 3113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 3000->0000;
+ { rank=same;
+ node [sides=4];
+ node [peripheries=1];
+ node [orientation=0];
+ 4000 [label="M"];
+ 4001 [label="MMMMMMMMMM"];
+ 4002 [label="M\nM\nM\nM\nM\nM"];
+ 4003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=45];
+ 4110 [label="M"];
+ 4111 [label="MMMMMMMMMM"];
+ 4112 [label="M\nM\nM\nM\nM\nM"];
+ 4113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 4000->3000;
+ { rank=same;
+ node [sides=5];
+ node [peripheries=1];
+ node [orientation=0];
+ 5000 [label="M"];
+ 5001 [label="MMMMMMMMMM"];
+ 5002 [label="M\nM\nM\nM\nM\nM"];
+ 5003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=36];
+ 5110 [label="M"];
+ 5111 [label="MMMMMMMMMM"];
+ 5112 [label="M\nM\nM\nM\nM\nM"];
+ 5113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 5000->4000;
+ { rank=same;
+ node [sides=6];
+ node [peripheries=1];
+ node [orientation=0];
+ 6000 [label="M"];
+ 6001 [label="MMMMMMMMMM"];
+ 6002 [label="M\nM\nM\nM\nM\nM"];
+ 6003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=30];
+ 6110 [label="M"];
+ 6111 [label="MMMMMMMMMM"];
+ 6112 [label="M\nM\nM\nM\nM\nM"];
+ 6113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 6000->5000;
+ { rank=same;
+ node [sides=7];
+ node [peripheries=1];
+ node [orientation=0];
+ 7000 [label="M"];
+ 7001 [label="MMMMMMMMMM"];
+ 7002 [label="M\nM\nM\nM\nM\nM"];
+ 7003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=25.7];
+ 7110 [label="M"];
+ 7111 [label="MMMMMMMMMM"];
+ 7112 [label="M\nM\nM\nM\nM\nM"];
+ 7113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 7000->6000;
+ { rank=same;
+ node [sides=8];
+ node [peripheries=1];
+ node [orientation=0];
+ 8000 [label="M"];
+ 8001 [label="MMMMMMMMMM"];
+ 8002 [label="M\nM\nM\nM\nM\nM"];
+ 8003 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ node [peripheries=2];
+ node [orientation=22.5];
+ 8110 [label="M"];
+ 8111 [label="MMMMMMMMMM"];
+ 8112 [label="M\nM\nM\nM\nM\nM"];
+ 8113 [label="MMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM\nMMMMMMMMMM"];
+ }
+ 8000->7000;
+ { rank=same;
+ node [sides=4];
+ node [peripheries=1];
+ node [regular=1];
+ node [distortion=.5];
+ node [orientation=0];
+ 9000 [label="M"];
+ node [orientation=45.];
+ 9001 [label="M"];
+ node [orientation=90.];
+ 9002 [label="M"];
+ node [orientation=135.];
+ 9003 [label="M"];
+ node [orientation=180.];
+ 9004 [label="M"];
+ node [orientation=225.];
+ 9005 [label="M"];
+ node [orientation=270.];
+ 9006 [label="M"];
+ node [orientation=315.];
+ 9007 [label="M"];
+ node [peripheries=2];
+ node [orientation=0];
+ 9010 [label="M"];
+ node [orientation=45.];
+ 9011 [label="M"];
+ node [orientation=90.];
+ 9012 [label="M"];
+ node [orientation=135.];
+ 9013 [label="M"];
+ node [orientation=180.];
+ 9014 [label="M"];
+ node [orientation=225.];
+ 9015 [label="M"];
+ node [orientation=270.];
+ 9016 [label="M"];
+ node [orientation=315.];
+ 9017 [label="M"];
+ }
+ 9000->8000;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/proc3d.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/proc3d.gv
new file mode 100644
index 0000000..5c77148
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/proc3d.gv
@@ -0,0 +1,443 @@
+digraph g {
+graph [
+fontname=Courier,
+fontsize=24,
+ranksep = 1.0,
+size="10,7.5",
+orientation=land,
+style="setlinewidth(8)"
+page = "8.5,11",
+center=true
+];
+node [
+shape = "box"
+width = "0.5"
+];
+edge [
+];
+subgraph cluster_0 {
+label="gryphon"
+"22342"
+"22343"
+"22346"
+"22347"
+"22351"
+"22344"
+"22345"
+"22348"
+"22350"
+"22357"
+}
+subgraph cluster_1 {
+label=toucan
+"22349"
+"22352"
+"22356"
+"22361"
+"22369"
+"22353"
+"22355"
+"22360"
+"22365"
+"22374"
+}
+subgraph cluster_2 {
+label=parker
+"22354"
+"22359"
+"22375"
+}
+subgraph cluster_3 {
+label=condor
+"22358"
+"22362"
+"22367"
+"22373"
+"22378"
+}
+subgraph cluster_4 {
+label=kite
+"22363"
+"22366"
+"22371"
+"22376"
+"22380"
+}
+subgraph cluster_5 {
+label=coot
+"22368"
+"22372"
+"22377"
+"22379"
+"22381"
+}
+"22316" [
+label = "22316\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22324" [
+label = "22324\nnmake"
+pname = "nmake"
+kind = "proc"
+];
+"22337" [
+label = "22337\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22342" [
+label = "22342\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22343" [
+label = "22343\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22344" [
+label = "22344\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22345" [
+label = "22345\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22346" [
+label = "22346\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22347" [
+label = "22347\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"22348" [
+label = "22348\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"93736-32246" [
+label = "93736-32246\n/home/ek/work/src/lefty/lefty.c"
+fname = "/home/ek/work/src/lefty/lefty.c"
+shape = "ellipse"
+kind = "file"
+];
+"22349" [
+label = "22349\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22350" [
+label = "22350\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"93627-32246" [
+label = "93627-32246\n/home/ek/work/src/lefty/gfxview.c"
+fname = "/home/ek/work/src/lefty/gfxview.c"
+shape = "ellipse"
+kind = "file"
+];
+"22351" [
+label = "22351\nas"
+pname = "as"
+kind = "proc"
+];
+"22352" [
+label = "22352\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22353" [
+label = "22353\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22354" [
+label = "22354\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22355" [
+label = "22355\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22356" [
+label = "22356\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22357" [
+label = "22357\nas"
+pname = "as"
+kind = "proc"
+];
+"22358" [
+label = "22358\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22359" [
+label = "22359\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22360" [
+label = "22360\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22361" [
+label = "22361\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"93645-32246" [
+label = "93645-32246\n/home/ek/work/src/lefty/txtview.c"
+fname = "/home/ek/work/src/lefty/txtview.c"
+shape = "ellipse"
+kind = "file"
+];
+"22362" [
+label = "22362\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22363" [
+label = "22363\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22365" [
+label = "22365\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"22366" [
+label = "22366\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"93638-32246" [
+label = "93638-32246\n/home/ek/work/src/lefty/internal.c"
+fname = "/home/ek/work/src/lefty/internal.c"
+shape = "ellipse"
+kind = "file"
+];
+"22367" [
+label = "22367\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22368" [
+label = "22368\nksh"
+pname = "ksh"
+kind = "proc"
+];
+"22369" [
+label = "22369\nas"
+pname = "as"
+kind = "proc"
+];
+"93642-32246" [
+label = "93642-32246\n/home/ek/work/src/lefty/lex.c"
+fname = "/home/ek/work/src/lefty/lex.c"
+shape = "ellipse"
+kind = "file"
+];
+"22371" [
+label = "22371\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22372" [
+label = "22372\ngcc"
+pname = "gcc"
+kind = "proc"
+];
+"22373" [
+label = "22373\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"88860-32246" [
+label = "88860-32246\n/home/ek/dev/src/lefty/stringify.c"
+fname = "/home/ek/dev/src/lefty/stringify.c"
+shape = "ellipse"
+kind = "file"
+];
+"22374" [
+label = "22374\nas"
+pname = "as"
+kind = "proc"
+];
+"22375" [
+label = "22375\nas"
+pname = "as"
+kind = "proc"
+];
+"22376" [
+label = "22376\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"93626-32246" [
+label = "93626-32246\n/home/ek/work/src/lefty/exec.c"
+fname = "/home/ek/work/src/lefty/exec.c"
+shape = "ellipse"
+kind = "file"
+];
+"22377" [
+label = "22377\ncpp"
+pname = "cpp"
+kind = "proc"
+];
+"22378" [
+label = "22378\nas"
+pname = "as"
+kind = "proc"
+];
+"22379" [
+label = "22379\ncc1"
+pname = "cc1"
+kind = "proc"
+];
+"93643-32246" [
+label = "93643-32246\n/home/ek/work/src/lefty/parse.c"
+fname = "/home/ek/work/src/lefty/parse.c"
+shape = "ellipse"
+kind = "file"
+];
+"22380" [
+label = "22380\nas"
+pname = "as"
+kind = "proc"
+];
+"22381" [
+label = "22381\nas"
+pname = "as"
+kind = "proc"
+];
+"37592-32246" [
+label = "37592-32246\n/home/ek/dev/src/lefty/exec.h"
+fname = "/home/ek/dev/src/lefty/exec.h"
+shape = "ellipse"
+kind = "file"
+];
+"135504-32246" [
+label = "135504-32246\n/home/ek/work/sun4/lefty/display.o"
+fname = "/home/ek/work/sun4/lefty/display.o"
+shape = "ellipse"
+kind = "file"
+];
+"22316" -> "22324" [
+];
+"22324" -> "22337" [
+];
+"22337" -> "22342" [
+];
+"22342" -> "22343" [
+];
+"22337" -> "22344" [
+];
+"22344" -> "22345" [
+];
+"22343" -> "22346" [
+];
+"22343" -> "22347" [
+];
+"22345" -> "22348" [
+];
+"22346" -> "93736-32246" [
+];
+"22337" -> "22349" [
+];
+"22345" -> "22350" [
+];
+"22348" -> "93627-32246" [
+];
+"22343" -> "22351" [
+];
+"22349" -> "22352" [
+];
+"22337" -> "22353" [
+];
+"22337" -> "22354" [
+];
+"22353" -> "22355" [
+];
+"22352" -> "22356" [
+];
+"22345" -> "22357" [
+];
+"22337" -> "22358" [
+];
+"22354" -> "22359" [
+];
+"22355" -> "22360" [
+];
+"22352" -> "22361" [
+];
+"22356" -> "93645-32246" [
+];
+"22358" -> "22362" [
+];
+"22337" -> "22363" [
+];
+"22355" -> "22365" [
+];
+"22363" -> "22366" [
+];
+"22360" -> "93638-32246" [
+];
+"22362" -> "22367" [
+];
+"22337" -> "22368" [
+];
+"22352" -> "22369" [
+];
+"22324" -> "93642-32246" [
+];
+"22366" -> "22371" [
+];
+"22368" -> "22372" [
+];
+"22362" -> "22373" [
+];
+"22367" -> "88860-32246" [
+];
+"22355" -> "22374" [
+];
+"22359" -> "22375" [
+];
+"22366" -> "22376" [
+];
+"22371" -> "93626-32246" [
+];
+"22372" -> "22377" [
+];
+"22362" -> "22378" [
+];
+"22372" -> "22379" [
+];
+"22377" -> "93643-32246" [
+];
+"22366" -> "22380" [
+];
+"22372" -> "22381" [
+];
+"22371" -> "37592-32246" [
+];
+"22375" -> "135504-32246" [
+];
+
+/* hack to increase node separation */
+{ rank = same; "22337" -> "93642-32246" [style=invis,minlen=10]; }
+
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/record2.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/record2.gv
new file mode 100644
index 0000000..7e393c0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/record2.gv
@@ -0,0 +1,6 @@
+digraph G {
+ node [shape=record];
+ a [label = "<f0> foo | x | <f1> bar"];
+ b [label = "a | { <f0> foo | x | <f1> bar } | b"];
+ a:f0 -> b:f1
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/records.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/records.gv
new file mode 100644
index 0000000..1cd8958
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/records.gv
@@ -0,0 +1,17 @@
+digraph G {
+ rankdir=LR;
+ node [shape=record];
+ a [ label ="<bala> Graphs can\lbe fun\l|<f1> mid|<f2> right\r"];
+ b [ label ="<left> |<mid> b | " ];
+ c [ label ="<p1> | c |<p2> " ];
+ x [ label ="<p1> | x |<p2> " ];
+ y [ label ="<p1> | y |<p2> " ];
+ z [ label =" | z |<p2> " ];
+ a:bala -> b:left;
+ a:f1 -> d;
+ a:f2 -> y:"p1";
+ c:"p1" -> d;
+ b:mid -> x:"p1";
+ c:"p2" -> y:"p2";
+ b:left -> z:"p2";
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/rowe.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/rowe.gv
new file mode 100644
index 0000000..29eb327
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/rowe.gv
@@ -0,0 +1,72 @@
+digraph rowe {
+ node [shape = box];
+ size = "6,6";
+ 1 -> 2;
+ 1 -> 10;
+ 10 -> 14;
+ 10 -> 12;
+ 10 -> 13;
+ 10 -> 11;
+ 2 -> 18;
+ 2 -> 17;
+ 2 -> 16;
+ 2 -> 3;
+ 11 -> 4;
+ 16 -> 4;
+ 3 -> 4;
+ 4 -> 5;
+ 13 -> 19;
+ 17 -> 19;
+ 5 -> 23;
+ 5 -> 35;
+ 5 -> 6;
+ 37 -> 39;
+ 37 -> 41;
+ 37 -> 40;
+ 37 -> 38;
+ 19 -> 20;
+ 19 -> 28;
+ 19 -> 21;
+ 12 -> 29;
+ 18 -> 29;
+ 41 -> 29;
+ 28 -> 29;
+ 29 -> 30;
+ 30 -> 31;
+ 30 -> 33;
+ 31 -> 32;
+ 21 -> 22;
+ 32 -> 23;
+ 22 -> 23;
+ 6 -> 7;
+ 23 -> 24;
+ 7 -> 8;
+ 24 -> 25;
+ 24 -> 27;
+ 35 -> 43;
+ 35 -> 36;
+ 8 -> 9;
+ 14 -> 15;
+ 39 -> 15;
+ 20 -> 15;
+ 33 -> 34;
+ 43 -> 40;
+ 43 -> 38;
+ 25 -> 26;
+ 9 -> 42;
+ 10 -> 1;
+ 15 -> 1;
+ 23 -> 1;
+ 31 -> 1;
+ 2 -> 1;
+ 25 -> 1;
+ 9 -> 1;
+ 38 -> 4;
+ 26 -> 4;
+ 42 -> 4;
+ 40 -> 19;
+ 36 -> 19;
+ 34 -> 29;
+ 33 -> 30;
+ 27 -> 24;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/sdh.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/sdh.gv
new file mode 100644
index 0000000..38e1434
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/sdh.gv
@@ -0,0 +1,284 @@
+digraph G {
+ graph [bgcolor=black]; /* set background */
+ edge [color=white];
+ graph[page="8.5,11",size="7.5,7",ratio=fill,center=1];
+ node[style=filled,label=""];
+ subgraph ds3CTP {
+ rank = same;
+ node[shape=box,color=green];
+ ds3CTP_1_1;
+ ds3CTP_1_2;
+ ds3CTP_5_1;
+ ds3CTP_5_2;
+ }
+ subgraph t3TTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ t3TTP_1_1;
+ t3TTP_5_2;
+ }
+ subgraph vc3TTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ vc3TTP_1_2;
+ vc3TTP_5_1;
+ }
+ subgraph fabric {
+ rank = same;
+ node[shape=hexagon,color=blue];
+ fabric_1_2;
+ fabric_4_1;
+ fabric_5_1;
+ }
+ subgraph xp {
+ rank = same;
+ node[shape=diamond,color=blue];
+ xp_1_2;
+ xp_4_1;
+ xp_5_1;
+ }
+ subgraph au3CTP {
+ rank = same;
+ node[shape=box,color=green];
+ au3CTP_1_2;
+ au3CTP_4_1;
+ au3CTP_4_2;
+ au3CTP_5_1;
+ }
+ subgraph aug {
+ rank = same;
+ node[shape=invtrapezium,color=pink];
+ aug_1_2;
+ aug_4_1;
+ aug_4_2;
+ aug_5_1;
+ }
+ subgraph protectionTTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ prTTP_1_2;
+ prTTP_4_1;
+ prTTP_4_2;
+ prTTP_5_1;
+ }
+ subgraph protectionGroup {
+ rank = same;
+ node[shape=hexagon,color=blue];
+ pg_1_2;
+ pg_4_1;
+ pg_4_2;
+ pg_5_1;
+ }
+ subgraph protectionUnit {
+ rank = same;
+ node[shape=diamond,color=blue];
+ pu_1_2;
+ pu_4_1;
+ pu_4_2;
+ pu_5_1;
+ }
+ subgraph protectionCTP {
+ node[shape=box,color=green];
+ prCTP_1_2;
+ prCTP_4_1;
+ prCTP_4_2;
+ prCTP_5_1;
+ }
+ subgraph msTTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ msTTP_1_2;
+ msTTP_4_1;
+ msTTP_4_2;
+ msTTP_5_1;
+ }
+ subgraph msCTP {
+ rank = same;
+ node[shape=box,color=green];
+ msCTP_1_2;
+ msCTP_3_1;
+ msCTP_3_2;
+ msCTP_4_1;
+ msCTP_4_2;
+ msCTP_5_1;
+ }
+ subgraph rsTTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ rsTTP_1_2;
+ rsTTP_3_1;
+ rsTTP_3_2;
+ rsTTP_4_1;
+ rsTTP_4_2;
+ rsTTP_5_1;
+ }
+ subgraph rsCTP {
+ rank = same;
+ node[shape=box,color=green];
+ rsCTP_1_2;
+ rsCTP_2_1;
+ rsCTP_2_2;
+ rsCTP_3_1;
+ rsCTP_3_2;
+ rsCTP_4_1;
+ rsCTP_4_2;
+ rsCTP_5_1;
+ }
+ subgraph spiTTP {
+ rank = same;
+ node[shape=invtriangle,color=red];
+ spiTTP_1_2;
+ spiTTP_2_1;
+ spiTTP_2_2;
+ spiTTP_3_1;
+ spiTTP_3_2;
+ spiTTP_4_1;
+ spiTTP_4_2;
+ spiTTP_5_1;
+ }
+ subgraph me {
+ rank = same;
+ node[shape=box,peripheries=2];
+ me_1;
+ me_2;
+ me_3;
+ me_4;
+ me_5;
+ }
+ subgraph client_server {
+ edge[style=dotted,dir=none,weight=100];
+ ds3CTP_1_1->t3TTP_1_1;
+ ds3CTP_1_2->vc3TTP_1_2;
+ au3CTP_1_2->aug_1_2->prTTP_1_2;
+ prCTP_1_2->msTTP_1_2;
+ msCTP_1_2->rsTTP_1_2;
+ rsCTP_1_2->spiTTP_1_2;
+ rsCTP_2_1->spiTTP_2_1;
+ rsCTP_2_2->spiTTP_2_2;
+ msCTP_3_1->rsTTP_3_1;
+ rsCTP_3_1->spiTTP_3_1;
+ msCTP_3_2->rsTTP_3_2;
+ rsCTP_3_2->spiTTP_3_2;
+ au3CTP_4_1->aug_4_1->prTTP_4_1;
+ prCTP_4_1->msTTP_4_1;
+ msCTP_4_1->rsTTP_4_1;
+ rsCTP_4_1->spiTTP_4_1;
+ au3CTP_4_2->aug_4_2->prTTP_4_2;
+ prCTP_4_2->msTTP_4_2;
+ msCTP_4_2->rsTTP_4_2;
+ rsCTP_4_2->spiTTP_4_2;
+ ds3CTP_5_1->vc3TTP_5_1;
+ au3CTP_5_1->aug_5_1->prTTP_5_1;
+ prCTP_5_1->msTTP_5_1;
+ msCTP_5_1->rsTTP_5_1;
+ rsCTP_5_1->spiTTP_5_1;
+ ds3CTP_5_2->t3TTP_5_2;
+ }
+ subgraph trail {
+ edge[style=dashed,dir=none];
+ vc3TTP_1_2->vc3TTP_5_1;
+ prTTP_1_2->prTTP_4_1;
+ prTTP_4_2->prTTP_5_1;
+ msTTP_1_2->msTTP_4_1;
+ msTTP_4_2->msTTP_5_1;
+ rsTTP_1_2->rsTTP_3_1;
+ rsTTP_3_2->rsTTP_4_1;
+ rsTTP_4_2->rsTTP_5_1;
+ spiTTP_1_2->spiTTP_2_1;
+ spiTTP_2_2->spiTTP_3_1;
+ spiTTP_3_2->spiTTP_4_1;
+ spiTTP_4_2->spiTTP_5_1;
+ }
+ subgraph contain {
+ pu_1_2->pg_1_2;
+ pu_4_1->pg_4_1;
+ pu_4_2->pg_4_2;
+ pu_5_1->pg_5_1;
+ xp_1_2->fabric_1_2;
+ xp_4_1->fabric_4_1;
+ xp_5_1->fabric_5_1;
+ fabric_1_2->me_1;
+ fabric_4_1->me_4;
+ fabric_5_1->me_5;
+ pg_1_2->me_1;
+ pg_4_1->me_4;
+ pg_4_2->me_4;
+ pg_5_1->me_5;
+ t3TTP_1_1->me_1;
+ t3TTP_5_2->me_5;
+ vc3TTP_1_2->me_1;
+ vc3TTP_5_1->me_5;
+ prTTP_1_2->me_1;
+ prTTP_4_1->me_4;
+ prTTP_4_2->me_4;
+ prTTP_5_1->me_5;
+ msTTP_1_2->me_1;
+ msTTP_4_1->me_4;
+ msTTP_4_2->me_4;
+ msTTP_5_1->me_5;
+ rsTTP_1_2->me_1;
+ rsTTP_3_1->me_3;
+ rsTTP_3_2->me_3;
+ rsTTP_4_1->me_4;
+ rsTTP_4_2->me_4;
+ rsTTP_5_1->me_5;
+ spiTTP_1_2->me_1;
+ spiTTP_2_1->me_2;
+ spiTTP_2_2->me_2;
+ spiTTP_3_1->me_3;
+ spiTTP_3_2->me_3;
+ spiTTP_4_1->me_4;
+ spiTTP_4_2->me_4;
+ spiTTP_5_1->me_5;
+ }
+ subgraph connectedBy {
+ vc3TTP_1_2->fabric_1_2;
+ au3CTP_1_2->fabric_1_2;
+ au3CTP_4_1->fabric_4_1;
+ au3CTP_4_2->fabric_4_1;
+ vc3TTP_5_1->fabric_5_1;
+ au3CTP_5_1->fabric_5_1;
+ prTTP_1_2->pg_1_2;
+ prTTP_4_1->pg_4_1;
+ prTTP_4_2->pg_4_2;
+ prTTP_5_1->pg_5_1;
+ prCTP_1_2->pg_1_2;
+ prCTP_4_1->pg_4_1;
+ prCTP_4_2->pg_4_2;
+ prCTP_5_1->pg_5_1;
+ }
+ subgraph crossConnection {
+ edge[style=dotted,dir=none];
+ vc3TTP_1_2->xp_1_2->au3CTP_1_2;
+ prTTP_1_2->pu_1_2->prCTP_1_2;
+ prTTP_4_1->pu_4_1->prCTP_4_1;
+ au3CTP_4_1->xp_4_1->au3CTP_4_2;
+ prTTP_4_2->pu_4_2->prCTP_4_2;
+ prTTP_5_1->pu_5_1->prCTP_5_1;
+ vc3TTP_5_1->xp_5_1->au3CTP_5_1;
+ }
+ subgraph bindingConnection {
+ edge[style=bold,dir=none,weight=100];
+ ds3CTP_1_1->ds3CTP_1_2;
+ vc3TTP_1_2->au3CTP_1_2;
+ prTTP_1_2->prCTP_1_2;
+ msTTP_1_2->msCTP_1_2;
+ rsTTP_1_2->rsCTP_1_2;
+ rsCTP_2_1->rsCTP_2_2;
+ rsTTP_3_1->rsCTP_3_1;
+ msCTP_3_1->msCTP_3_2;
+ rsTTP_3_2->rsCTP_3_2;
+ prTTP_4_1->prCTP_4_1;
+ msTTP_4_1->msCTP_4_1;
+ rsTTP_4_1->rsCTP_4_1;
+ au3CTP_4_1->au3CTP_4_2;
+ prTTP_4_2->prCTP_4_2;
+ msTTP_4_2->msCTP_4_2;
+ rsTTP_4_2->rsCTP_4_2;
+ prTTP_5_1->prCTP_5_1;
+ msTTP_5_1->msCTP_5_1;
+ rsTTP_5_1->rsCTP_5_1;
+ ds3CTP_5_1->ds3CTP_5_2;
+ vc3TTP_5_1->au3CTP_5_1;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/shells.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/shells.gv
new file mode 100644
index 0000000..c68458e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/shells.gv
@@ -0,0 +1,55 @@
+digraph shells {
+ size="7,8";
+ node [fontsize=24, shape = plaintext];
+
+ 1972 -> 1976;
+ 1976 -> 1978;
+ 1978 -> 1980;
+ 1980 -> 1982;
+ 1982 -> 1984;
+ 1984 -> 1986;
+ 1986 -> 1988;
+ 1988 -> 1990;
+ 1990 -> future;
+
+ node [fontsize=20, shape = box];
+ { rank=same; 1976 Mashey Bourne; }
+ { rank=same; 1978 Formshell csh; }
+ { rank=same; 1980 esh vsh; }
+ { rank=same; 1982 ksh "System-V"; }
+ { rank=same; 1984 v9sh tcsh; }
+ { rank=same; 1986 "ksh-i"; }
+ { rank=same; 1988 KornShell Perl rc; }
+ { rank=same; 1990 tcl Bash; }
+ { rank=same; "future" POSIX "ksh-POSIX"; }
+
+ Thompson -> Mashey;
+ Thompson -> Bourne;
+ Thompson -> csh;
+ csh -> tcsh;
+ Bourne -> ksh;
+ Bourne -> esh;
+ Bourne -> vsh;
+ Bourne -> "System-V";
+ Bourne -> v9sh;
+ v9sh -> rc;
+ Bourne -> Bash;
+ "ksh-i" -> Bash;
+ KornShell -> Bash;
+ esh -> ksh;
+ vsh -> ksh;
+ Formshell -> ksh;
+ csh -> ksh;
+ KornShell -> POSIX;
+ "System-V" -> POSIX;
+ ksh -> "ksh-i";
+ "ksh-i" -> KornShell;
+ KornShell -> "ksh-POSIX";
+ Bourne -> Formshell;
+
+ edge [style=invis];
+ 1984 -> v9sh -> tcsh ;
+ 1988 -> rc -> KornShell;
+ Formshell -> csh;
+ KornShell -> Perl;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/states.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/states.gv
new file mode 100644
index 0000000..758abc9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/states.gv
@@ -0,0 +1,21 @@
+/*
+The command line is
+
+ dot -Tps -Grankdir=LR states.dot > states.ps
+
+and the file is:
+*/
+digraph states {
+ size="3,2";
+ rankdir=LR;
+ node [shape=ellipse];
+ empty [label = "Empty"];
+ stolen [label = "Stolen"];
+ waiting [label = "Waiting"];
+ full [label = "Full"];
+ empty -> full [label = "return"]
+ empty -> stolen [label = "dispatch", wt=28]
+ stolen -> full [label = "return"];
+ stolen -> waiting [label = "touch"];
+ waiting -> full [label = "return"];
+ }
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/structs.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/structs.gv
new file mode 100644
index 0000000..ab83312
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/structs.gv
@@ -0,0 +1,8 @@
+digraph structs {
+node [shape=record];
+ struct1 [shape=record,label="<f0> left|<f1> middle|<f2> right"];
+ struct2 [shape=record,label="<f0> one|<f1> two"];
+ struct3 [shape=record,label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
+ struct1:f1 -> struct2:f0;
+ struct1:f2 -> struct3:here;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/switch.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/switch.gv
new file mode 100644
index 0000000..ee5489a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/switch.gv
@@ -0,0 +1,60 @@
+digraph G {
+ graph [center=true rankdir=LR bgcolor="#808080"]
+ edge [dir=none]
+ node [width=0.3 height=0.3 label=""]
+ { node [shape=circle style=invis]
+ 1 2 3 4 5 6 7 8 10 20 30 40 50 60 70 80
+ }
+ { node [shape=circle]
+ a b c d e f g h i j k l m n o p q r s t u v w x
+ }
+ { node [shape=diamond]
+ A B C D E F G H I J K L M N O P Q R S T U V W X
+ }
+ 1 -> a -> {A B} [color="#0000ff"]
+ 2 -> b -> {B A} [color="#ff0000"]
+ 3 -> c -> {C D} [color="#ffff00"]
+ 4 -> d -> {D C} [color="#00ff00"]
+ 5 -> e -> {E F} [color="#000000"]
+ 6 -> f -> {F E} [color="#00ffff"]
+ 7 -> g -> {G H} [color="#ffffff"]
+ 8 -> h -> {H G} [color="#ff00ff"]
+ { edge [color="#ff0000:#0000ff"]
+ A -> i -> {I K}
+ B -> j -> {J L}
+ }
+ { edge [color="#00ff00:#ffff00"]
+ C -> k -> {K I}
+ D -> l -> {L J}
+ }
+ { edge [color="#00ffff:#000000"]
+ E -> m -> {M O}
+ F -> n -> {N P}
+ }
+ { edge [color="#ff00ff:#ffffff"]
+ G -> o -> {O M}
+ H -> p -> {P N}
+ }
+ { edge [color="#00ff00:#ffff00:#ff0000:#0000ff"]
+ I -> q -> {Q U}
+ J -> r -> {R V}
+ K -> s -> {S W}
+ L -> t -> {T X}
+ }
+ { edge [color="#ff00ff:#ffffff:#00ffff:#000000"]
+ M -> u -> {U Q}
+ N -> v -> {V R}
+ O -> w -> {W S}
+ P -> x -> {X T}
+ }
+ { edge [color="#ff00ff:#ffffff:#00ffff:#000000:#00ff00:#ffff00:#ff0000:#0000ff"]
+ Q -> 10
+ R -> 20
+ S -> 30
+ T -> 40
+ U -> 50
+ V -> 60
+ W -> 70
+ X -> 80
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/table.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/table.gv
new file mode 100644
index 0000000..2a81d9f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/table.gv
@@ -0,0 +1,57 @@
+digraph structs {
+ node [shape=plaintext];
+
+ struct1 [label=<<TABLE CELLPADDING="10" BORDER="0">
+ <TR>
+ <TD HEIGHT="30" WIDTH="90">a</TD>
+ <TD>b</TD>
+ <TD>c</TD>
+ </TR>
+ </TABLE>>];
+
+ struct2 [label=<<TABLE>
+ <TR>
+ <TD COLSPAN="3">elefantel</TD>
+ <TD ROWSPAN="2" VALIGN="bottom" ALIGN="right">two</TD>
+ </TR><TR>
+ <TD COLSPAN="2" ROWSPAN="2"><TABLE BGCOLOR="grey">
+ <TR>
+ <TD>buca</TD>
+ </TR><TR>
+ <TD BGCOLOR="yellow">c</TD>
+ </TR><TR>
+ <TD>f</TD>
+ </TR>
+ </TABLE></TD>
+ <TD>patratos</TD>
+ </TR><TR>
+ <TD COLSPAN="2" ALIGN="right">4</TD>
+ </TR>
+ </TABLE>
+ >];
+
+ struct3 [label=<<TABLE CELLPADDING="5">
+ <TR>
+ <TD ROWSPAN="3">Hello</TD>
+ <TD ROWSPAN="2" COLSPAN="3"><TABLE BORDER="4">
+ <TR>
+ <TD COLSPAN="3">b</TD>
+ </TR><TR>
+ <TD>a</TD>
+ <TD>dino</TD>
+ <TD>y</TD>
+ </TR><TR>
+ <TD COLSPAN="3">rhino</TD>
+ </TR>
+ </TABLE></TD>
+ </TR><TR>
+ <TD COLSPAN="2">climb</TD>
+ <TD ROWSPAN="2">Up</TD>
+ </TR><TR>
+ <TD COLSPAN="3">low</TD>
+ </TR>
+ </TABLE>>];
+
+ struct1 -> struct3;
+ struct1 -> struct2;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/train11.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/train11.gv
new file mode 100644
index 0000000..710645d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/train11.gv
@@ -0,0 +1,30 @@
+digraph G {
+ size="6,6";
+ node [shape=circle,fontsize=8];
+ rankdir=LR;
+ st9 -> st9 [label="11/1"];
+ st9 -> st10 [label="10/1"];
+ st8 -> st8 [label="10/1"];
+ st8 -> st0 [label="00/-"];
+ st7 -> st8 [label="10/1"];
+ st7 -> st7 [label="00/1"];
+ st6 -> st6 [label="01/1"];
+ st6 -> st0 [label="00/-"];
+ st5 -> st6 [label="01/1"];
+ st5 -> st5 [label="11/1"];
+ st4 -> st4 [label="01/1"];
+ st4 -> st0 [label="00/-"];
+ st3 -> st4 [label="01/1"];
+ st3 -> st3 [label="00/1"];
+ st2 -> st9 [label="11/1"];
+ st2 -> st7 [label="00/1"];
+ st2 -> st2 [label="01/1"];
+ st10 -> st10 [label="10/1"];
+ st10 -> st0 [label="00/-"];
+ st1 -> st5 [label="11/1"];
+ st1 -> st3 [label="00/1"];
+ st1 -> st1 [label="10/1"];
+ st0 -> st2 [label="01/-"];
+ st0 -> st1 [label="10/-"];
+ st0 -> st0 [label="00/0"];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/trapeziumlr.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/trapeziumlr.gv
new file mode 100644
index 0000000..ccd3c42
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/trapeziumlr.gv
@@ -0,0 +1,79 @@
+digraph test {
+
+ size="7,9.5";
+ page="8,10.5";
+ ratio=fill;
+ rankdir=LR;
+
+ { rank=same;
+ node [shape=house];
+ A;C;E;G;I;K;M;O;Q;S;U;W;Y;
+ node [shape=invhouse];
+ B;D;F;H;J;L;N;P;R;T;V;X;Z;
+ }
+
+ { rank=same;
+ node [shape=trapezium];
+ "Trapezium";
+ ordering=out;
+ }
+
+ Trapezium -> A;
+ Trapezium -> B;
+ Trapezium -> C;
+ Trapezium -> D;
+ Trapezium -> E;
+ Trapezium -> F;
+ Trapezium -> G;
+ Trapezium -> H;
+ Trapezium -> I;
+ Trapezium -> J;
+ Trapezium -> K;
+ Trapezium -> L;
+ Trapezium -> M;
+ Trapezium -> N;
+ Trapezium -> O;
+ Trapezium -> P;
+ Trapezium -> Q;
+ Trapezium -> R;
+ Trapezium -> S;
+ Trapezium -> T;
+ Trapezium -> U;
+ Trapezium -> V;
+ Trapezium -> W;
+ Trapezium -> X;
+ Trapezium -> Y;
+ Trapezium -> Z;
+
+ { rank=same;
+ node [shape=parallelogram];
+ a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;
+ }
+
+ a -> Trapezium;
+ b -> Trapezium;
+ c -> Trapezium;
+ d -> Trapezium;
+ e -> Trapezium;
+ f -> Trapezium;
+ g -> Trapezium;
+ h -> Trapezium;
+ i -> Trapezium;
+ j -> Trapezium;
+ k -> Trapezium;
+ l -> Trapezium;
+ m -> Trapezium;
+ n -> Trapezium;
+ o -> Trapezium;
+ p -> Trapezium;
+ q -> Trapezium;
+ r -> Trapezium;
+ s -> Trapezium;
+ t -> Trapezium;
+ u -> Trapezium;
+ v -> Trapezium;
+ w -> Trapezium;
+ x -> Trapezium;
+ y -> Trapezium;
+ z -> Trapezium;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/tree.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/tree.gv
new file mode 100644
index 0000000..6d2c60c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/tree.gv
@@ -0,0 +1,20 @@
+digraph g {
+node [shape = record,height=.1];
+node0[label = "<f0> |<f1> G|<f2> "];
+node1[label = "<f0> |<f1> E|<f2> "];
+node2[label = "<f0> |<f1> B|<f2> "];
+node3[label = "<f0> |<f1> F|<f2> "];
+node4[label = "<f0> |<f1> R|<f2> "];
+node5[label = "<f0> |<f1> H|<f2> "];
+node6[label = "<f0> |<f1> Y|<f2> "];
+node7[label = "<f0> |<f1> A|<f2> "];
+node8[label = "<f0> |<f1> C|<f2> "];
+"node0":f2 -> "node4":f1;
+"node0":f0 -> "node1":f1;
+"node1":f0 -> "node2":f1;
+"node1":f2 -> "node3":f1;
+"node2":f2 -> "node8":f1;
+"node2":f0 -> "node7":f1;
+"node4":f2 -> "node6":f1;
+"node4":f0 -> "node5":f1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/triedds.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/triedds.gv
new file mode 100644
index 0000000..e68eb33
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/triedds.gv
@@ -0,0 +1,114 @@
+digraph g {
+graph [
+rankdir = "LR"
+];
+node [
+fontsize = "16"
+shape = "ellipse"
+];
+edge [
+];
+"node0" [
+label = "<f0> 0x10ba8| <f1>"
+shape = "record"
+];
+"node1" [
+label = "<f0> 0xf7fc4380| <f1> | <f2> |-1"
+shape = "record"
+];
+"node2" [
+label = "<f0> 0xf7fc44b8| | |2"
+shape = "record"
+];
+"node3" [
+label = "<f0> 3.43322790286038071e-06|44.79998779296875|0"
+shape = "record"
+];
+"node4" [
+label = "<f0> 0xf7fc4380| <f1> | <f2> |2"
+shape = "record"
+];
+"node5" [
+label = "<f0> (nil)| | |-1"
+shape = "record"
+];
+"node6" [
+label = "<f0> 0xf7fc4380| <f1> | <f2> |1"
+shape = "record"
+];
+"node7" [
+label = "<f0> 0xf7fc4380| <f1> | <f2> |2"
+shape = "record"
+];
+"node8" [
+label = "<f0> (nil)| | |-1"
+shape = "record"
+];
+"node9" [
+label = "<f0> (nil)| | |-1"
+shape = "record"
+];
+"node10" [
+label = "<f0> (nil)| <f1> | <f2> |-1"
+shape = "record"
+];
+"node11" [
+label = "<f0> (nil)| <f1> | <f2> |-1"
+shape = "record"
+];
+"node12" [
+label = "<f0> 0xf7fc43e0| | |1"
+shape = "record"
+];
+"node0":f0 -> "node1":f0 [
+id = 0
+];
+"node0":f1 -> "node2":f0 [
+id = 1
+];
+"node1":f0 -> "node3":f0 [
+id = 2
+];
+"node1":f1 -> "node4":f0 [
+id = 3
+];
+"node1":f2 -> "node5":f0 [
+id = 4
+];
+"node4":f0 -> "node3":f0 [
+id = 5
+];
+"node4":f1 -> "node6":f0 [
+id = 6
+];
+"node4":f2 -> "node10":f0 [
+id = 7
+];
+"node6":f0 -> "node3":f0 [
+id = 8
+];
+"node6":f1 -> "node7":f0 [
+id = 9
+];
+"node6":f2 -> "node9":f0 [
+id = 10
+];
+"node7":f0 -> "node3":f0 [
+id = 11
+];
+"node7":f1 -> "node1":f0 [
+id = 12
+];
+"node7":f2 -> "node8":f0 [
+id = 13
+];
+"node10":f1 -> "node11":f0 [
+id = 14
+];
+"node10":f2 -> "node12":f0 [
+id = 15
+];
+"node11":f2 -> "node1":f0 [
+id = 16
+];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/try.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/try.gv
new file mode 100644
index 0000000..37bc829
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/try.gv
@@ -0,0 +1,15 @@
+digraph G {
+ subgraph cluster_small {
+ a -> b;
+ label=small;
+ }
+
+ subgraph cluster_big {
+ p -> q -> r -> s -> t;
+ label=big;
+ t -> p;
+ }
+
+ t -> a;
+ b -> q;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix.gv
new file mode 100644
index 0000000..6de8f6d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix.gv
@@ -0,0 +1,53 @@
+/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
+digraph unix {
+size="6,6";
+ "5th Edition" -> "6th Edition";
+ "5th Edition" -> "PWB 1.0";
+ "6th Edition" -> "LSX";
+ "6th Edition" -> "1 BSD";
+ "6th Edition" -> "Mini Unix";
+ "6th Edition" -> "Wollongong";
+ "6th Edition" -> "Interdata";
+ "Interdata" -> "Unix/TS 3.0";
+ "Interdata" -> "PWB 2.0";
+ "Interdata" -> "7th Edition";
+ "7th Edition" -> "8th Edition";
+ "7th Edition" -> "32V";
+ "7th Edition" -> "V7M";
+ "7th Edition" -> "Ultrix-11";
+ "7th Edition" -> "Xenix";
+ "7th Edition" -> "UniPlus+";
+ "V7M" -> "Ultrix-11";
+ "8th Edition" -> "9th Edition";
+ "1 BSD" -> "2 BSD";
+ "2 BSD" -> "2.8 BSD";
+ "2.8 BSD" -> "Ultrix-11";
+ "2.8 BSD" -> "2.9 BSD";
+ "32V" -> "3 BSD";
+ "3 BSD" -> "4 BSD";
+ "4 BSD" -> "4.1 BSD";
+ "4.1 BSD" -> "4.2 BSD";
+ "4.1 BSD" -> "2.8 BSD";
+ "4.1 BSD" -> "8th Edition";
+ "4.2 BSD" -> "4.3 BSD";
+ "4.2 BSD" -> "Ultrix-32";
+ "PWB 1.0" -> "PWB 1.2";
+ "PWB 1.0" -> "USG 1.0";
+ "PWB 1.2" -> "PWB 2.0";
+ "USG 1.0" -> "CB Unix 1";
+ "USG 1.0" -> "USG 2.0";
+ "CB Unix 1" -> "CB Unix 2";
+ "CB Unix 2" -> "CB Unix 3";
+ "CB Unix 3" -> "Unix/TS++";
+ "CB Unix 3" -> "PDP-11 Sys V";
+ "USG 2.0" -> "USG 3.0";
+ "USG 3.0" -> "Unix/TS 3.0";
+ "PWB 2.0" -> "Unix/TS 3.0";
+ "Unix/TS 1.0" -> "Unix/TS 3.0";
+ "Unix/TS 3.0" -> "TS 4.0";
+ "Unix/TS++" -> "TS 4.0";
+ "CB Unix 3" -> "TS 4.0";
+ "TS 4.0" -> "System V.0";
+ "System V.0" -> "System V.2";
+ "System V.2" -> "System V.3";
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix2.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix2.gv
new file mode 100644
index 0000000..25a74a5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/unix2.gv
@@ -0,0 +1,63 @@
+/* Courtesy of Ian Darwin <ian@darwinsys.com>
+ * and Geoff Collyer <geoff@plan9.bell-labs.com>
+ * Mildly updated by Ian Darwin in 2000.
+ */
+digraph unix {
+ size="6,6";
+ node [color=lightblue2, style=filled];
+ "5th Edition" -> "6th Edition";
+ "5th Edition" -> "PWB 1.0";
+ "6th Edition" -> "LSX";
+ "6th Edition" -> "1 BSD";
+ "6th Edition" -> "Mini Unix";
+ "6th Edition" -> "Wollongong";
+ "6th Edition" -> "Interdata";
+ "Interdata" -> "Unix/TS 3.0";
+ "Interdata" -> "PWB 2.0";
+ "Interdata" -> "7th Edition";
+ "7th Edition" -> "8th Edition";
+ "7th Edition" -> "32V";
+ "7th Edition" -> "V7M";
+ "7th Edition" -> "Ultrix-11";
+ "7th Edition" -> "Xenix";
+ "7th Edition" -> "UniPlus+";
+ "V7M" -> "Ultrix-11";
+ "8th Edition" -> "9th Edition";
+ "9th Edition" -> "10th Edition";
+ "1 BSD" -> "2 BSD";
+ "2 BSD" -> "2.8 BSD";
+ "2.8 BSD" -> "Ultrix-11";
+ "2.8 BSD" -> "2.9 BSD";
+ "32V" -> "3 BSD";
+ "3 BSD" -> "4 BSD";
+ "4 BSD" -> "4.1 BSD";
+ "4.1 BSD" -> "4.2 BSD";
+ "4.1 BSD" -> "2.8 BSD";
+ "4.1 BSD" -> "8th Edition";
+ "4.2 BSD" -> "4.3 BSD";
+ "4.2 BSD" -> "Ultrix-32";
+ "4.3 BSD" -> "4.4 BSD";
+ "4.4 BSD" -> "FreeBSD";
+ "4.4 BSD" -> "NetBSD";
+ "4.4 BSD" -> "OpenBSD";
+ "PWB 1.0" -> "PWB 1.2";
+ "PWB 1.0" -> "USG 1.0";
+ "PWB 1.2" -> "PWB 2.0";
+ "USG 1.0" -> "CB Unix 1";
+ "USG 1.0" -> "USG 2.0";
+ "CB Unix 1" -> "CB Unix 2";
+ "CB Unix 2" -> "CB Unix 3";
+ "CB Unix 3" -> "Unix/TS++";
+ "CB Unix 3" -> "PDP-11 Sys V";
+ "USG 2.0" -> "USG 3.0";
+ "USG 3.0" -> "Unix/TS 3.0";
+ "PWB 2.0" -> "Unix/TS 3.0";
+ "Unix/TS 1.0" -> "Unix/TS 3.0";
+ "Unix/TS 3.0" -> "TS 4.0";
+ "Unix/TS++" -> "TS 4.0";
+ "CB Unix 3" -> "TS 4.0";
+ "TS 4.0" -> "System V.0";
+ "System V.0" -> "System V.2";
+ "System V.2" -> "System V.3";
+ "System V.3" -> "System V.4";
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/viewfile.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/viewfile.gv
new file mode 100644
index 0000000..ec316d2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/viewfile.gv
@@ -0,0 +1,64 @@
+digraph Viewfile {
+node [ style = filled ];
+atoi [color=green];
+chkmalloc [color=green];
+close [color=green];
+error [color=blue];
+exit [color=blue];
+fclose [color=green];
+fgets [color=red];
+fopen [color=green];
+fprintf [color=blue];
+free [color=blue];
+free_list [color=blue];
+fstat [color=green];
+getopt [color=green];
+init_list [color=green];
+insert_list [color=green];
+main [color=green];
+makeargs [color=blue];
+makepairs [color=green];
+malloc [color=green];
+open [color=green];
+printf [color=red];
+read [color=green];
+rewind [color=green];
+viewline [color=green];
+viewlines [color=green];
+walk_list [color=green];
+write [color=green];
+fclose -> close [color=green];
+fgets -> fstat [color=green];
+fgets -> read [color=green];
+fopen -> open [color=green];
+printf -> write [color=green];
+main -> fgets [color=blue];
+main -> getopt [color=green];
+main -> makeargs [color=blue];
+main -> makepairs [color=green];
+main -> chkmalloc [color=green];
+main -> error [color=blue];
+main -> viewlines [color=green];
+makeargs -> chkmalloc [color=blue];
+makepairs -> atoi [color=green];
+makepairs -> init_list [color=green];
+makepairs -> insert_list [color=green];
+makepairs -> chkmalloc [color=green];
+free_list -> free [color=blue];
+init_list -> chkmalloc [color=green];
+insert_list -> chkmalloc [color=green];
+walk_list -> error [color=blue];
+walk_list -> viewline [color=green];
+chkmalloc -> malloc [color=green];
+chkmalloc -> error [color=blue];
+error -> exit [color=blue];
+error -> fprintf [color=blue];
+error -> error [color=blue];
+viewline -> fgets [color=red];
+viewline -> printf [color=red];
+viewline -> rewind [color=green];
+viewlines -> fclose [color=green];
+viewlines -> fopen [color=green];
+viewlines -> walk_list [color=green];
+viewlines -> viewline [color=blue];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/world.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/world.gv
new file mode 100644
index 0000000..3e6e4e3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/directed/world.gv
@@ -0,0 +1,67 @@
+digraph world {
+size="7,7";
+ {rank=same; S8 S24 S1 S35 S30;}
+ {rank=same; T8 T24 T1 T35 T30;}
+ {rank=same; 43 37 36 10 2;}
+ {rank=same; 25 9 38 40 13 17 12 18;}
+ {rank=same; 26 42 11 3 33 19 39 14 16;}
+ {rank=same; 4 31 34 21 41 28 20;}
+ {rank=same; 27 5 22 32 29 15;}
+ {rank=same; 6 23;}
+ {rank=same; 7;}
+
+ S8 -> 9;
+ S24 -> 25;
+ S24 -> 27;
+ S1 -> 2;
+ S1 -> 10;
+ S35 -> 43;
+ S35 -> 36;
+ S30 -> 31;
+ S30 -> 33;
+ 9 -> 42;
+ 9 -> T1;
+ 25 -> T1;
+ 25 -> 26;
+ 27 -> T24;
+ 2 -> {3 ; 16 ; 17 ; T1 ; 18}
+ 10 -> { 11 ; 14 ; T1 ; 13; 12;}
+ 31 -> T1;
+ 31 -> 32;
+ 33 -> T30;
+ 33 -> 34;
+ 42 -> 4;
+ 26 -> 4;
+ 3 -> 4;
+ 16 -> 15;
+ 17 -> 19;
+ 18 -> 29;
+ 11 -> 4;
+ 14 -> 15;
+ 37 -> {39 ; 41 ; 38 ; 40;}
+ 13 -> 19;
+ 12 -> 29;
+ 43 -> 38;
+ 43 -> 40;
+ 36 -> 19;
+ 32 -> 23;
+ 34 -> 29;
+ 39 -> 15;
+ 41 -> 29;
+ 38 -> 4;
+ 40 -> 19;
+ 4 -> 5;
+ 19 -> {21 ; 20 ; 28;}
+ 5 -> {6 ; T35 ; 23;}
+ 21 -> 22;
+ 20 -> 15;
+ 28 -> 29;
+ 6 -> 7;
+ 15 -> T1;
+ 22 -> T35;
+ 22 -> 23;
+ 29 -> T30;
+ 7 -> T8;
+ 23 -> T24;
+ 23 -> T1;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ER.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ER.gv
new file mode 100644
index 0000000..55060f2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ER.gv
@@ -0,0 +1,22 @@
+graph ER {
+ node [shape=box]; course; institute; student;
+ node [shape=ellipse]; {node [label="name"] name0; name1; name2;}
+ code; grade; number;
+ node [shape=diamond,style=filled,color=lightgrey]; "C-I"; "S-C"; "S-I";
+
+ name0 -- course;
+ code -- course;
+ course -- "C-I" [label="n",len=1.00];
+ "C-I" -- institute [label="1",len=1.00];
+ institute -- name1;
+ institute -- "S-I" [label="1",len=1.00];
+ "S-I" -- student [label="n",len=1.00];
+ student -- grade;
+ student -- name2;
+ student -- number;
+ student -- "S-C" [label="m",len=1.00];
+ "S-C" -- course [label="n",len=1.00];
+
+ label = "\n\nEntity Relation Diagram\ndrawn by NEATO";
+ fontsize=20;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Heawood.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Heawood.gv
new file mode 100644
index 0000000..17fac56
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Heawood.gv
@@ -0,0 +1,31 @@
+/*
+ * The transitive 6-net, also known as Heawood's graph,
+ * can be used to test the "stability points" of the layout
+ * algorithm.
+
+ * The "ideal" layout occurs when len="2.5". The layout
+ * loses the regularity when smaller values are used.
+ */
+graph "Heawood" {
+ node [
+ fontname = "Arial"
+ label = "\N"
+ shape = "circle"
+ width = "0.50000"
+ height = "0.500000"
+ color = "black"
+ ]
+ edge [
+ color = "black"
+ ]
+ /* The outer wheel */
+ "0" -- "1" -- "2" -- "3" -- "4" -- "5" -- "6" -- "7" -- "8" -- "9" -- "10" -- "11" -- "12" -- "13" -- "0";
+ /* The internal edges. The len = makes them internal */
+ "0" -- "5" [len = 2.5];
+ "2" -- "7" [len = 2.5];
+ "4" -- "9" [len = 2.5];
+ "6" -- "11" [len = 2.5];
+ "8" -- "13" [len = 2.5];
+ "10" -- "1" [len = 2.5];
+ "12" -- "3" [len = 2.5];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Petersen.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Petersen.gv
new file mode 100644
index 0000000..09d0001
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/Petersen.gv
@@ -0,0 +1,48 @@
+/*
+ * The transitive 5-net, also known as Petersen's graph,
+ * can be used to test the "stability points" of the layout
+ * algorithm.
+ *
+ * The "ideal" layout is achieved for certain random seed
+ * values when len=1.5. For len=2.5 or above, the layout
+ * is stable. Sometimes, the graph is rendered "inside-out".
+ */
+graph "Petersen" {
+ node [
+ fontname = "Arial"
+ label = "\N"
+ shape = "circle"
+ width = "0.400000"
+ height = "0.400000"
+ color = "black"
+ ]
+ edge [
+ color = "black"
+ ]
+ /* Outer wheel. The len= is what makes it outer */
+ "0" -- "1" -- "2" -- "3" -- "4" -- "0" [
+ color = "blue"
+ len = 2.6
+ ]
+ "0" -- "5" [
+ color = "red"
+ weight = "5"
+ ]
+ "1" -- "6" [
+ color = "red"
+ weight = "5"
+ ]
+ "2" -- "7" [
+ color = "red"
+ weight = "5"
+ ]
+ "3" -- "8" [
+ color = "red"
+ weight = "5"
+ ]
+ "4" -- "9" [
+ color = "red"
+ weight = "5"
+ ]
+ "5" -- "7" -- "9" -- "6" -- "8" -- "5";
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ngk10_4.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ngk10_4.gv
new file mode 100644
index 0000000..d99e7f4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/ngk10_4.gv
@@ -0,0 +1,103 @@
+graph G {
+ graph [splines=true overlap=false]
+ 1 -- 30 [f=1];
+ 1 -- 40 [f=14];
+ 8 -- 46 [f=1];
+ 8 -- 16 [f=18];
+ 10 -- 25 [f=1];
+ 10 -- 19 [f=5];
+ 10 -- 33 [f=1];
+ 12 -- 8 [f=1];
+ 12 -- 36 [f=5];
+ 12 -- 17 [f=16];
+ 13 -- 38 [f=1];
+ 13 -- 24 [f=19];
+ 24 -- 49 [f=1];
+ 24 -- 13 [f=1];
+ 24 -- 47 [f=12];
+ 24 -- 12 [f=19];
+ 25 -- 27 [f=1];
+ 25 -- 12 [f=1];
+ 27 -- 12 [f=1];
+ 27 -- 14 [f=8];
+ 29 -- 10 [f=1];
+ 29 -- 8 [f=17];
+ 30 -- 24 [f=1];
+ 30 -- 44 [f=15];
+ 38 -- 29 [f=1];
+ 38 -- 35 [f=15];
+ 2 -- 42 [f=2];
+ 2 -- 35 [f=3];
+ 2 -- 11 [f=19];
+ 14 -- 18 [f=2];
+ 14 -- 24 [f=15];
+ 14 -- 38 [f=18];
+ 18 -- 49 [f=2];
+ 18 -- 47 [f=20];
+ 26 -- 41 [f=2];
+ 26 -- 42 [f=15];
+ 31 -- 39 [f=2];
+ 31 -- 47 [f=17];
+ 31 -- 25 [f=14];
+ 37 -- 26 [f=2];
+ 37 -- 16 [f=14];
+ 39 -- 50 [f=2];
+ 39 -- 14 [f=2];
+ 39 -- 18 [f=17];
+ 39 -- 47 [f=10];
+ 41 -- 31 [f=2];
+ 41 -- 8 [f=16];
+ 42 -- 44 [f=2];
+ 42 -- 29 [f=12];
+ 44 -- 37 [f=2];
+ 44 -- 32 [f=15];
+ 3 -- 20 [f=2];
+ 3 -- 28 [f=19];
+ 6 -- 45 [f=2];
+ 6 -- 28 [f=10];
+ 9 -- 6 [f=2];
+ 9 -- 16 [f=1];
+ 15 -- 16 [f=2];
+ 15 -- 48 [f=2];
+ 16 -- 50 [f=2];
+ 16 -- 32 [f=14];
+ 16 -- 39 [f=8];
+ 20 -- 33 [f=2];
+ 33 -- 9 [f=2];
+ 33 -- 46 [f=3];
+ 33 -- 48 [f=17];
+ 45 -- 15 [f=2];
+ 4 -- 17 [f=4];
+ 4 -- 15 [f=6];
+ 4 -- 12 [f=16];
+ 17 -- 21 [f=4];
+ 19 -- 35 [f=4];
+ 19 -- 15 [f=9];
+ 19 -- 43 [f=4];
+ 21 -- 19 [f=4];
+ 21 -- 50 [f=4];
+ 23 -- 36 [f=4];
+ 34 -- 23 [f=4];
+ 34 -- 24 [f=11];
+ 35 -- 34 [f=4];
+ 35 -- 16 [f=6];
+ 35 -- 18 [f=16];
+ 36 -- 46 [f=4];
+ 5 -- 7 [f=1];
+ 5 -- 36 [f=6];
+ 7 -- 32 [f=1];
+ 7 -- 11 [f=2];
+ 7 -- 14 [f=17];
+ 11 -- 40 [f=1];
+ 11 -- 50 [f=1];
+ 22 -- 46 [f=1];
+ 28 -- 43 [f=1];
+ 28 -- 8 [f=18];
+ 32 -- 28 [f=1];
+ 32 -- 39 [f=13];
+ 32 -- 42 [f=15];
+ 40 -- 22 [f=1];
+ 40 -- 47 [f=1];
+ 43 -- 11 [f=1];
+ 43 -- 17 [f=19];
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/process.gv b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/process.gv
new file mode 100644
index 0000000..34fe9fb
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/graphs/undirected/process.gv
@@ -0,0 +1,15 @@
+graph G {
+ run -- intr;
+ intr -- runbl;
+ runbl -- run;
+ run -- kernel;
+ kernel -- zombie;
+ kernel -- sleep;
+ kernel -- runmem;
+ sleep -- swap;
+ swap -- runswap;
+ runswap -- new;
+ runswap -- runmem;
+ new -- runmem;
+ sleep -- runmem;
+}
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/box.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/box.lefty
new file mode 100644
index 0000000..5c13ac9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/box.lefty
@@ -0,0 +1,157 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 400; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+#
+# data structures
+#
+objarray = [];
+objnum = 0;
+#
+# misc functions
+#
+min = function (a, b) {
+ if (a <= b)
+ return a;
+ return b;
+};
+max = function (a, b) {
+ if (b <= a)
+ return a;
+ return b;
+};
+rectof = function (p1, p2) {
+ return [
+ 0 = ['x' = min (p1.x, p2.x); 'y' = min (p1.y, p2.y);];
+ 1 = ['x' = max (p1.x, p2.x); 'y' = max (p1.y, p2.y);];
+ ];
+};
+pointadd = function (p1, p2) {
+ return ['x' = p2.x + p1.x; 'y' = p2.y + p1.y;];
+};
+pointsub = function (p1, p2) {
+ return ['x' = p2.x - p1.x; 'y' = p2.y - p1.y;];
+};
+#
+# rendering functions
+#
+drawbox = function (obj, color) {
+ box (canvas, obj, obj.rect, ['color' = color;]);
+};
+redrawboxes = function () {
+ local i;
+ clear (canvas);
+ for (i = 0; i < objnum; i = i + 1)
+ drawbox (objarray[i], 1);
+};
+redraw = function (canvas) {
+ redrawboxes ();
+};
+#
+# editing functions
+#
+new = function (rect) {
+ objarray[objnum] = [
+ 'rect' = rect;
+ 'id' = objnum;
+ ];
+ objnum = objnum + 1;
+ return objarray[objnum - 1];
+};
+reshape = function (obj, rect) {
+ obj.rect = rect;
+ return obj;
+};
+move = function (obj, p) {
+ obj.rect[0] = pointadd (obj.rect[0], p);
+ obj.rect[1] = pointadd (obj.rect[1], p);
+ return obj;
+};
+delete = function (obj) {
+ if (obj.id ~= objnum - 1) {
+ objarray[obj.id] = objarray[objnum - 1];
+ objarray[obj.id].id = obj.id;
+ }
+ remove (objnum - 1, objarray);
+ objnum = objnum - 1;
+};
+#
+# user interface functions
+#
+# left mouse button creates new box
+# middle button moves a box
+# right button deletes a box
+#
+leftdown = function (data) {
+ if (data.obj ~= null)
+ return;
+ leftbox = new (rectof (data.pos, data.pos));
+ drawbox (leftbox, 1);
+ setgfxattr (canvas, ['mode' = 'xor';]);
+};
+leftmove = function (data) {
+ if (~leftbox)
+ return;
+ drawbox (leftbox, 1);
+ clearpick (canvas, leftbox);
+ reshape (leftbox, rectof (data.ppos, data.pos));
+ drawbox (leftbox, 1);
+};
+leftup = function (data) {
+ if (~leftbox)
+ return;
+ drawbox (leftbox, 1);
+ clearpick (canvas, leftbox);
+ reshape (leftbox, rectof (data.ppos, data.pos));
+ setgfxattr (canvas, ['mode' = 'src';]);
+ drawbox (leftbox, 1);
+ remove ('leftbox');
+};
+middledown = function (data) {
+ if (data.obj == null)
+ return;
+ middlebox = data.obj;
+ middlepos = data.pos;
+ setgfxattr (canvas, ['mode' = 'xor';]);
+};
+middlemove = function (data) {
+ if (~middlebox)
+ return;
+ drawbox (middlebox, 1);
+ clearpick (canvas, middlebox);
+ move (middlebox, pointsub (middlepos, data.pos));
+ middlepos = data.pos;
+ drawbox (middlebox, 1);
+};
+middleup = function (data) {
+ if (~middlebox)
+ return;
+ drawbox (middlebox, 1);
+ clearpick (canvas, middlebox);
+ move (middlebox, pointsub (middlepos, data.pos));
+ setgfxattr (canvas, ['mode' = 'src';]);
+ drawbox (middlebox, 1);
+ remove ('middlepos');
+ remove ('middlebox');
+};
+rightup = function (data) {
+ if (data.pobj == null)
+ return;
+ drawbox (data.obj, 0);
+ clearpick (canvas, data.obj);
+ delete (data.obj);
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ redraw (canvas);
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/def.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/def.lefty
new file mode 100644
index 0000000..41cee96
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/def.lefty
@@ -0,0 +1,15 @@
+definit = function () {
+ defview = createwidget (-1, [
+ 'type' = 'view';
+ 'name' = 'graphics view';
+ 'origin' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 400; 'y' = 500;];
+ ]);
+ defscroll = createwidget (defview, ['type' = 'scroll';]);
+ defcanvas = createwidget (defscroll, [
+ 'type' = 'canvas';
+ 'origin' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 400; 'y' = 500;];
+ 'borderwidth' = 1;
+ ]);
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty.lefty
new file mode 100644
index 0000000..d0a620a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty.lefty
@@ -0,0 +1,735 @@
+#
+# DOTTY
+#
+dotty = [
+ 'keys' = [
+ 'nid' = 'nid';
+ 'eid' = 'eid';
+ 'gid' = 'gid';
+ 'name' = 'name';
+ 'attr' = 'attr';
+ 'gattr' = 'graphattr';
+ 'eattr' = 'edgeattr';
+ 'nattr' = 'nodeattr';
+ 'edges' = 'edges';
+ 'tail' = 'tail';
+ 'tport' = 'tport';
+ 'head' = 'head';
+ 'hport' = 'hport';
+ 'pos' = 'pos';
+ 'size' = 'size';
+ 'rect' = 'rect';
+ 'fname' = 'fontname';
+ 'fsize' = 'fontsize';
+ 'fcolor' = 'fontcolor';
+ 'dcolor' = 'drawcolor';
+ 'bcolor' = 'fillcolor';
+ ];
+ 'maps' = [
+ 'X11' = [
+ 'fontmap' = [
+ 'Times-Roman' = '-*-times-medium-r-*--%d-*-*-*-*-*-*-1';
+ 'Times-Italic' = '-*-times-medium-i-*--%d-*-*-*-*-*-*-1';
+ 'Times-Bold' = '-*-times-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Courier' = '-*-courier-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Courier-Bold' = '-*-courier-bold-r-*--%d-*-*-*-*-*-*-1';
+ 'Helvetica' = (
+ '-*-helvetica-medium-r-normal--%d-*-*-*-p-*-iso8859-1'
+ );
+ 'Helvetica-Bold' = (
+ '-*-helvetica-bold-r-normal--%d-*-*-*-p-*-iso8859-1'
+ );
+ ];
+ 'psfontmap' = [
+ 'Times-Roman' = 'Times-Roman';
+ 'Times-Italic' = 'Times-Italic';
+ 'Times-Bold' = 'Times-Bold';
+ 'Courier' = 'Courier';
+ 'Courier-Bold' = 'Courier-Bold';
+ 'Helvetica' = 'Helvetica';
+ 'Helvetica-Bold' = 'Helvetica-Bold';
+ ];
+ ];
+ 'mswin' = [
+ 'fontmap' = [
+ 'Times-Roman' = 'Times New Roman';
+ 'Times-Italic' = 'Times New Roman Italic';
+ 'Times-Bold' = 'Times New Roman Bold';
+ 'Courier' = 'Courier New';
+ 'Courier-Bold' = 'Courier New Bold';
+ 'Helvetica' = 'Arial';
+ 'Helvetica-Bold' = 'Arial Bold';
+ ];
+ 'psfontmap' = [
+ 'Times-Roman' = 'Times New Roman';
+ 'Times-Italic' = 'Times New Roman Italic';
+ 'Times-Bold' = 'Times New Roman Bold';
+ 'Courier' = 'Courier New';
+ 'Courier-Bold' = 'Courier New Bold';
+ 'Helvetica' = 'Arial';
+ 'Helvetica-Bold' = 'Arial Bold';
+ ];
+ ];
+ ];
+ 'protogt' = [
+ 'graph' = [
+ 'graphattr' = [
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ ];
+ 'nodeattr' = [
+ 'shape' = 'ellipse';
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ 'style' = 'solid';
+ ];
+ 'edgeattr' = [
+ 'fontsize' = '14';
+ 'fontname' = 'Times-Roman';
+ 'fontcolor' = 'black';
+ 'style' = 'solid';
+ ];
+ 'graphdict' = [];
+ 'nodedict' = [];
+ 'graphs' = [];
+ 'nodes' = [];
+ 'edges' = [];
+ 'maxgid' = 0;
+ 'maxnid' = 0;
+ 'maxeid' = 0;
+ 'type' = 'digraph';
+ ];
+ 'layoutmode' = 'sync';
+ 'lserver' = 'dot';
+ 'edgehandles' = 1;
+ 'noundo' = 0;
+ ];
+ 'lservers' = [];
+ 'mlevel' = 0;
+ 'graphs' = [];
+ 'views' = [];
+ 'protovt' = [
+ 'normal' = [
+ 'name' = 'DOTTY';
+ 'orig' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 420; 'y' = 520;];
+ 'wrect' = [
+ 0 = ['x' = 0; 'y' = 0;];
+ 1 = ['x' = 400; 'y' = 500;];
+ ];
+ 'vsize' = ['x' = 400; 'y' = 500;];
+ 'w2v' = 1;
+ ];
+ 'birdseye' = [
+ 'type' = 'birdseye';
+ 'name' = 'DOTTY birdseye view';
+ 'orig' = ['x' = 1; 'y' = 1;];
+ 'size' = ['x' = 220; 'y' = 260;];
+ 'wrect' = [
+ 0 = ['x' = 0; 'y' = 0;];
+ 1 = ['x' = 200; 'y' = 250;];
+ ];
+ 'vsize' = ['x' = 200; 'y' = 250;];
+ 'w2v' = 1;
+ ];
+ ];
+ 'pagesizes' = [
+ '8.5x11' = ['x' = 8; 'y' = 10.5;];
+ '11x17' = ['x' = 10.5; 'y' = 16.5;];
+ '36x50' = ['x' = 35.5; 'y' = 49.5;];
+ ];
+];
+load ('dotty_draw.lefty');
+load ('dotty_edit.lefty');
+load ('dotty_layout.lefty');
+load ('dotty_ui.lefty');
+#
+# initialization functions
+#
+dotty.init = function () {
+ dotty.fontmap = dotty.maps[getenv ('LEFTYWINSYS')].fontmap;
+ dotty.clipgt = dotty.protogt.creategraph (['noundo' = 1;]);
+ dotty.inited = 1;
+};
+dotty.simple = function (file) {
+ if (dotty.inited ~= 1)
+ dotty.init ();
+ dotty.createviewandgraph (file, 'file', null, null);
+ txtview ('off');
+};
+#
+# main operations
+#
+dotty.protogt.creategraph = function (protogt) {
+ local gt, id, gtid;
+
+ if (~protogt)
+ protogt = dotty.protogt;
+ for (gtid = 0; dotty.graphs[gtid]; gtid = gtid + 1)
+ ;
+ gt = (dotty.graphs[gtid] = []);
+ if (protogt.mode ~= 'replace') {
+ for (id in dotty.protogt)
+ gt[id] = copy (dotty.protogt[id]);
+ }
+ for (id in protogt)
+ gt[id] = copy (protogt[id]);
+ gt.gtid = gtid;
+ gt.views = [];
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.busy = 0;
+ return gt;
+};
+dotty.protogt.copygraph = function (ogt) {
+ local gt, gtid, id;
+
+ for (gtid = 0; dotty.graphs[gtid]; gtid = gtid + 1)
+ ;
+ gt = (dotty.graphs[gtid] = []);
+ for (id in ogt)
+ gt[id] = copy (ogt[id]);
+ gt.gtid = gtid;
+ gt.views = [];
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.busy = 0;
+ return gt;
+};
+dotty.protogt.destroygraph = function (gt) {
+ local vid, vlist;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views)
+ vlist[vid] = gt.views[vid];
+ for (vid in gt.views)
+ gt.destroyview (gt, vlist[vid]);
+ remove (gt.gtid, dotty.graphs);
+};
+dotty.protogt.loadgraph = function (gt, name, type, protograph, layoutflag) {
+ local fd, vid, vt, graph, nid, eid, gid;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ if (~name)
+ if (~(name = ask ('file name:', 'file', '')))
+ return;
+ dotty.pushbusy (gt, gt.views);
+ dotty.message (1, 'loading');
+ if (~protograph)
+ protograph = dotty.protogt.graph;
+ if (
+ ~((fd = dotty.openio (name, type, 'r')) >= 0) |
+ ~(graph = readgraph (fd, protograph))
+ ) {
+ dotty.message (0, 'cannot load graph');
+ dotty.popbusy (gt, gt.views);
+ return;
+ }
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ }
+ gt.graph = graph;
+ gt.name = name;
+ gt.type = type;
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ if (~(type == 'file' & name == '-'))
+ closeio (fd);
+ graph.maxgid = tablesize (graph.graphs);
+ graph.maxnid = tablesize (graph.nodes);
+ graph.maxeid = tablesize (graph.edges);
+ for (nid in graph.nodes)
+ graph.nodes[nid][dotty.keys.nid] = nid;
+ for (eid in graph.edges)
+ graph.edges[eid][dotty.keys.eid] = eid;
+ for (gid in graph.graphs)
+ graph.graphs[gid][dotty.keys.gid] = gid;
+ gt.unpackattr (gt);
+ if (layoutflag) {
+ dotty.message (1, 'generating layout');
+ gt.layoutgraph (gt);
+ }
+ dotty.popbusy (gt, gt.views);
+ return gt.graph;
+};
+dotty.protogt.savegraph = function (gt, name, type) {
+ local fd;
+
+ if (~name)
+ if (~(name = ask ('file name:', 'file', '')))
+ return;
+ if (
+ ~((fd = dotty.openio (name, type, 'w')) >= 0) |
+ ~writegraph (fd, gt.graph, 0)
+ ) {
+ dotty.message (0, 'cannot save graph');
+ return;
+ }
+ if (~(type == 'file' & name == '-'))
+ closeio (fd);
+};
+dotty.protogt.setgraph = function (gt, graph) {
+ local vid, vt, nid, eid, gid;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ }
+ gt.graph = copy (graph);
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+ gt.unpackattr (gt);
+ gt.graph.maxgid = tablesize (graph.graphs);
+ gt.graph.maxnid = tablesize (graph.nodes);
+ gt.graph.maxeid = tablesize (graph.edges);
+ for (nid in gt.graph.nodes)
+ gt.graph.nodes[nid][dotty.keys.nid] = nid;
+ for (eid in gt.graph.edges)
+ gt.graph.edges[eid][dotty.keys.eid] = eid;
+ for (gid in gt.graph.graphs)
+ gt.graph.graphs[gid][dotty.keys.gid] = gid;
+ gt.unpackattr (gt);
+ dotty.message (1, 'generating layout');
+ gt.layoutgraph (gt);
+ return gt.graph;
+};
+dotty.protogt.erasegraph = function (gt, protogt, protovt) {
+ local vid, vt;
+
+ if (gt.layoutpending > 0)
+ gt.cancellayout (gt);
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ vt.colors = [];
+ vt.colorn = 2;
+ clear (vt.canvas);
+ }
+ if (~protogt)
+ protogt = dotty.protogt;
+ gt.graph = copy (protogt.graph);
+ gt.undoarray = ['level' = 0; 'entries' = [];];
+};
+dotty.protogt.layoutgraph = function (gt) {
+ if (gt.graph.graphattr.xdotversion) {
+ gt.unpacklayout (gt, gt.graph);
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ return;
+ }
+ if (gt.layoutmode == 'async') {
+ if (~gt.haveinput) {
+ gt.startlayout (gt);
+ return;
+ }
+ if (~gt.finishlayout (gt))
+ return;
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ } else {
+ if (~gt.startlayout (gt))
+ return;
+ else
+ while (~gt.finishlayout (gt))
+ ;
+ gt.setviewsize (gt.views, gt.graph.rect);
+ gt.redrawgraph (gt, gt.views);
+ }
+};
+dotty.protogt.createview = function (gt, protovt) {
+ local vt, ovt, id, t;
+
+ vt = [];
+ vt.colors = [];
+ vt.colorn = 2;
+ if (~protovt)
+ protovt = dotty.protovt.normal;
+ if (protovt.mode ~= 'replace') {
+ for (id in dotty.protovt[protovt.type])
+ vt[id] = copy (dotty.protovt[protovt.type][id]);
+ }
+ for (id in protovt)
+ vt[id] = copy (protovt[id]);
+ if (~(vt.parent >= 0)) {
+ vt.view = createwidget (-1, [
+ 'type' = 'view';
+ 'name' = vt.name;
+ 'origin' = vt.orig;
+ 'size' = vt.size;
+ ]);
+ vt.scroll = createwidget (vt.view, ['type' = 'scroll';]);
+ } else {
+ vt.view = -1;
+ vt.scroll = createwidget (vt.parent, [
+ 'type' = 'scroll';
+ 'size' = vt.size;
+ ]);
+ }
+ vt.canvas = createwidget (vt.scroll, [
+ 'type' = 'canvas';
+ 'color' = [0 = protovt.bgcolor; 1 = protovt.fgcolor;];
+ ]);
+ setwidgetattr (vt.canvas, [
+ 'window' = vt.wrect;
+ 'viewport' = vt.vsize;
+ ]);
+ clear (vt.canvas);
+ dotty.views[vt.canvas] = vt;
+ vt.vtid = vt.canvas;
+ vt.gtid = gt.gtid;
+ gt.views[vt.vtid] = vt;
+ dotty.views[vt.scroll] = vt;
+ if (vt.view ~= -1)
+ dotty.views[vt.view] = vt;
+ if (protovt.colors & tablesize (protovt.colors) > 0) {
+ for (id in protovt.colors)
+ if (id == '_bgcolor_')
+ setwidgetattr (vt.canvas, [
+ 'color' = [0 = protovt.colors[id];];
+ ]);
+ else if (setwidgetattr (vt.canvas, ['color' = [
+ protovt.colors[id] = id;
+ ];]) ~= 1) {
+ t = split (id, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (vt.canvas, [
+ 'color' = [protovt.colors[id] = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', id, ' using #1')
+ );
+ }
+ }
+ vt.colors = copy (protovt.colors);
+ vt.colorn = protovt.colorn;
+ } else if (tablesize (gt.views) > 1) {
+ for (id in gt.views)
+ if (gt.views[id] ~= vt)
+ break;
+ ovt = gt.views[id];
+ for (id in ovt.colors)
+ if (id == '_bgcolor_')
+ setwidgetattr (vt.canvas, ['color' = [0 = ovt.colors[id];];]);
+ else if (setwidgetattr (vt.canvas, ['color' = [
+ ovt.colors[id] = id;
+ ];]) ~= 1) {
+ t = split (id, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (vt.canvas, [
+ 'color' = [ovt.colors[id] = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', id, ' using #1')
+ );
+ }
+ }
+ vt.colors = copy (ovt.colors);
+ vt.colorn = ovt.colorn;
+ }
+ if (gt.graph.rect)
+ gt.setviewsize ([vt.vtid = vt;], gt.graph.rect);
+ gt.drawgraph (gt, [vt.vtid = vt;]);
+ for (id in vt.uifuncs)
+ if (id == 'closeview')
+ widgets[vt.view][id] = vt.uifuncs[id];
+ else
+ widgets[vt.canvas][id] = vt.uifuncs[id];
+ return vt;
+};
+dotty.protogt.destroyview = function (gt, vt) {
+ destroywidget (vt.canvas);
+ destroywidget (vt.scroll);
+ if (vt.view ~= -1) {
+ destroywidget (vt.view);
+ remove (vt.view, dotty.views);
+ }
+ remove (vt.scroll, dotty.views);
+ remove (vt.canvas, dotty.views);
+ if (vt.gtid >= 0)
+ remove (vt.vtid, gt.views);
+ if (tablesize (dotty.views) == 0)
+ exit ();
+};
+dotty.protogt.zoom = function (gt, vt, factor, pos) {
+ gt.setviewscale ([vt.vtid = vt;], factor);
+ if (pos)
+ gt.setviewcenter ([vt.vtid = vt;], pos);
+ gt.redrawgraph (gt, [vt.vtid = vt;]);
+};
+dotty.protogt.findnode = function (gt, vt) {
+ local key, node, node1, nid;
+
+ if (~(key = ask ('give node name or label')))
+ return;
+ if (gt.graph.nodedict[key] >= 0)
+ node = gt.graph.nodes[gt.graph.nodedict[key]];
+ else if (gt.graph.nodedict[ston (key)] >= 0)
+ node = gt.graph.nodes[gt.graph.nodedict[ston (key)]];
+ else {
+ for (nid in gt.graph.nodes) {
+ node1 = gt.graph.nodes[nid];
+ if (node1.attr.label == key | node1.attr.label == ston (key)) {
+ node = node1;
+ break;
+ }
+ }
+ }
+ if (~node) {
+ dotty.message (0, concat ('cannot find node: ', key));
+ return;
+ }
+ gt.setviewcenter ([vt.vtid = vt;], node.pos);
+};
+dotty.protogt.setattr = function (gt, obj) {
+ local kv, t, attr, value;
+
+ if (~(kv = ask ('give attr/value, eg. color=blue')))
+ return;
+ t = split (kv, '=');
+ attr = t[0];
+ value = t[1];
+ if (
+ obj.attr == gt.graph.graphattr |
+ obj.attr == gt.graph.edgeattr |
+ obj.attr == gt.graph.nodeattr
+ ) {
+ obj.attr[attr] = value;
+ return;
+ }
+ if (obj.nid >= 0) {
+ gt.undrawnode (gt, gt.views, obj);
+ obj.attr[attr] = value;
+ gt.unpacknodeattr (gt, obj);
+ gt.drawnode (gt, gt.views, obj);
+ } else if (obj.eid >= 0) {
+ gt.undrawedge (gt, gt.views, obj);
+ obj.attr[attr] = value;
+ gt.unpackedgeattr (gt, obj);
+ gt.drawedge (gt, gt.views, obj);
+ }
+};
+dotty.protogt.getattr = function (gt, node) {
+ local kv;
+
+ if (~(kv.key = ask ('give attr name')))
+ return null;
+ if ((kv.val = node.attr[kv.key]))
+ return kv;
+ return null;
+};
+#
+# utilities
+#
+dotty.createviewandgraph = function (name, type, protogt, protovt) {
+ local vt, gt;
+
+ if (~protogt)
+ protogt = dotty.protogt;
+ if (protogt.creategraph)
+ gt = protogt.creategraph (protogt);
+ else
+ gt = dotty.protogt.creategraph (protogt);
+ vt = gt.createview (gt, protovt);
+ if (~protogt.graph)
+ protogt.graph = copy (dotty.protogt.graph);
+ if (name)
+ gt.loadgraph (gt, name, type, protogt.graph, 1);
+ return ['gt' = gt; 'vt' = vt;];
+};
+dotty.openio = function (name, type, mode) {
+ local fd;
+
+ if (~name)
+ return null;
+ if (type == 'file') {
+ if (name == '-') {
+ if (mode == 'r' | mode == 'r+')
+ fd = 0;
+ else
+ fd = 1;
+ } else if (~((fd = openio ('file', name, mode)) >= 0)) {
+ dotty.message (0, concat ('cannot open file: ', name));
+ return null;
+ }
+ } else if (type == 'pipe') {
+ if (~((fd = openio (
+ 'pipe', 'ksh', mode, concat ("%e ", name)
+ )) >= 0)) {
+ dotty.message (0, concat ('cannot run command: ', name));
+ return null;
+ }
+ } else
+ return null;
+ return fd;
+};
+dotty.pushbusy = function (gt, views) {
+ local vid;
+
+ if (gt.busy == 0)
+ for (vid in gt.views)
+ setwidgetattr (vid, ['cursor' = 'watch';]);
+ gt.busy = gt.busy + 1;
+};
+dotty.popbusy = function (gt, views) {
+ local vid;
+
+ gt.busy = gt.busy - 1;
+ if (gt.busy == 0)
+ for (vid in gt.views)
+ setwidgetattr (vid, ['cursor' = 'default';]);
+};
+dotty.message = function (level, text) {
+ if (level <= dotty.mlevel)
+ echo ('dotty.lefty: ', text);
+};
+#
+# printing or saving to file
+#
+dotty.protogt.printorsave = function (gt, vt, otype, name, mode, ptype) {
+ local pr, wrect, vsize, xy, psize, canvas, pscanvas, cid, cname, t;
+ local graph, edgehandles, fontmap, eid, edge, nid, node, gid, sgraph;
+ local did, draw, i;
+
+ if (~otype)
+ if (~(otype = ask ('print to', 'choice', 'file|printer')))
+ return;
+ if (otype == 'printer') {
+ if (~getenv ('TMPDIR'))
+ name = concat (getenv ('HOME'), '/.dottyout.ps');
+ else
+ name = concat (getenv ('TMPDIR'), '/.dottyout.ps', random (10000));
+ if (getenv ('LEFTYWINSYS') ~= 'mswin' & ~pr)
+ if (~(pr = ask ('printer command', 'string', 'lpr')))
+ return;
+ }
+ if (~name)
+ if (~(name = ask ('postscript file', 'file', 'out.ps')))
+ return;
+ if (~ptype)
+ if (~(ptype = ask ('page size', 'choice', '8.5x11|11x17|36x50')))
+ return;
+ if (~mode)
+ if (~(mode = ask ('mode', 'choice', 'portrait|landscape|best fit')))
+ return;
+ wrect = copy (vt.wrect);
+ wrect[0].x = wrect[0].x - 1;
+ wrect[1].x = wrect[1].x + 1;
+ wrect[0].y = wrect[0].y - 1;
+ wrect[1].y = wrect[1].y + 1;
+ vsize = copy (vt.vsize);
+ if (vsize.x == 0)
+ vsize.x = 1;
+ if (vsize.y == 0)
+ vsize.y = 1;
+ xy = vsize.x / vsize.y;
+ if (mode == 'best fit') {
+ if (xy < 1)
+ mode = 'portrait';
+ else
+ mode = 'landscape';
+ }
+ psize = dotty.pagesizes[ptype];
+ if (mode == 'portrait') {
+ if (xy < psize.x / psize.y) {
+ vsize.y = psize.y * 300;
+ vsize.x = vsize.y * xy;
+ } else {
+ vsize.x = psize.x * 300;
+ vsize.y = vsize.x / xy;
+ }
+ } else {
+ if (xy < psize.y / psize.x) {
+ vsize.y = psize.x * 300;
+ vsize.x = vsize.y * xy;
+ } else {
+ vsize.x = psize.y * 300;
+ vsize.y = vsize.x / xy;
+ }
+ }
+ if (~((pscanvas = createwidget (-1, [
+ 'type' = 'ps';
+ 'origin' = ['x' = 0; 'y' = 0;];
+ 'size' = vsize;
+ 'mode' = mode;
+ 'name' = name;
+ ])) >= 0)) {
+ dotty.message (0, 'cannot open printer device');
+ return;
+ }
+ for (cname in vt.colors) {
+ cid = vt.colors[cname];
+ if (cname == '_bgcolor_')
+ setwidgetattr (pscanvas, ['color' = [0 = cid;];]);
+ else if (setwidgetattr (pscanvas, ['color' = [cid = cname;];]) ~= 1) {
+ t = split (cname, ' ');
+ if (tablesize (t) ~= 3 | setwidgetattr (pscanvas, [
+ 'color' = [cid = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];
+ ]) ~= 1) {
+ dotty.message (
+ 0, concat ('unknown color ', cname, ' using #1')
+ );
+ }
+ }
+ }
+ setwidgetattr (pscanvas, ['window' = wrect;]);
+ graph = copy (gt.graph);
+ canvas = vt.canvas;
+ vt.canvas = pscanvas;
+ edgehandles = gt.edgehandles;
+ gt.edgehandles = 0;
+ fontmap = dotty.maps[getenv ('LEFTYWINSYS')].psfontmap;
+ for (eid in graph.edges) {
+ edge = graph.edges[eid];
+ edge.fontname = fontmap[edge.attr.fontname];
+ for (did in edge.draws) {
+ if (did == 'ep')
+ continue;
+ draw = edge.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawedge (gt, [0 = vt;], edge);
+ }
+ for (nid in graph.nodes) {
+ node = graph.nodes[nid];
+ node.fontname = fontmap[node.attr.fontname];
+ for (did in node.draws) {
+ if (did == 'ep')
+ continue;
+ draw = node.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawnode (gt, [0 = vt;], node);
+ }
+ for (gid in graph.graphs) {
+ sgraph = graph.graphs[gid];
+ sgraph.fontname = fontmap[sgraph.graphattr.fontname];
+ for (did in sgraph.draws) {
+ if (did == 'ep')
+ continue;
+ draw = sgraph.draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if (draw[i].type == 'F')
+ draw[i].fn = fontmap[draw[i].ofn];
+ }
+ gt.drawsgraph (gt, [0 = vt;], sgraph);
+ }
+ graph.fontname = fontmap[graph.graphattr.fontname];
+ gt.drawsgraph (gt, [0 = vt;], graph);
+ gt.edgehandles = edgehandles;
+ vt.canvas = canvas;
+ destroywidget (pscanvas);
+ if (otype == 'printer' & getenv ('LEFTYWINSYS') ~= 'mswin')
+ system (concat (pr, ' ', name, '; rm ',name));
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_draw.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_draw.lefty
new file mode 100644
index 0000000..cd67f3e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_draw.lefty
@@ -0,0 +1,596 @@
+#
+# dotty_draw: drawing functions and data structures
+#
+dotty.protogt.drawgraph = function (gt, views) {
+ local gid, eid, nid, graph;
+
+ graph = gt.graph;
+ gt.drawsgraph (gt, views, graph);
+ for (gid in graph.graphs)
+ gt.drawsgraph (gt, views, graph.graphs[gid]);
+ for (eid in graph.edges)
+ gt.drawedge (gt, views, graph.edges[eid]);
+ for (nid in graph.nodes)
+ gt.drawnode (gt, views, graph.nodes[nid]);
+};
+dotty.protogt.redrawgraph = function (gt, views) {
+ local vid;
+
+ for (vid in views)
+ clear (views[vid].canvas);
+ gt.drawgraph (gt, views);
+};
+dotty.protogt.setviewsize = function (views, r) {
+ local vid, vt, w2v, scale, attr;
+
+ for (vid in views) {
+ vt = views[vid];
+ vt.wrect = copy (r);
+ if (r[1].x == 0 | r[1].y == 0) {
+ attr = getwidgetattr (vt.scroll, [0 = 'size';]);
+ vt.wrect[1] = copy (attr.size);
+ }
+ if (vt.type == 'birdseye') {
+ attr = getwidgetattr (vt.scroll, [0 = 'size';]);
+ scale.x = (vt.wrect[1].x - vt.wrect[0].x) / attr.size.x;
+ scale.y = (vt.wrect[1].y - vt.wrect[0].y) / attr.size.y;
+ if (scale.x > 1 & scale.x > scale.y)
+ vt.w2v = scale.x;
+ else if (scale.y > 1)
+ vt.w2v = scale.y;
+ else
+ vt.w2v = 1;
+ }
+ w2v = vt.w2v;
+ vt.vsize = [
+ 'x' = toint ((vt.wrect[1].x - vt.wrect[0].x) / w2v);
+ 'y' = toint ((vt.wrect[1].y - vt.wrect[0].y) / w2v);
+ ];
+ setwidgetattr (vt.canvas, [
+ 'window' = vt.wrect;
+ 'viewport' = vt.vsize;
+ ]);
+ attr = getwidgetattr (vt.canvas, [0 = 'viewport';]);
+ vt.vsize = copy (attr.viewport);
+ }
+};
+dotty.protogt.setviewscale = function (views, factor) {
+ local vid, vt, w2v, attr;
+
+ for (vid in views) {
+ vt = views[vid];
+ if ((w2v = vt.w2v * factor) < 0.01) {
+ dotty.message (0, 'cannot zoom any closer');
+ return;
+ }
+ vt.w2v = w2v;
+ vt.vsize = [
+ 'x' = (vt.wrect[1].x - vt.wrect[0].x) / w2v;
+ 'y' = (vt.wrect[1].y - vt.wrect[0].y) / w2v;
+ ];
+ setwidgetattr (vt.canvas, ['viewport' = vt.vsize;]);
+ attr = getwidgetattr (vt.canvas, [0 = 'viewport';]);
+ vt.vsize = copy (attr.viewport);
+ }
+};
+dotty.protogt.setviewcenter = function (views, center) {
+ local vid, vt, pos;
+
+ for (vid in views) {
+ vt = views[vid];
+ pos = [
+ 'x' = center.x * vt.vsize.x / (vt.wrect[1].x - vt.wrect[0].x);
+ 'y' = (
+ (vt.wrect[1].y - center.y) * vt.vsize.y /
+ (vt.wrect[1].y - vt.wrect[0].y)
+ );
+ ];
+ setwidgetattr (vt.scroll, ['childcenter' = pos;]);
+ }
+};
+#
+# draw graph components
+#
+dotty.protogt.drawsgraph = function (gt, views, sgraph) {
+ sgraph.draw = 1;
+ if (~sgraph.draws)
+ return;
+ gt.execalldraw (gt, views, null, sgraph.draws, [
+ 'fontname' = sgraph.fontname;
+ 'fontsize' = sgraph.fontsize;
+ 'fontcolor' = sgraph.fontcolor;
+ 'drawcolor' = sgraph.drawcolor;
+ 'fillcolor' = sgraph.fillcolor;
+ ]);
+};
+dotty.protogt.undrawsgraph = function (gt, views, sgraph) {
+ sgraph.drawn = 0;
+ if (~sgraph.draws)
+ return;
+ gt.execalldraw (gt, views, null, sgraph.draws, [
+ 'fontname' = sgraph.fontname;
+ 'fontsize' = sgraph.fontsize;
+ 'fontcolor' = sgraph.fontcolor;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+};
+dotty.protogt.drawnode = function (gt, views, node) {
+ local vid;
+
+ node.drawn = 1;
+ if (~node.draws)
+ return;
+ gt.execalldraw (gt, views, node, node.draws, [
+ 'fontname' = node.fontname;
+ 'fontsize' = node.fontsize;
+ 'fontcolor' = node.fontcolor;
+ 'drawcolor' = node.drawcolor;
+ 'fillcolor' = node.fillcolor;
+ ]);
+ for (vid in views)
+ setpick (views[vid].canvas, node, node.rect);
+};
+dotty.protogt.undrawnode = function (gt, views, node) {
+ local vid;
+
+ if (~node.drawn)
+ return;
+ node.drawn = 0;
+ if (~node.pos)
+ return;
+ gt.execalldraw (gt, views, node, node.draws, [
+ 'nooverride' = 1;
+ 'fontname' = node.fontname;
+ 'fontsize' = node.fontsize;
+ 'fontcolor' = 0;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+ for (vid in views)
+ clearpick (views[vid].canvas, node);
+};
+dotty.protogt.movenode = function (gt, node, pos) {
+ local dp, eid, edge;
+
+ dp.x = pos.x - node.pos.x;
+ dp.y = pos.y - node.pos.y;
+ gt.undrawnode (gt, gt.views, node);
+ node.pos.x = pos.x;
+ node.pos.y = pos.y;
+ gt.movenodedraw (node.draws, dp);
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ gt.undrawedge (gt, gt.views, edge);
+ gt.moveedgedraw (edge.draws, edge.tail.pos, edge.head.pos);
+ gt.drawedge (gt, gt.views, edge);
+ }
+ gt.drawnode (gt, gt.views, node);
+};
+dotty.protogt.drawedge = function (gt, views, edge) {
+ local vid, canvas;
+
+ edge.drawn = 1;
+ if (~edge.draws)
+ return;
+ gt.execalldraw (gt, views, edge, edge.draws, [
+ 'fontname' = edge.fontname;
+ 'fontsize' = edge.fontsize;
+ 'fontcolor' = edge.fontcolor;
+ 'drawcolor' = edge.drawcolor;
+ 'fillcolor' = edge.fillcolor;
+ ]);
+ for (vid in views) {
+ canvas = views[vid].canvas;
+ if (gt.edgehandles == 0 | ~edge.draws.ep)
+ continue;
+ arc (canvas, edge, edge.draws.ep, ['x' = 5; 'y' = 5;], ['color' = 1;]);
+ }
+};
+dotty.protogt.undrawedge = function (gt, views, edge) {
+ local vid, canvas;
+
+ if (~edge.drawn)
+ return;
+ edge.drawn = 0;
+ if (~edge.draws)
+ return;
+ gt.execalldraw (gt, views, edge, edge.draws, [
+ 'nooverride' = 1;
+ 'fontname' = edge.fontname;
+ 'fontsize' = edge.fontsize;
+ 'fontcolor' = 0;
+ 'drawcolor' = 0;
+ 'fillcolor' = 0;
+ ]);
+ for (vid in views) {
+ canvas = views[vid].canvas;
+ if (gt.edgehandles == 0 | ~edge.draws.ep)
+ continue;
+ arc (canvas, edge, edge.draws.ep, ['x' = 5; 'y' = 5;], ['color' = 0;]);
+ clearpick (canvas, edge);
+ }
+};
+#
+# draw directives
+#
+dotty.protogt.execalldraw = function (gt, views, obj, draws, gc) {
+ local vid, vt, did, draw, i, func;
+
+ for (vid in views) {
+ vt = views[vid];
+ for (did in draws) {
+ if (did == 'ep')
+ continue;
+ draw = draws[did];
+ for (i = 0; draw[i]; i = i + 1)
+ if ((func = gt.drawfunc[draw[i].type]))
+ func (gt, vt.canvas, obj, draw[i], gc);
+ }
+ }
+};
+dotty.protogt.drawfunc.E = function (gt, canvas, obj, data, gc) {
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.e = function (gt, canvas, obj, data, gc) {
+ arc (canvas, obj, data.c, data.s, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.P = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.p = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.L = function (gt, canvas, obj, data, gc) {
+ polygon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.b = function (gt, canvas, obj, data, gc) {
+ splinegon (canvas, obj, data.ps, [
+ 'color' = gc.fillcolor; 'style' = gc.style; 'width' = gc.width;
+ 'fill' = 'on';
+ ]);
+};
+dotty.protogt.drawfunc.B = function (gt, canvas, obj, data, gc) {
+ splinegon (canvas, obj, data.ps, [
+ 'color' = gc.drawcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.T = function (gt, canvas, obj, data, gc) {
+ text (canvas, obj, data.p, data.s, gc.fontname, gc.fontsize, data.j, [
+ 'color' = gc.fontcolor; 'style' = gc.style; 'width' = gc.width;
+ ]);
+};
+dotty.protogt.drawfunc.C = function (gt, canvas, obj, data, gc) {
+ if (gc.nooverride ~= 1)
+ gc.fillcolor = data.fillcolor;
+};
+dotty.protogt.drawfunc.c = function (gt, canvas, obj, data, gc) {
+ if (gc.nooverride ~= 1) {
+ gc.drawcolor = data.drawcolor;
+ gc.fontcolor = data.drawcolor;
+ }
+};
+dotty.protogt.drawfunc.F = function (gt, canvas, obj, data, gc) {
+ gc.fontname = data.fn;
+ gc.fontsize = data.fs;
+};
+dotty.protogt.drawfunc.S = function (gt, canvas, obj, data, gc) {
+ gc.style = data.style;
+ gc.width = data.width;
+};
+dotty.protogt.movenodedraw = function (draws, dp) {
+ local did, draw, i, j;
+
+ for (did in draws) {
+ if (did == 'ep')
+ continue;
+ draw = draws[did];
+ for (i = 0; draw[i]; i = i + 1) {
+ if (draw[i].type == 'E' | draw[i].type == 'e') {
+ draw[i].c.x = draw[i].c.x + dp.x;
+ draw[i].c.y = draw[i].c.y + dp.y;
+ } else if (draw[i].type == 'P' | draw[i].type == 'p') {
+ for (j = 1; draw[i].ps[j]; j = j + 1) {
+ draw[i].ps[j].x = draw[i].ps[j].x + dp.x;
+ draw[i].ps[j].y = draw[i].ps[j].y + dp.y;
+ }
+ } else if (draw[i].type == 'L' | draw[i].type == 'B') {
+ for (j = 0; draw[i].ps[j]; j = j + 1) {
+ draw[i].ps[j].x = draw[i].ps[j].x + dp.x;
+ draw[i].ps[j].y = draw[i].ps[j].y + dp.y;
+ }
+ } else if (draw[i].type == 'T') {
+ draw[i].p.x = draw[i].p.x + dp.x;
+ draw[i].p.y = draw[i].p.y + dp.y;
+ }
+ }
+ }
+};
+dotty.protogt.moveedgedraw = function (draws, tp, hp) {
+ local draws2, did;
+
+ for (did in draws)
+ draws2[did] = draws[did];
+ for (did in draws2)
+ remove (did, draws);
+ draws[0] = [
+ 0 = [
+ 'type' = 'L';
+ 'n' = 2;
+ 'ps' = [
+ 0 = copy (tp);
+ 1 = copy (hp);
+ ];
+ ];
+ 'ep' = ['x' = (tp.x + hp.x) / 2; 'y' = (tp.y + hp.y) / 2;];
+ ];
+};
+dotty.protogt.simplenodedraw = function (node, c, s) {
+ local draws;
+
+ if (node.attr.shape == 'ellipse')
+ draws[0] = [
+ 0 = [
+ 'type' = 'e';
+ 'c' = copy (c);
+ 's' = ['x' = s.x / 2; 'y' = s.y / 2;];
+ ];
+ ];
+ else
+ draws[0] = [
+ 0 = [
+ 'type' = 'p';
+ 'n' = 5;
+ 'ps' = [
+ 0 = ['x' = c.x - s.x / 2; 'y' = c.y - s.y / 2;];
+ 1 = ['x' = c.x + s.x / 2; 'y' = c.y - s.y / 2;];
+ 2 = ['x' = c.x + s.x / 2; 'y' = c.y + s.y / 2;];
+ 3 = ['x' = c.x - s.x / 2; 'y' = c.y + s.y / 2;];
+ 4 = ['x' = c.x - s.x / 2; 'y' = c.y - s.y / 2;];
+ ];
+ ];
+ ];
+ return draws;
+};
+dotty.protogt.simpleedgedraw = function (edge, tp, hp) {
+ local draws;
+
+ draws[0] = [
+ 0 = [
+ 'type' = 'L';
+ 'n' = 2;
+ 'ps' = [
+ 0 = copy (tp);
+ 1 = copy (hp);
+ ];
+ ];
+ 'ep' = ['x' = (tp.x + hp.x) / 2; 'y' = (tp.y + hp.y) / 2;];
+ ];
+ return draws;
+};
+#
+# utilities
+#
+dotty.protogt.getcolor = function (views, name) {
+ local vid, vt, color, t;
+
+ for (vid in views) {
+ vt = views[vid];
+ if (~(color >= 0)) {
+ if (~(vt.colors[name] >= 0))
+ color = (vt.colors[name] = vt.colorn);
+ else {
+ color = vt.colors[name];
+ break;
+ }
+ } else if (~(vt.colors[name] >= 0))
+ vt.colors[name] = color;
+ else if (vt.colors[name] ~= color)
+ dotty.message (0, concat ('inconsistent color ids for ', name));
+ if (setwidgetattr (vt.canvas, ['color' = [color = name;];]) ~= 1) {
+ t = split (name, ' ');
+ if (tablesize (t) ~= 3 |
+ setwidgetattr (vt.canvas, ['color' = [color = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];]) ~= 1) {
+ dotty.message (0, concat ('unknown color ', name, ' using #1'));
+ return 1;
+ }
+ }
+ vt.colorn = color + 1;
+ }
+ return color;
+};
+dotty.protogt.setbgcolor = function (views, name) {
+ local vid, vt, t;
+
+ for (vid in views) {
+ vt = views[vid];
+ if (setwidgetattr (vt.canvas, ['color' = [0 = name;];]) ~= 1) {
+ t = split (name, ' ');
+ if (tablesize (t) ~= 3 |
+ setwidgetattr (vt.canvas, ['color' = [0 = [
+ 'h' = ston (t[0]); 's' = ston (t[1]); 'v' = ston (t[2]);
+ ];];]) ~= 1) {
+ dotty.message (0, concat ('unknown bgcolor ', name));
+ return;
+ }
+ }
+ vt.colors['_bgcolor_'] = name;
+ }
+};
+dotty.protogt.unpacksgraphattr = function (gt, sgraph) {
+ local attr;
+
+ attr = sgraph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ sgraph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ sgraph[dotty.keys.fname] = attr.fontname;
+ sgraph[dotty.keys.fsize] = ston (attr.fontsize);
+ sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpacknodeattr = function (gt, node) {
+ local attr;
+
+ attr = node.attr;
+ if (dotty.fontmap[attr.fontname])
+ node[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ node[dotty.keys.fname] = attr.fontname;
+ node[dotty.keys.fsize] = ston (attr.fontsize);
+ node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpackedgeattr = function (gt, edge) {
+ local attr;
+
+ attr = edge.attr;
+ if (dotty.fontmap[attr.fontname])
+ edge[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ edge[dotty.keys.fname] = attr.fontname;
+ edge[dotty.keys.fsize] = ston (attr.fontsize);
+ edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+};
+dotty.protogt.unpackattr = function (gt) {
+ local gid, sgraph, nid, node, eid, edge, graph, attr;
+
+ graph = gt.graph;
+ attr = graph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ graph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ graph[dotty.keys.fname] = attr.fontname;
+ graph[dotty.keys.fsize] = ston (attr.fontsize);
+ graph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ graph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.fillcolor);
+ else if (attr.color)
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ graph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ if (attr.bgcolor & attr.bgcolor ~= '')
+ gt.setbgcolor (gt.views, attr.bgcolor);
+ for (gid in graph.graphdict) {
+ sgraph = graph.graphs[graph.graphdict[gid]];
+ attr = sgraph.graphattr;
+ if (dotty.fontmap[attr.fontname])
+ sgraph[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ sgraph[dotty.keys.fname] = attr.fontname;
+ sgraph[dotty.keys.fsize] = ston (attr.fontsize);
+ sgraph[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ sgraph[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ }
+ for (nid in graph.nodedict) {
+ node = graph.nodes[graph.nodedict[nid]];
+ attr = node.attr;
+ if (dotty.fontmap[attr.fontname])
+ node[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ node[dotty.keys.fname] = attr.fontname;
+ node[dotty.keys.fsize] = ston (attr.fontsize);
+ node[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ if (attr.style == 'filled') {
+ if (attr.fillcolor)
+ node[dotty.keys.bcolor] = gt.getcolor (
+ gt.views, attr.fillcolor
+ );
+ else if (attr.color)
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ node[dotty.keys.bcolor] = gt.getcolor (gt.views, 'lightgrey');
+ }
+ }
+ for (eid in graph.edges) {
+ edge = graph.edges[eid];
+ attr = edge.attr;
+ if (dotty.fontmap[attr.fontname])
+ edge[dotty.keys.fname] = dotty.fontmap[attr.fontname];
+ else
+ edge[dotty.keys.fname] = attr.fontname;
+ edge[dotty.keys.fsize] = ston (attr.fontsize);
+ edge[dotty.keys.fcolor] = gt.getcolor (gt.views, attr.fontcolor);
+ if (attr.color)
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, attr.color);
+ else
+ edge[dotty.keys.dcolor] = gt.getcolor (gt.views, 'black');
+ }
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_edit.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_edit.lefty
new file mode 100644
index 0000000..41c11d8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_edit.lefty
@@ -0,0 +1,593 @@
+#
+# dotty_edit: editing functions and data structures
+#
+dotty.protogt.getnodesbyattr = function (gt, key, val) {
+ local nid, node, nlist;
+
+ nlist = [];
+ for (nid in gt.graph.nodes) {
+ node = gt.graph.nodes[nid];
+ if (node.attr[key] == val)
+ nlist[nid] = node;
+ }
+ return nlist;
+};
+dotty.protogt.reachablenodes = function (gt, node) {
+ local nlist, stack, eid, edge, i;
+
+ stack[0] = node;
+ i = 1;
+ while (i > 0) {
+ node = stack[i - 1];
+ i = i - 1;
+ nlist[node.nid] = node;
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (~nlist[edge.head.nid]) {
+ nlist[edge.head.nid] = edge.head;
+ stack[i] = edge.head;
+ i = i + 1;
+ }
+ }
+ }
+ return nlist;
+};
+dotty.protogt.mergegraph = function (gt, graph, show) {
+ local nameid, onode, pos, size, eid, eid2, tnode, hnode, oedge;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (nameid in graph.nodedict) {
+ pos = null;
+ size = null;
+ onode = graph.nodes[graph.nodedict[nameid]];
+ if (onode.pos)
+ pos = node.pos;
+ if (onode.size)
+ size = node.size;
+ if (~(gt.graph.nodedict[nameid] >= 0)) {
+ pos = null;
+ size = null;
+ if (onode.pos)
+ pos = node.pos;
+ if (onode.size)
+ size = node.size;
+ gt.insertnode (gt, pos, size, nameid, onode.attr, show);
+ }
+ }
+ for (eid in graph.edges) {
+ oedge = graph.edges[eid];
+ tnode = gt.graph.nodes[gt.graph.nodedict[oedge.tail.name]];
+ hnode = gt.graph.nodes[gt.graph.nodedict[oedge.head.name]];
+ for (eid2 in tnode.edges)
+ if (
+ tnode.edges[eid2].tail == tnode &
+ tnode.edges[eid2].head == hnode
+ ) {
+ oedge = null;
+ break;
+ }
+ if (oedge)
+ gt.insertedge (gt, tnode, null, hnode, null, oedge.attr, show);
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.insertsgraph = function (gt, name, attr, show) {
+ local gid, sgraph, aid;
+
+ if (~gt)
+ return null;
+ gid = gt.graph.maxgid;
+ if (~name) {
+ while (gt.graph.graphdict[(name = concat ('g', gid))] >= 0)
+ gid = gid + 1;
+ } else if (gt.graph.graphdict[name]) {
+ dotty.message (0, concat ('graph: ', name, ' exists'));
+ return null;
+ }
+ gt.graph.graphdict[name] = gid;
+ gt.graph.maxgid = gid + 1;
+ gt.graph.graphs[gid] = [
+ dotty.keys.gid = gid;
+ dotty.keys.name = name;
+ dotty.keys.gattr = copy (gt.graph.graphattr);
+ dotty.keys.nattr = copy (gt.graph.nodeattr);
+ dotty.keys.eattr = copy (gt.graph.edgeattr);
+ ];
+ sgraph = gt.graph.graphs[gid];
+ if (~attr)
+ attr = [];
+ if (~attr.label)
+ attr.label = '\N';
+ for (aid in attr)
+ sgraph.graphattr[aid] = attr[aid];
+ gt.unpacksgraphattr (gt, sgraph);
+ if (show)
+ gt.drawsgraph (gt, gt.views, sgraph);
+ return sgraph;
+};
+dotty.protogt.removesgraph = function (gt, sgraph) {
+ gt.undrawsgraph (gt, gt.views, sgraph);
+ remove (sgraph.name, gt.graph.graphdict);
+ remove (sgraph.gid, gt.graph.graphs);
+};
+dotty.protogt.insertnode = function (gt, pos, size, name, attr, show) {
+ local nid, node, aid;
+
+ nid = gt.graph.maxnid;
+ if (~name) {
+ while (gt.graph.nodedict[(name = concat ('n', nid))] >= 0)
+ nid = nid + 1;
+ } else if (gt.graph.nodedict[name] >= 0) {
+ dotty.message (0, concat ('node: ', name, ' exists'));
+ return null;
+ }
+ gt.graph.nodedict[name] = nid;
+ gt.graph.maxnid = nid + 1;
+ gt.graph.nodes[nid] = [
+ dotty.keys.nid = nid;
+ dotty.keys.name = name;
+ dotty.keys.attr = copy (gt.graph.nodeattr);
+ dotty.keys.edges = [];
+ ];
+ node = gt.graph.nodes[nid];
+ if (~attr)
+ attr = [];
+ if (~attr.label)
+ attr.label = '\N';
+ for (aid in attr)
+ node.attr[aid] = attr[aid];
+ gt.unpacknodeattr (gt, node);
+ if (~pos)
+ pos = ['x' = 10; 'y' = 10;];
+ node[dotty.keys.pos] = copy (pos);
+ if (~size)
+ size = ['x' = strlen (attr.label) * 30; 'y' = 30;];
+ if (size.x == 0)
+ size.x = 30;
+ node[dotty.keys.size] = copy (size);
+ node[dotty.keys.rect] = [
+ 0 = ['x' = pos.x - size.x / 2; 'y' = pos.y - size.y / 2;];
+ 1 = ['x' = pos.x + size.x / 2; 'y' = pos.y + size.y / 2;];
+ ];
+ node.draws = gt.simplenodedraw (node, pos, size);
+ if (show)
+ gt.drawnode (gt, gt.views, node);
+ if (~gt.noundo) {
+ gt.startadd2undo (gt);
+ gt.currundo.inserted.nodes[nid] = node;
+ gt.endadd2undo (gt);
+ }
+ return node;
+};
+dotty.protogt.removenode = function (gt, node) {
+ local eid, list, edge, gid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (eid in node.edges)
+ list[eid] = node.edges[eid];
+ for (eid in list)
+ gt.removeedge (gt, list[eid]);
+ gt.undrawnode (gt, gt.views, node);
+ for (gid in gt.graph.graphs)
+ remove (node.nid, gt.graph.graphs[gid].nodes);
+ remove (node.name, gt.graph.nodedict);
+ remove (node.nid, gt.graph.nodes);
+ if (~gt.noundo) {
+ gt.currundo.deleted.nodes[node.nid] = node;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.insertedge = function (
+ gt, nodea, porta, nodeb, portb, attr, show
+) {
+ local eid, edge, aid, tport, hport;
+
+ if (~nodea | ~nodeb)
+ return null;
+ if (porta)
+ tport = porta;
+ if (portb)
+ hport = portb;
+ eid = gt.graph.maxeid;
+ while (gt.graph.edges[eid])
+ eid = eid + 1;
+ gt.graph.maxeid = eid + 1;
+ gt.graph.edges[eid] = [
+ dotty.keys.eid = eid;
+ dotty.keys.tail = nodea;
+ dotty.keys.tport = porta;
+ dotty.keys.head = nodeb;
+ dotty.keys.hport = portb;
+ dotty.keys.attr = copy (gt.graph.edgeattr);
+ ];
+ edge = gt.graph.edges[eid];
+ if (~attr)
+ attr = [];
+ for (aid in attr)
+ edge.attr[aid] = attr[aid];
+ nodea.edges[eid] = edge;
+ nodeb.edges[eid] = edge;
+ gt.unpackedgeattr (gt, edge);
+ edge.draws = gt.simpleedgedraw (edge, nodea.pos, nodeb.pos);
+ if (show)
+ gt.drawedge (gt, gt.views, edge);
+ if (~gt.noundo) {
+ gt.startadd2undo (gt);
+ gt.currundo.inserted.edges[eid] = edge;
+ gt.endadd2undo (gt);
+ }
+ return edge;
+};
+dotty.protogt.removeedge = function (gt, edge) {
+ local head, tail;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (edge.head.attr.support == 1)
+ head = edge.head;
+ if (edge.tail.attr.support == 1)
+ if (head ~= edge.tail)
+ tail = edge.tail;
+ gt.undrawedge (gt, gt.views, edge);
+ remove (edge.eid, edge.head.edges);
+ remove (edge.eid, edge.tail.edges);
+ remove (edge.eid, gt.graph.edges);
+ if (head & tablesize (head.edges) == 0)
+ gt.removenode (gt, head);
+ if (tail & tablesize (tail.edges) == 0)
+ gt.removenode (gt, tail);
+ if (~gt.noundo) {
+ gt.currundo.deleted.edges[edge.eid] = edge;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.swapedgeids = function (gt, edge1, edge2) {
+ local eid1, eid2;
+
+ if (edge1.eid == edge2.eid)
+ return;
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ eid1 = edge1.eid;
+ eid2 = edge2.eid;
+ gt.graph.edges[eid1] = edge2;
+ gt.graph.edges[eid2] = edge1;
+ remove (eid1, edge1.tail.edges);
+ remove (eid1, edge1.head.edges);
+ remove (eid2, edge2.tail.edges);
+ remove (eid2, edge2.head.edges);
+ edge1.tail.edges[eid2] = edge1;
+ edge1.head.edges[eid2] = edge1;
+ edge2.tail.edges[eid1] = edge2;
+ edge2.head.edges[eid1] = edge2;
+ edge1.eid = eid2;
+ edge2.eid = eid1;
+ if (~gt.noundo) {
+ gt.currundo.swapped.edges[eid1] = edge1;
+ gt.currundo.swapped.edges[eid2] = edge2;
+ gt.endadd2undo (gt);
+ }
+};
+dotty.protogt.removesubtree = function (gt, obj) {
+ local nlist, node, head, nid, edge, eid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (obj.nid >= 0)
+ node = obj;
+ else if (obj.eid >= 0) {
+ node = obj.head;
+ gt.removeedge (gt, obj);
+ if (~gt.graph.nodes[node.nid]) {
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return;
+ }
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (edge.head == node & edge.tail ~= node) {
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return;
+ }
+ }
+ } else {
+ dotty.message (0, 'bad object type in gt.removesubtree');
+ return;
+ }
+ nlist = [node.nid = node;];
+ while (node) {
+ for (eid in node.edges) {
+ head = node.edges[eid].head;
+ if (head ~= node)
+ nlist[head.nid] = head;
+ }
+ gt.removenode (gt, node);
+ remove (node.nid, nlist);
+ node = null;
+ for (nid in nlist) {
+ node = nlist[nid];
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ if (edge.head == node & edge.tail ~= node) {
+ node = null;
+ break;
+ }
+ }
+ if (node)
+ break;
+ }
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.removenodesbyattr = function (gt, key, val) {
+ local nlist, nid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ nlist = gt.getnodesbyattr (gt, key, val);
+ for (nid in nlist)
+ gt.removenode (gt, nlist[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.removesubtreesbyattr = function (gt, key, val) {
+ local nlist, nid;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ nlist = gt.getnodesbyattr (gt, key, val);
+ for (nid in nlist)
+ if (gt.graph.nodes[nid])
+ gt.removesubtree (gt, nlist[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.groupnodes = function (
+ gt, nlist, gnode, pos, size, attr, keepmulti, show
+) {
+ local nid, node, elist, eid, edge, nodea, nodeb, inlist, outlist;
+
+ if (~nlist | tablesize (nlist) == 0)
+ return;
+ if (gnode.attr.support) {
+ dotty.message (0, 'cannot group nodes in a support node');
+ return;
+ }
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ if (~gnode)
+ gnode = gt.insertnode (gt, pos, size, null, attr, show);
+ inlist = [];
+ outlist = [];
+ for (nid in nlist) {
+ if ((node = nlist[nid]) == gnode)
+ continue;
+ elist = [];
+ for (eid in node.edges)
+ elist[eid] = node.edges[eid];
+ for (eid in elist) {
+ edge = elist[eid];
+ if (edge.head == node) {
+ nodea = edge.tail;
+ nodeb = gnode;
+ if (~keepmulti) {
+ if (inlist[nodea.nid])
+ continue;
+ inlist[nodea.nid] = nodea;
+ if (nodea == gnode)
+ outlist[nodea.nid] = nodea;
+ }
+ } else {
+ nodea = gnode;
+ nodeb = edge.head;
+ if (~keepmulti) {
+ if (outlist[nodeb.nid])
+ continue;
+ outlist[nodeb.nid] = nodeb;
+ if (nodeb == gnode)
+ inlist[nodeb.nid] = nodeb;
+ }
+ }
+ gt.insertedge (gt, nodea, null, nodeb, null, edge.attr, show);
+ }
+ gt.removenode (gt, node);
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+ return gnode;
+};
+dotty.protogt.groupnodesbyattr = function (
+ gt, key, val, attr, keepmulti, show
+) {
+ local nlist, nid, pos, size;
+
+ pos = null;
+ size = null;
+ nlist = gt.getnodesbyattr (gt, key, val);
+ if (show)
+ for (nid in nlist) {
+ pos = nlist[nid].pos;
+ size = nlist[nid].size;
+ break;
+ }
+ return gt.groupnodes (gt, nlist, null, pos, size, attr, keepmulti, show);
+};
+dotty.protogt.cut = function (gt, obj, set, mode, op) {
+ local clipgt, list, node, nid, edge, eid, clipnode;
+
+ clipgt = dotty.clipgt;
+ clipgt.graph = copy (dotty.protogt.graph);
+ if (obj.eid >= 0) { # it's an edge
+ list.edges[obj.eid] = obj;
+ node = obj.head;
+ } else if (obj.nid >= 0) {
+ list.nodes[obj.nid] = obj;
+ node = obj;
+ for (eid in node.edges)
+ list.edges[eid] = node.edges[eid];
+ } else {
+ dotty.message (0, 'unknown object type in gt.cut');
+ return;
+ }
+ if (set == 'reachable') {
+ list.nodes = gt.reachablenodes (gt, node);
+ for (nid in list.nodes) {
+ node = list.nodes[nid];
+ for (eid in node.edges) {
+ edge = node.edges[eid];
+ list.edges[edge.eid] = edge;
+ }
+ }
+ }
+ if (mode == 'support') {
+ for (eid in list.edges) {
+ edge = list.edges[eid];
+ if (~list.nodes[edge.tail.nid]) {
+ list.support[edge.tail.nid] = edge.tail;
+ list.nodes[edge.tail.nid] = edge.tail;
+ }
+ if (~list.nodes[edge.head.nid]) {
+ list.support[edge.head.nid] = edge.head;
+ list.nodes[edge.head.nid] = edge.head;
+ }
+ }
+ }
+ for (nid = 0; nid < gt.graph.maxnid; nid = nid + 1) {
+ if (~list.nodes[nid])
+ continue;
+ node = list.nodes[nid];
+ clipnode = gt.insertnode (clipgt, null, null, node.name, node.attr, 0);
+ if (list.support[nid])
+ clipnode.support = 1;
+ list.clipnodes[nid] = clipnode;
+ }
+ for (eid = 0; eid < gt.graph.maxeid; eid = eid + 1) {
+ if (~list.edges[eid])
+ continue;
+ edge = list.edges[eid];
+ if (~list.nodes[edge.tail.nid] | ~list.nodes[edge.head.nid])
+ continue;
+ gt.insertedge (
+ clipgt, list.clipnodes[edge.tail.nid], null,
+ list.clipnodes[edge.head.nid], null, edge.attr, 0
+ );
+ }
+ if (op ~= 'cut')
+ return;
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ for (eid in list.edges)
+ gt.removeedge (gt, list.edges[eid]);
+ for (nid in list.nodes)
+ if (~list.support[nid] & gt.graph.nodes[nid])
+ gt.removenode (gt, list.nodes[nid]);
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.paste = function (gt, pos, show) {
+ local clipgt, offset, center, nid, node, eid, edge, nodes;
+
+ if (~gt.noundo)
+ gt.startadd2undo (gt);
+ clipgt = dotty.clipgt;
+ if (clipgt.graph.rect)
+ center = [
+ 'x' = (clipgt.graph.rect[1].x + clipgt.graph.rect[0].x) / 2;
+ 'y' = (clipgt.graph.rect[1].y + clipgt.graph.rect[0].y) / 2;
+ ];
+ else
+ center = pos;
+ offset = [
+ 'x' = center.x - pos.x;
+ 'y' = center.y - pos.y;
+ ];
+ for (nid = 0; clipgt.graph.nodes[nid]; nid = nid + 1) {
+ node = clipgt.graph.nodes[nid];
+ if (node.attr.label == '\N' | ~node.attr.label)
+ node.attr.label = node.name;
+ if (node.support == 1)
+ nodes[nid] = gt.insertnode (gt, [
+ 'x' = node.pos.x - offset.x;
+ 'y' = node.pos.y - offset.y;
+ ], null, null, [
+ 'support' = 1; 'shape' = 'circle';
+ 'label' = ''; 'width' = 0.2;
+ ], show);
+ else
+ nodes[nid] = gt.insertnode (gt, [
+ 'x' = node.pos.x - offset.x;
+ 'y' = node.pos.y - offset.y;
+ ], node.size, null, node.attr, show);
+ }
+ for (eid = 0; clipgt.graph.edges[eid]; eid = eid + 1) {
+ edge = clipgt.graph.edges[eid];
+ gt.insertedge (
+ gt, nodes[edge.tail.nid], null,
+ nodes[edge.head.nid], null, edge.attr, show
+ );
+ }
+ if (~gt.noundo)
+ gt.endadd2undo (gt);
+};
+dotty.protogt.startadd2undo = function (gt) {
+ if (~gt.undoarray.level)
+ gt.currundo = (
+ gt.undoarray.entries[tablesize (gt.undoarray.entries)] = []
+ );
+ gt.undoarray.level = gt.undoarray.level + 1;
+};
+dotty.protogt.endadd2undo = function (gt) {
+ gt.undoarray.level = gt.undoarray.level - 1;
+};
+dotty.protogt.undo = function (gt, show) {
+ local entry, n, eid, edge, nid, node, edges;
+
+ if ((n = tablesize (gt.undoarray.entries)) < 1)
+ return;
+ entry = gt.undoarray.entries[n - 1];
+ remove (n - 1, gt.undoarray.entries);
+ remove ('currundo', gt);
+ gt.noundo = 1;
+ # hardwire nodes and edges back with the same id's as the originals
+ for (nid in entry.deleted.nodes) {
+ node = entry.deleted.nodes[nid];
+ gt.graph.nodedict[node.name] = node.nid;
+ gt.graph.nodes[node.nid] = node;
+ node.edges = [];
+ if (show)
+ gt.drawnode (gt, gt.views, node);
+ }
+ for (eid in entry.deleted.edges) {
+ edge = entry.deleted.edges[eid];
+ gt.graph.edges[edge.eid] = edge;
+ edge.head.edges[edge.eid] = edge;
+ edge.tail.edges[edge.eid] = edge;
+ if (show)
+ gt.drawedge (gt, gt.views, edge);
+ }
+ if (entry.swapped.edges) {
+ if (tablesize (entry.swapped.edges) == 2) {
+ n = 0;
+ for (eid in entry.swapped.edges) {
+ edges[n] = entry.swapped.edges[eid];
+ n = n + 1;
+ }
+ gt.swapedgeids (gt, edges[0], edges[1]);
+ } else
+ dotty.message (0, 'cannot handle undoing swap of > 2 edges');
+ }
+ for (eid in entry.inserted.edges) {
+ edge = entry.inserted.edges[eid];
+ gt.removeedge (gt, edge);
+ }
+ for (nid in entry.inserted.nodes) {
+ node = entry.inserted.nodes[nid];
+ gt.removenode (gt, node);
+ }
+ gt.noundo = 0;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_layout.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_layout.lefty
new file mode 100644
index 0000000..c70eeda
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_layout.lefty
@@ -0,0 +1,449 @@
+#
+# dotty_layout: layout functions and data structures
+#
+dotty.grablserver = function (lserver) {
+ local fd;
+
+ if (~dotty.lservers[lserver] | tablesize (dotty.lservers[lserver]) == 0) {
+ if (~((fd = openio ('pipe', lserver, 'r+', '%e -Txdot')) >= 0)) {
+ dotty.message (0, concat ('cannot start ', lserver));
+ return null;
+ }
+ dotty.lservers[lserver][fd] = [
+ 'fd' = fd;
+ 'count' = 0;
+ ];
+ }
+ for (fd in dotty.lservers[lserver]) {
+ dotty.lservers[lserver][fd].count = dotty.lservers[
+ lserver
+ ][fd].count + 1;
+ dotty.lservers.inuse[fd] = dotty.lservers[lserver][fd];
+ remove (fd, dotty.lservers[lserver]);
+ return fd;
+ }
+};
+dotty.releaselserver = function (lserver, fd, state) {
+ if (state == 'bad' | dotty.lservers.inuse[fd].count > 40) {
+ closeio (fd, 'kill');
+ remove (fd, dotty.lservers.inuse);
+ return;
+ }
+ dotty.lservers[lserver][fd] = dotty.lservers.inuse[fd];
+ remove (fd, dotty.lservers.inuse);
+};
+dotty.protogt.startlayout = function (gt) {
+ local lpt, fd;
+
+ if (gt.layoutpending >= 1) {
+ lpt = dotty.layoutpending[gt.gtid];
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ dotty.popbusy (gt, gt.views);
+ }
+ if (~((fd = dotty.grablserver (gt.lserver)) >= 0))
+ return null;
+ dotty.pushbusy (gt, gt.views);
+ writegraph (fd, gt.graph, 1);
+ gt.layoutpending = 1;
+ dotty.layoutpending[gt.gtid] = [
+ 'fd' = fd;
+ 'gtid' = gt.gtid;
+ ];
+ if (gt.layoutmode == 'async')
+ monitor ('on', fd);
+ return 1;
+};
+dotty.protogt.finishlayout = function (gt) {
+ local graph, lpt, fd;
+
+ if (~(gt.layoutpending >= 1)) {
+ dotty.message (0, concat ('no layout pending for graph ', gt.gtid));
+ return null;
+ }
+ lpt = dotty.layoutpending[gt.gtid];
+ if (~(graph = readgraph (lpt.fd))) {
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ if (gt.layoutpending == 2) {
+ dotty.message (0, concat ('giving up on ', gt.lserver));
+ if ((fd = openio ('file', 'dottybug.dot', 'w+')) >= 0) {
+ writegraph (fd, gt.graph, 0);
+ closeio (fd);
+ dotty.message (
+ 0, concat ('graph that causes ', gt.lserver)
+ );
+ dotty.message (
+ 0, 'to fail has been saved in file dottybug.dot'
+ );
+ dotty.message (
+ 0, 'please fill out a bug report at'
+ );
+ dotty.message (
+ 0, 'http://www.graphviz.org/bugs/bugform.html'
+ );
+ }
+ dotty.popbusy (gt, gt.views);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ return 1;
+ }
+ dotty.message (
+ 1, concat ('lost connection to ', gt.lserver, ', restarting...')
+ );
+ lpt.fd = dotty.grablserver (gt.lserver);
+ writegraph (lpt.fd, gt.graph, 1);
+ if (gt.layoutmode == 'async')
+ monitor ('on', lpt.fd);
+ gt.layoutpending = 2;
+ gt.haveinput = 0;
+ return null;
+ }
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, null);
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ gt.unpacklayout (gt, graph);
+ dotty.popbusy (gt, gt.views);
+ return 1;
+};
+dotty.protogt.cancellayout = function (gt) {
+ local lpt, vid;
+
+ if (gt.layoutpending >= 1) {
+ lpt = dotty.layoutpending[gt.gtid];
+ if (gt.layoutmode == 'async')
+ monitor ('off', lpt.fd);
+ dotty.releaselserver (gt.lserver, lpt.fd, 'bad');
+ remove (gt.gtid, dotty.layoutpending);
+ gt.layoutpending = 0;
+ gt.haveinput = 0;
+ dotty.popbusy (gt, gt.views);
+ }
+};
+dotty.protogt.unpacklayout = function (gt, graph2) {
+ local graph, gid, sgraph1, sgraph2, nid, node1, node2, eid, edge1, edge2;
+ local t1, pos, size;
+
+ graph = gt.graph;
+ for (gid in graph2.graphdict) {
+ if (~(sgraph1 = graph.graphs[graph.graphdict[gid]]))
+ continue;
+ sgraph2 = graph2.graphs[graph2.graphdict[gid]];
+ sgraph1.draws = gt.unpackalldraw (gt, sgraph2.graphattr);
+ }
+ for (nid in graph2.nodedict) {
+ if (~(node1 = graph.nodes[graph.nodedict[nid]]))
+ continue;
+ node2 = graph2.nodes[graph2.nodedict[nid]];
+ node1.draws = gt.unpackalldraw (gt, node2.attr);
+ t1 = split (node2.attr.pos, ',');
+ pos = ['x' = ston (t1[0]); 'y' = ston (t1[1]);];
+ size = [
+ 'x' = ston (node2.attr.width) * 72;
+ 'y' = ston (node2.attr.height) * 72;
+ ];
+ node1.pos = pos;
+ node1.size = size;
+ node1.rect = [
+ 0 = ['x' = pos.x - size.x / 2; 'y' = pos.y - size.y / 2;];
+ 1 = ['x' = pos.x + size.x / 2; 'y' = pos.y + size.y / 2;];
+ ];
+ }
+ for (eid in graph2.edges) {
+ edge2 = graph2.edges[eid];
+ if (edge2.attr.id) {
+ if (~(edge1 = graph.edges[ston (edge2.attr.id)]))
+ continue;
+ } else if (graph == graph2)
+ edge1 = edge2;
+ edge1.draws = gt.unpackalldraw (gt, edge2.attr);
+ }
+ graph.draws = gt.unpackalldraw (gt, graph2.graphattr);
+ t1 = split (graph2.graphattr.bb, ',');
+ graph.rect[0].x = ston (t1[0]);
+ graph.rect[0].y = ston (t1[1]);
+ graph.rect[1].x = ston (t1[2]);
+ graph.rect[1].y = ston (t1[3]);
+ if (gt.graph ~= graph2)
+ return;
+ # strip position and size info from the attributes
+ for (gid in graph2.graphdict) {
+ sgraph2 = graph2.graphs[graph2.graphdict[gid]];
+ gt.removealldraw (gt, sgraph2.graphattr);
+ if (sgraph2.graphattr.bb)
+ remove ('bb', sgraph2.graphattr);
+ }
+ for (nid in graph2.nodedict) {
+ node2 = graph2.nodes[graph2.nodedict[nid]];
+ gt.removealldraw (gt, node2.attr);
+ if (node2.attr.rects)
+ remove ('rects', node2.attr);
+ remove ('pos', node2.attr);
+ remove ('width', node2.attr);
+ remove ('height', node2.attr);
+ }
+ for (eid in graph2.edges) {
+ edge2 = graph2.edges[eid];
+ gt.removealldraw (gt, edge2.attr);
+ if (edge2.attr.pos)
+ remove ('pos', edge2.attr);
+ if (edge2.attr.lp)
+ remove ('lp', edge2.attr);
+ }
+ gt.removealldraw (gt, graph2.graphattr);
+ remove ('bb', graph2.graphattr);
+ if (graph2.graphattr.lp)
+ remove ('lp', graph2.graphattr);
+};
+#
+# draw directive parsing
+#
+dotty.protogt.unpackalldraw = function (gt, attr) {
+ local o, did;
+
+ o = [];
+ if (attr._draw_)
+ o._draw_ = gt.unpackdraw (gt, attr._draw_);
+ if (attr._ldraw_)
+ o._ldraw_ = gt.unpackdraw (gt, attr._ldraw_);
+ if (attr._hdraw_)
+ o._hdraw_ = gt.unpackdraw (gt, attr._hdraw_);
+ if (attr._tdraw_)
+ o._tdraw_ = gt.unpackdraw (gt, attr._tdraw_);
+ if (attr._hldraw_)
+ o._hldraw_ = gt.unpackdraw (gt, attr._hldraw_);
+ if (attr._tldraw_)
+ o._tldraw_ = gt.unpackdraw (gt, attr._tldraw_);
+ for (did in o)
+ if (o[did].ep) {
+ o.ep = o[did].ep;
+ break;
+ }
+ return o;
+};
+dotty.protogt.removealldraw = function (gt, attr) {
+ if (attr._draw_)
+ remove ('_draw_', attr);
+ if (attr._ldraw_)
+ remove ('_ldraw_', attr);
+ if (attr._hdraw_)
+ remove ('_hdraw_', attr);
+ if (attr._tdraw_)
+ remove ('_tdraw_', attr);
+ if (attr._hldraw_)
+ remove ('_hldraw_', attr);
+ if (attr._tldraw_)
+ remove ('_tldraw_', attr);
+};
+dotty.protogt.unpackdraw = function (gt, attr) {
+ local oo, o, tt, t, n, i, j, s, l, ep;
+
+ oo = [];
+ t = split (attr, ' ', 0);
+ n = tablesize (t);
+ if (t[n - 1] == '') {
+ remove (n - 1, t);
+ n = n - 1;
+ }
+ i = 0;
+ while (i < n) {
+ o = [];
+ if (t[i] == 'E') {
+ o.type = t[i];
+ o.c.x = ston (t[i + 1]);
+ o.c.y = ston (t[i + 2]);
+ o.s.x = ston (t[i + 3]);
+ o.s.y = ston (t[i + 4]);
+ i = i + 5;
+ } else if (t[i] == 'e') {
+ o.type = t[i];
+ o.c.x = ston (t[i + 1]);
+ o.c.y = ston (t[i + 2]);
+ o.s.x = ston (t[i + 3]);
+ o.s.y = ston (t[i + 4]);
+ i = i + 5;
+ } else if (t[i] == 'P') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ o.ps[o.n] = o.ps[0];
+ o.n = o.n + 1;
+ } else if (t[i] == 'p') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ o.ps[o.n] = o.ps[0];
+ o.n = o.n + 1;
+ } else if (t[i] == 'L') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'B') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'b') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ for (j = 0; j < o.n; j = j + 1) {
+ o.ps[j].x = ston (t[i + 2 + j * 2]);
+ o.ps[j].y = ston (t[i + 2 + j * 2 + 1]);
+ }
+ i = i + 2 + o.n * 2;
+ if (~ep)
+ ep = copy (o.ps[1]);
+ } else if (t[i] == 'T') {
+ o.type = t[i];
+ o.p.x = ston (t[i + 1]);
+ o.p.y = ston (t[i + 2]);
+ o.j = ston (t[i + 3]);
+ if (o.j == -1)
+ o.j = 'lb';
+ else if (o.j == 1)
+ o.j = 'rb';
+ else if (o.j == 0)
+ o.j = 'cb';
+ o.w = ston (t[i + 4]);
+ o.n = ston (t[i + 5]);
+ i = i + 6;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.s = s;
+ } else if (t[i] == 'C') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.fillcolor = gt.getcolor (gt.views, s);
+ } else if (t[i] == 'c') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.drawcolor = gt.getcolor (gt.views, s);
+ } else if (t[i] == 'F') {
+ o.type = t[i];
+ o.fs = ston (t[i + 1]);
+ o.n = ston (t[i + 2]);
+ i = i + 3;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ o.ofn = s;
+ o.fn = dotty.fontmap[s];
+ } else if (t[i] == 'S') {
+ o.type = t[i];
+ o.n = ston (t[i + 1]);
+ i = i + 2;
+ s = t[i];
+ i = i + 1;
+ l = strlen (s) - 1;
+ while (l < o.n) {
+ s = concat (s, ' ', t[i]);
+ l = l + 1 + strlen (t[i]);
+ i = i + 1;
+ }
+ tt = split (s, '');
+ l = tablesize (tt);
+ s = '';
+ for (j = 1; j < l; j = j + 1)
+ s = concat (s, tt[j]);
+ if (
+ s == 'solid' | s == 'dashed' | s == 'dotted' |
+ s == 'longdashed' | s == 'shortdashed'
+ )
+ o.style = s;
+ else if (s == 'bold')
+ o.width = 3;
+ else {
+ tt = split (s, '(');
+ if (tt[0] == 'setlinewidth') {
+ tt = split (tt[1], ')');
+ o.width = ston (tt[0]);
+ } else
+ continue;
+ }
+ } else if (t[i] == 'I') {
+ i = i + 7;
+ } else {
+ dotty.message (0, concat ('draw language parser error: ', t[i]));
+ return null;
+ }
+ oo[tablesize (oo)] = o;
+ }
+ oo.ep = ep;
+ return oo;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_ui.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_ui.lefty
new file mode 100644
index 0000000..a8c9116
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/dotty_ui.lefty
@@ -0,0 +1,468 @@
+#
+# dotty_ui: user interface functions and data structures
+#
+dotty.protogt.doaction = function (data, s) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ data.menuitem = s;
+ if (data.obj.nid >= 0) {
+ if (gt.actions.node[s]) {
+ gt.actions.node[s] (gt, vt, data.obj, data);
+ return;
+ }
+ } else if (data.obj.eid >= 0) {
+ if (gt.actions.edge[s]) {
+ gt.actions.edge[s] (gt, vt, data.obj, data);
+ return;
+ }
+ }
+ if (gt.actions.general[s])
+ gt.actions.general[s] (gt, vt, data);
+};
+dotty.protogt.actions.general = [
+ "undo" = function (gt, vt, data) {
+ gt.undo (gt, 1);
+ };
+ "paste" = function (gt, vt, data) {
+ gt.paste (gt, data.pos, 1);
+ };
+ "do layout" = function (gt, vt, data) {
+ gt.layoutgraph (gt);
+ };
+ "cancel layout" = function (gt, vt, data) {
+ gt.cancellayout (gt);
+ };
+ "redraw" = function (gt, vt, data) {
+ gt.redrawgraph (gt, [vt.vtid = vt;]);
+ };
+ "new graph" = function (gt, vt, data) {
+ gt.erasegraph (gt, null, null);
+ };
+ "load graph" = function (gt, vt, data) {
+ gt.loadgraph (gt, null, 'file', dotty.protogt.graph, 1);
+ };
+ "reload graph" = function (gt, vt, data) {
+ gt.loadgraph (gt, gt.name, gt.type, gt.graph, 1);
+ };
+ "save graph" = function (gt, vt, data) {
+ gt.savegraph (gt, gt.name, gt.type);
+ };
+ "save graph as" = function (gt, vt, data) {
+ gt.savegraph (gt, null, 'file');
+ };
+ "open view" = function (gt, vt, data) {
+ gt = dotty.protogt.creategraph (null);
+ gt.createview (gt, null);
+ };
+ "copy view" = function (gt, vt, data) {
+ gt = gt.copygraph (gt);
+ gt.createview (gt, vt);
+ };
+ "birdseye view" = function (gt, vt, data) {
+ gt.createview (gt, dotty.protovt.birdseye);
+ };
+ "clone view" = function (gt, vt, data) {
+ gt.createview (gt, vt);
+ };
+ "close view" = function (gt, vt, data) {
+ gt.destroyview (gt, vt);
+ if (tablesize (gt.views) == 0)
+ gt.destroygraph (gt);
+ };
+ "set graph attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.graphattr;]);
+ };
+ "set node attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.nodeattr;]);
+ };
+ "set edge attr" = function (gt, vt, data) {
+ gt.setattr (gt, ['attr' = gt.graph.edgeattr;]);
+ };
+ "zoom in" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 0.5, data.pos);
+ };
+ "zoom out" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 2, data.pos);
+ };
+ "zoom in slowly" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 0.9, data.pos);
+ };
+ "zoom out slowly" = function (gt, vt, data) {
+ gt.zoom (gt, vt, 1.1, data.pos);
+ };
+ "scroll horizontally" = function (gt, vt, data) {
+ vt.scrollmode = 'h';
+ };
+ "scroll vertically" = function (gt, vt, data) {
+ vt.scrollmode = 'v';
+ };
+ "find node" = function (gt, vt, data) {
+ gt.findnode (gt, vt);
+ };
+ "print graph" = function (gt, vt, data) {
+ gt.printorsave (gt, vt, null, null, null, null);
+ };
+ "text view" = function (gt, vt, data) {
+ if (dotty.txtview == 'on')
+ dotty.txtview = 'off';
+ else
+ dotty.txtview = 'on';
+ txtview (dotty.txtview);
+ };
+ "quit" = function (gt, vt, data) {
+ exit ();
+ };
+];
+dotty.protogt.actions.node = [
+ "cut" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'one', 'support', 'cut');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "Cut" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'reachable', 'support', 'cut');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "copy" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'one', 'support', 'copy');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "Copy" = function (gt, vt, obj, data) {
+ gt.cut (gt, obj, 'reachable', 'support', 'copy');
+ dotty.clipgt.layoutgraph (dotty.clipgt);
+ };
+ "group" = function (gt, vt, obj, data) {
+ local kv;
+
+ if ((kv = gt.getattr (gt, obj)))
+ gt.groupnodesbyattr (gt, kv.key, kv.val, [
+ 'label' = kv.val; kv.key = kv.val;
+ ], 1, 1);
+ };
+ "Group" = function (gt, vt, obj, data) {
+ local kv;
+
+ if ((kv = gt.getattr (gt, obj)))
+ gt.groupnodesbyattr (gt, kv.key, kv.val, [
+ 'label' = kv.val; kv.key = kv.val;
+ ], 0, 1);
+ };
+ "delete" = function (gt, vt, obj, data) {
+ if (obj.eid >= 0)
+ gt.removeedge (gt, obj);
+ else
+ gt.removenode (gt, obj);
+ };
+ "Delete" = function (gt, vt, obj, data) {
+ gt.removesubtree (gt, obj);
+ };
+ "remove" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ if ((kv = gt.getattr (gt, obj)))
+ gt.removenodesbyattr (gt, kv.key, kv.val);
+ };
+ "Remove" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ if ((kv = gt.getattr (gt, obj)))
+ gt.removesubtreesbyattr (gt, kv.key, kv.val);
+ };
+ "set attr" = function (gt, vt, obj, data) {
+ gt.setattr (gt, obj);
+ };
+ "print attr" = function (gt, vt, obj, data) {
+ if (obj.nid >= 0)
+ echo ('node: ', obj.name);
+ dump (obj.attr);
+ };
+];
+dotty.protogt.actions.edge = dotty.protogt.actions.node;
+dotty.protovt.normal.menus = [
+ 'general' = [
+ 0 = "undo";
+ 1 = "paste";
+ 2 = "do layout";
+ 3 = "cancel layout";
+ 4 = "redraw";
+ 5 = "new graph";
+ 6 = "load graph";
+ 7 = "reload graph";
+ 8 = "save graph";
+ 9 = "save graph as";
+ 10 = "open view";
+ 11 = "copy view";
+ 12 = "clone view";
+ 13 = "birdseye view";
+ 14 = "close view";
+ 15 = "set graph attr";
+ 16 = "set node attr";
+ 17 = "set edge attr";
+ 18 = "zoom in";
+ 19 = "zoom out";
+ 20 = "find node";
+ 21 = "print graph";
+ 22 = "text view";
+ 23 = "quit";
+ ];
+ 'node' = [
+ 0 = "cut";
+ 1 = "Cut";
+ 2 = "copy";
+ 3 = "Copy";
+ 4 = "group";
+ 5 = "Group";
+ 6 = "delete";
+ 7 = "Delete";
+ 8 = "remove";
+ 9 = "Remove";
+ 10 = "set attr";
+ 11 = "print attr";
+ ];
+ 'edge' = [
+ 0 = "cut";
+ 1 = "Cut";
+ 2 = "copy";
+ 3 = "Copy";
+ 4 = "delete";
+ 5 = "Delete";
+ 6 = "set attr";
+ 7 = "print attr";
+ ];
+];
+dotty.protovt.normal.keys = [
+ 'general' = [
+ 'u' = "undo";
+ 'p' = "paste";
+ 'l' = "do layout";
+ 'k' = "cancel layout";
+ ' ' = "redraw";
+ 'L' = "reload graph";
+ 's' = "save graph";
+ 'Z' = "zoom in slowly";
+ 'z' = "zoom out slowly";
+ 'h' = "scroll horizontally";
+ 'v' = "scroll vertically";
+ ];
+ 'node' = [
+ 'c' = "copy";
+ 'C' = "Copy";
+ 'g' = "group";
+ 'G' = "Group";
+ 'd' = "delete";
+ 'D' = "Delete";
+ 'r' = "remove";
+ 'R' = "Remove";
+ 'a' = "set attr";
+ ];
+ 'edge' = [
+ 'c' = "copy";
+ 'C' = "Copy";
+ 'd' = "delete";
+ 'D' = "Delete";
+ 'a' = "set attr";
+ ];
+];
+dotty.protovt.birdseye.menus = dotty.protovt.normal.menus;
+dotty.protovt.birdseye.keys = dotty.protovt.normal.keys;
+dotty.protovt.normal.uifuncs = [
+ 'leftdown' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (data.obj.nid >= 0) {
+ dotty.node2move = data.obj;
+ dotty.movewidget = data.widget;
+ dotty.rp2 = data.pos;
+ }
+ };
+ 'leftmove' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.node2move & (
+ dotty.rp2.x ~= data.pos.x | dotty.rp2.y ~= data.pos.y
+ )) {
+ gt.movenode (gt, dotty.node2move, data.pos);
+ dotty.rp2 = data.pos;
+ }
+ };
+ 'leftup' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.node2move) {
+ if (dotty.movewidget == data.widget)
+ gt.movenode (gt, dotty.node2move, data.pos);
+ dotty.node2move = 0;
+ } else if (~data.obj)
+ gt.insertnode (gt, data.pos, null, null, null, 1);
+ };
+ 'middledown' = function (data) {
+ if (~(data.obj.nid >= 0))
+ return;
+ dotty.rubberband = 1;
+ dotty.movewidget = data.widget;
+ setgfxattr (data.widget, ['mode' = 'xor';]);
+ dotty.rp1 = data.pos;
+ dotty.rp2 = data.pos;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ };
+ 'middlemove' = function (data) {
+ if (dotty.rubberband ~= 1 | (
+ dotty.rp2.x == data.pos.x & dotty.rp2.y == data.pos.y
+ ))
+ return;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ dotty.rp2 = data.pos;
+ line (data.widget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ };
+ 'middleup' = function (data) {
+ local gt;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ if (dotty.rubberband ~= 1)
+ return;
+ dotty.rubberband = 0;
+ line (dotty.movewidget, null, dotty.rp1, dotty.rp2, ['color' = 1;]);
+ setgfxattr (dotty.movewidget, ['mode' = 'src';]);
+ if (dotty.movewidget ~= data.widget | ~(
+ data.pobj.nid >= 0) | ~(data.obj.nid >= 0
+ ))
+ return;
+ if (data.pobj.attr.support)
+ gt.groupnodes (gt, [
+ data.obj.nid = data.obj;
+ data.pobj.nid = data.pobj;
+ ], data.obj, null, null, null, 1, 1);
+ else if (data.obj.attr.support)
+ gt.groupnodes (gt, [
+ data.obj.nid = data.obj;
+ data.pobj.nid = data.pobj;
+ ], data.pobj, null, null, null, 1, 1);
+ else
+ gt.insertedge (gt, data.pobj, null, data.obj, null, null, 1);
+ };
+ 'rightdown' = function (data) {
+ local vt, gt, menu, i;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ if (~data.obj)
+ menu = vt.menus.general;
+ else if (data.obj.nid >= 0)
+ menu = vt.menus.node;
+ else if (data.obj.eid >= 0)
+ menu = vt.menus.edge;
+ if ((i = displaymenu (data.widget, menu)) >= 0)
+ gt.doaction (data, menu[i]);
+ };
+ 'button3up' = function (data) {
+ local vt, attr;
+
+ vt = dotty.views[data.widget];
+ attr = getwidgetattr (vt.scroll, [0 = 'childcenter';]);
+ if (vt.scrollmode == 'h')
+ attr.childcenter.x = attr.childcenter.x - 40;
+ else
+ attr.childcenter.y = attr.childcenter.y - 40;
+ setwidgetattr (vt.scroll, ['childcenter' = attr.childcenter;]);
+ };
+ 'button4up' = function (data) {
+ local vt, attr;
+
+ vt = dotty.views[data.widget];
+ attr = getwidgetattr (vt.scroll, [0 = 'childcenter';]);
+ if (vt.scrollmode == 'h')
+ attr.childcenter.x = attr.childcenter.x + 40;
+ else
+ attr.childcenter.y = attr.childcenter.y + 40;
+ setwidgetattr (vt.scroll, ['childcenter' = attr.childcenter;]);
+ };
+ 'keyup' = function (data) {
+ local vt, gt, action;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ if (data.obj.nid >= 0) {
+ if (vt.keys.node[data.key])
+ action = vt.keys.node[data.key];
+ } else if (data.obj.eid >= 0) {
+ if (vt.keys.edge[data.key])
+ action = vt.keys.edge[data.key];
+ }
+ if (~action)
+ if (vt.keys.general[data.key])
+ action = vt.keys.general[data.key];
+ if (action)
+ gt.doaction (data, action);
+ };
+ 'redraw' = function (data) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ gt.drawgraph (gt, [vt.vtid = vt;]);
+ };
+ 'closeview' = function (data) {
+ local vt, gt;
+
+ vt = dotty.views[data.widget];
+ gt = dotty.graphs[vt.gtid];
+ gt.destroyview (gt, vt);
+ if (tablesize (gt.views) == 0)
+ gt.destroygraph (gt);
+ };
+];
+dotty.protovt.birdseye.uifuncs = [
+ 'leftdown' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'leftmove' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'leftup' = function (data) {
+ local gt, vid;
+
+ gt = dotty.graphs[dotty.views[data.widget].gtid];
+ for (vid in gt.views) {
+ vt = gt.views[vid];
+ if (vt.type ~= 'birdseye')
+ gt.setviewcenter ([vid = vt;], data.pos);
+ }
+ };
+ 'middledown' = dotty.protovt.normal.uifuncs.middledown;
+ 'middlemove' = dotty.protovt.normal.uifuncs.middlemove;
+ 'middleup' = dotty.protovt.normal.uifuncs.middleup;
+ 'rightdown' = dotty.protovt.normal.uifuncs.rightdown;
+ 'keyup' = dotty.protovt.normal.uifuncs.keyup;
+ 'redraw' = dotty.protovt.normal.uifuncs.redraw;
+ 'closeview' = dotty.protovt.normal.uifuncs.closeview;
+];
+dotty.monitorfile = function (data) {
+ local gtid, gt, lpt;
+
+ for (gtid in dotty.layoutpending) {
+ lpt = dotty.layoutpending[gtid];
+ if (lpt.fd == data.fd) {
+ gt = dotty.graphs[lpt.gtid];
+ gt.haveinput = 1;
+ gt.layoutgraph (gt);
+ return 1;
+ }
+ }
+ return 0;
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal.lefty
new file mode 100644
index 0000000..75de5d9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal.lefty
@@ -0,0 +1,101 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 400; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+
+sq = function (x) {
+ return x * x;
+};
+
+# data structures
+#
+length = 300;
+center = ['x' = 200; 'y' = 250;];
+radius = 2 * length / sqrt (12);
+fractalangle = 0;
+maxlevel = 2;
+
+# drawing functions
+#
+# draw a Koch curve (a ``snowflake'' fractal)
+#
+# start with a triangle and keep replacing edges
+# with the construct: _/\_
+# until the recursion level reaches 'maxlevel'
+#
+fractal = function (level, length, angle) {
+ local nlength, newpenpos;
+
+ if (level >= maxlevel) {
+ newpenpos.x = penpos.x + length * cos (angle);
+ newpenpos.y = penpos.y + length * sin (angle);
+ line (canvas, null, penpos, newpenpos, ['color' = 1;]);
+ penpos = newpenpos;
+ return;
+ }
+ nlength = length / 3;
+ fractal (level + 1, nlength, angle);
+ fractal (level + 1, nlength, angle + 60);
+ fractal (level + 1, nlength, angle - 60);
+ fractal (level + 1, nlength, angle);
+};
+drawfractal = function () {
+ clear (canvas);
+ setpick (canvas, center, wrect);
+ penpos = [
+ 'x' = center.x + cos (fractalangle + 210) * radius;
+ 'y' = center.y + sin (fractalangle + 210) * radius;
+ ];
+ fractal (0, length, fractalangle + 60);
+ fractal (0, length, fractalangle - 60);
+ fractal (0, length, fractalangle - 180);
+ remove ('penpos');
+};
+
+# editing functions
+#
+# transform the fractal.
+#
+# map point 'prevpoint' to point 'currpoint'
+# with respect to the center of the fractal.
+#
+transformfractal = function (prevpoint, currpoint) {
+ local prevtan, currtan, prevradius, currradius;
+
+ prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
+ currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
+ fractalangle = fractalangle + (currtan - prevtan);
+ prevradius = sqrt (
+ sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+ );
+ currradius = sqrt (
+ sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+ );
+ radius = radius / prevradius * currradius;
+ length = radius / 2 * sqrt (12);
+};
+
+# user interface functions
+#
+# bind changes to the fractal to user actions
+#
+leftup = function (data) {
+ transformfractal (data.ppos, data.pos);
+ drawfractal ();
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ drawfractal ();
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
+transformfractal (['x' = 0; 'y' = 0;], ['x' = 0; 'y' = 0;]);
+drawfractal ();
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal2.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal2.lefty
new file mode 100644
index 0000000..420da94
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/fractal2.lefty
@@ -0,0 +1,218 @@
+#
+# data structures
+#
+length = 300;
+center = ['x' = 200; 'y' = 250;];
+radius = 2 * length / sqrt (12);
+fractalangle = 0;
+maxlevel = 2;
+sizes = [
+ 'button' = [ 'x' = 100; 'y' = 40; ];
+ 'canvas' = [ 'x' = 400; 'y' = 500; ];
+ 'view' = [ 'x' = 400; 'y' = 600; ];
+];
+sq = function (x) {
+ return x * x;
+};
+#
+# create view and other widgets
+#
+init = function () {
+ view = createwidget (-1, [
+ 'type' = 'view'; 'name' = 'fractal'; 'size' = sizes.view;
+ ]);
+
+ array1 = createwidget (view, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'vertical';
+ ]);
+ widgets[array1].resize = resize;
+
+ array2 = createwidget (array1, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'horizontal';
+ ]);
+ widgets[array2].resize = resize;
+
+ array3 = createwidget (array2, [
+ 'type' = 'array'; 'borderwidth' = 1; 'mode' = 'vertical';
+ ]);
+ widgets[array3].resize = resize;
+
+ morebutton = createwidget (array3, [
+ 'type' = 'button'; 'text' = 'more';
+ ]);
+ widgets[morebutton].pressed = pressed;
+ lessbutton = createwidget (array3, [
+ 'type' = 'button'; 'text' = 'less';
+ ]);
+ widgets[lessbutton].pressed = pressed;
+ setwidgetattr (morebutton, ['size' = sizes.button;]);
+ setwidgetattr (lessbutton, ['size' = sizes.button;]);
+
+ atext = createwidget (array2, [
+ 'type' = 'text'; 'mode' = 'oneline';
+ ]);
+ widgets[atext].oneline = oneline;
+ setwidgetattr (atext, [
+ 'size' = ['x' = sizes.button.x; 'y' = sizes.button.y * 2;];
+ ]);
+
+ scroll = createwidget (array1, ['type' = 'scroll';]);
+ canvas = createwidget (scroll, ['type' = 'canvas';]);
+ wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = sizes.canvas;];
+ setwidgetattr (canvas, ['window' = wrect; 'viewport' = wrect[1];]);
+};
+#
+# drawing functions
+#
+# draw a Koch curve (a ``snowflake'' fractal)
+#
+# start with a triangle and keep replacing edges
+# with the construct: _/\_
+# until the recursion level reaches 'maxlevel'
+#
+fractal = function (level, length, angle) {
+ local nlength, newpenpos;
+
+ if (level >= maxlevel) {
+ newpenpos.x = penpos.x + length * cos (angle);
+ newpenpos.y = penpos.y + length * sin (angle);
+ line (canvas, null, penpos, newpenpos, ['color' = 1;]);
+ penpos = newpenpos;
+ return;
+ }
+ nlength = length / 3;
+ fractal (level + 1, nlength, angle);
+ fractal (level + 1, nlength, angle + 60);
+ fractal (level + 1, nlength, angle - 60);
+ fractal (level + 1, nlength, angle);
+};
+redrawfractal = function () {
+ clear (canvas);
+ setpick (canvas, center, wrect);
+ penpos = [
+ 'x' = center.x + cos (fractalangle + 210) * radius;
+ 'y' = center.y + sin (fractalangle + 210) * radius;
+ ];
+ fractal (0, length, fractalangle + 60);
+ fractal (0, length, fractalangle - 60);
+ fractal (0, length, fractalangle - 180);
+ remove ('penpos');
+};
+#
+# editing functions
+#
+# transform the fractal.
+#
+# map point 'prevpoint' to point 'currpoint'
+# with respect to the center of the fractal.
+#
+transformfractal = function (prevpoint, currpoint) {
+ local prevtan, currtan, prevradius, currradius;
+
+ prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
+ currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
+ fractalangle = fractalangle + (currtan - prevtan);
+ prevradius = sqrt (
+ sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+ );
+ currradius = sqrt (
+ sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+ );
+ radius = radius / prevradius * currradius;
+ length = radius / 2 * sqrt (12);
+};
+#
+# main actions
+#
+redraw = function (data) {
+ redrawfractal ();
+};
+changemaxlevel = function (dn) {
+ maxlevel = maxlevel + dn;
+ if (maxlevel < 0)
+ maxlevel = 0;
+ redrawfractal ();
+};
+resize = function (data) {
+ local ret;
+ if (data.widget == array1) {
+ ret = [
+ array2 = [
+ 'x' = data.size.x;
+ 'y' = sizes.button.y * 2;
+ ];
+ scroll = [
+ 'x' = data.size.x;
+ 'y' = data.size.y - sizes.button.y * 2;
+ ];
+ ];
+ } else if (data.widget == array2) {
+ ret = [
+ array3 = [
+ 'x' = sizes.button.x;
+ 'y' = 2 * sizes.button.y;
+ ];
+ atext = [
+ 'x' = data.size.x - sizes.button.x;
+ 'y' = 2 * sizes.button.y;
+ ];
+ ];
+ } else if (data.widget == array3) {
+ ret = [
+ morebutton = sizes.button;
+ lessbutton = sizes.button;
+ ];
+ }
+ return ret;
+};
+#
+# user interface functions
+#
+# bind changes to the fractal to user actions
+#
+leftup = function (data) {
+ transformfractal (data.ppos, data.pos);
+ redrawfractal ();
+};
+menu = [
+ 0 = 'more';
+ 1 = 'less';
+];
+domenu = function (i) {
+ local s;
+ s = menu[i];
+ if (s == 'more')
+ changemaxlevel (1);
+ else if (s == 'less')
+ changemaxlevel (-1);
+};
+rightdown = function (data) {
+ domenu (displaymenu (canvas, menu));
+};
+pressed = function (data) {
+ if (data.widget == morebutton)
+ changemaxlevel (1);
+ else if (data.widget == lessbutton)
+ changemaxlevel (-1);
+};
+oneline = function (data) {
+ local dn;
+ dn = ston (data.text);
+ if (dn > 0 | dn < 0)
+ changemaxlevel (dn - maxlevel);
+};
+#
+# postscript generation
+#
+dops = function () {
+ local r;
+
+ r = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 8 * 300; 'y' = 10.5 * 300;];];
+ canvas = opencanvas ('pscanvas', '', r);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ redraw ();
+ closecanvas (canvas);
+ canvas=defcanvas;
+};
+init ();
+#txtview ('off');
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/lefty.psp b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/lefty.psp
new file mode 100644
index 0000000..c2684f4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/lefty.psp
@@ -0,0 +1,80 @@
+/BOX {
+ /boxy1 exch def /boxx1 exch def /boxy0 exch def /boxx0 exch def
+ boxx0 boxy0 moveto boxx1 boxy0 lineto
+ boxx1 boxy1 lineto boxx0 boxy1 lineto
+ closepath
+} def
+/SCP { stroke initclip newpath BOX clip newpath } def
+/CL { stroke setrgbcolor } def
+/DO { stroke } def
+/NP { newpath } def
+/FI { fill } def
+/LI { moveto lineto } def
+/CT { curveto } def
+/AR {
+ /ang2 exch def /ang1 exch def
+ /radius exch def /y2x exch def /cy exch def /cx exch def
+ gsave
+ cx cy translate 1 y2x scale 0 0 radius ang1 ang2 arc stroke
+ grestore
+} def
+/ARF {
+ /ang2 exch def /ang1 exch def
+ /radius exch def /y2x exch def /cy exch def /cx exch def
+ gsave
+ cx cy translate 1 y2x scale 0 0 radius ang1 ang2 arc fill
+ grestore
+} def
+/TXT {
+ /texth exch def
+ /textf exch def
+ /textn exch def
+ /texts exch def
+ /textyj exch def /texty exch def
+ /textxj exch def /textx exch def
+ textf findfont texth scalefont dup setfont
+ /FontBBox get 1 get 1000 div texth mul /textbl exch def
+ /textth texth textn mul def /texttw 0 def
+ 0 1 textn 1 sub {
+ texts exch get 0 get stringwidth pop
+ dup texttw gt { /texttw exch def } { pop } ifelse
+ } for
+ textyj (b) eq { /ty texty textth add textbl add def } if
+ textyj (d) eq { /ty texty textth add def } if
+ textyj (c) eq { /ty texty textth 2 div add def } if
+ textyj (u) eq { /ty texty def } if
+ /ty ty textbl sub def
+ textxj (l) eq { /tx textx def } if
+ textxj (c) eq { /tx textx texttw 2 div sub def } if
+ textxj (r) eq { /tx textx texttw sub def } if
+ 0 1 textn 1 sub {
+ /ty ty texth sub def
+ texts exch get dup 0 get /ts exch def 1 get /tj exch def
+ tj (l) eq { tx ty moveto ts show } if
+ tj (n) eq {
+ tx texttw ts stringwidth pop sub 2 div add ty moveto ts show
+ } if
+ tj (r) eq {
+ tx texttw ts stringwidth pop sub add ty moveto ts show
+ } if
+ } for
+} def
+
+/colorimage where {
+ pop
+} {
+ /bwproc {
+ rgbproc dup length 3 idiv string 0 3 0 5 -1 roll {
+ add 2 1 roll 1 sub dup 0 eq {
+ pop 3 idiv 3 -1 roll dup 4 -1 roll
+ dup 3 1 roll 5 -1 roll put 1 add 3 0
+ } {
+ 2 1 roll
+ } ifelse
+ } forall
+ pop pop pop
+ } def
+ /colorimage {
+ pop pop /rgbproc exch def {bwproc} image
+ } bind def
+} ifelse
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/slides.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/slides.lefty
new file mode 100644
index 0000000..1c9b2fe
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/slides.lefty
@@ -0,0 +1,109 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 800; 'y' = 1000;];];
+lmargin = 100;
+width = 800;
+height = 1000;
+setwidgetattr (canvas, ['window' = wrect;]);
+fonts = [
+ 'timr' = [
+ 14 = 'timr14';
+ 18 = 'timr18';
+ 24 = 'timr24';
+ ];
+ 'courr' = [
+ 14 = 'courr14';
+ 18 = 'courr18';
+ 24 = 'courr24';
+ ];
+];
+x2ps = [
+ 'timr24' = 'Times-Roman';
+ 'timr18' = 'Times-Roman';
+ 'timr14' = 'Times-Roman';
+ 'courr24' = 'Courier';
+ 'courr18' = 'Courier';
+ 'courr14' = 'Courier';
+];
+
+calc = function () {
+ local i, j, cpos, tsiz, dist, slidep;
+ tsiz = ['x' = 0; 'y' = 0;];
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (slidep.skip) {
+ tsiz.y = tsiz.y + slidep.skip;
+ } else {
+ for (j = 0; slidep.text[j]; j = j + 1) {
+ if (j > 0)
+ tsiz.y = tsiz.y + 5;
+ if (~slidep.font)
+ slidep.font = slides.font;
+ if (~slidep.size)
+ slidep.size = slides.size;
+ if (~slidep.just)
+ slidep.just = slides.just;
+ slidep.tsiz[j] = textsize (canvas, slidep.text[j],
+ fonts[slidep.font][slidep.size], 0);
+ tsiz.y = tsiz.y + slidep.tsiz[j].y;
+ }
+ }
+ }
+ dist = (height - tsiz.y) / (i + 1);
+ cpos = ['x' = lmargin; 'y' = height - dist;];
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (slidep.skip) {
+ cpos.y = cpos.y - slidep.skip - dist;
+ } else {
+ for (j = 0; slidep.text[j]; j = j + 1) {
+ if (j > 0)
+ cpos.y = cpos.y - 5;
+ if (slidep.just == 0)
+ slidep.tpos[j].x = cpos.x;
+ else
+ slidep.tpos[j].x = width / 2;
+ cpos.y = cpos.y - slidep.tsiz[j].y;
+ slidep.tpos[j].y = cpos.y;
+ }
+ cpos.y = cpos.y - dist;
+ }
+ }
+};
+redraw = function () {
+ local i, j, slidep;
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (~slidep.skip)
+ for (j = 0; slidep.text[j]; j = j + 1)
+ text (canvas, slidep, slidep.tpos[j], slidep.text[j],
+ fonts[slidep.font][slidep.size], 0, slidep.just);
+ }
+};
+dops = function () {
+ local i, j, slidep, r;
+
+ r = [0 = ['x' = 0; 'y' = 0;]; 1 = ['x' = 8 * 300; 'y' = 10.5 * 300;];];
+ canvas = createwidget (-1, ['type' = 'ps'; 'origin' = r[0]; 'size' = r[1]
+;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ for (i = 0; slides[i]; i = i + 1) {
+ slidep = slides[i];
+ if (~slidep.skip)
+ for (j = 0; slidep.text[j]; j = j + 1)
+ text (canvas, slidep, slidep.tpos[j], slidep.text[j],
+ x2ps[fonts[slidep.font][slidep.size]],
+ slidep.tsiz[j].y, slidep.just, 1);
+ }
+ destroywidget (canvas);
+ canvas=defcanvas;
+};
+doit = function () {
+ calc ();
+ redraw ();
+ dops ();
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/tree.lefty b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/tree.lefty
new file mode 100644
index 0000000..0af3f8c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/graphviz/lefty/tree.lefty
@@ -0,0 +1,195 @@
+load ('def.lefty');
+definit ();
+#
+# initialize window data
+#
+canvas = defcanvas;
+wrect = [0 = ['x' = -5; 'y' = 0;]; 1 = ['x' = 410; 'y' = 500;];];
+setwidgetattr (canvas, ['window' = wrect;]);
+#
+# data structures
+#
+nodearray = [];
+nodenum = 0;
+dist = ['x' = 40; 'y' = 40;];
+defsize = ['x' = 10; 'y' = 10;];
+fontname = 'fixed';
+fontsize = 18;
+tree = null;
+
+# drawing functions
+#
+boxnode = function (node) {
+ local center;
+ box (canvas, node, node.rect, ['color' = 0; 'fill' = 'on';]);
+ box (canvas, node, node.rect);
+ center = [
+ 'x' = (node.rect[0].x + node.rect[1].x) / 2;
+ 'y' = (node.rect[0].y + node.rect[1].y) / 2;
+ ];
+ if (node.name)
+ text (canvas, node, center, node.name, fontname, fontsize, 'cc');
+};
+circlenode = function (node) {
+ local center, radius;
+ center = [
+ 'x' = (node.rect[0].x + node.rect[1].x) / 2;
+ 'y' = (node.rect[0].y + node.rect[1].y) / 2;
+ ];
+ radius = [
+ 'x' = center.x - node.rect[0].x;
+ 'y' = center.y - node.rect[0].y;
+ ];
+ arc (canvas, node, center, radius, ['color' = 0; 'fill' = 'on';]);
+ arc (canvas, node, center, radius);
+ if (node.name)
+ text (canvas, node, center, node.name, fontname, fontsize, 'cc');
+};
+drawnode = boxnode;
+drawedge = function (node1, node2) {
+ line (canvas, null,
+ [
+ 'x' = (node1.rect[1].x + node1.rect[0].x) / 2;
+ 'y' = node1.rect[0].y;
+ ], [
+ 'x' = (node2.rect[1].x + node2.rect[0].x) / 2;
+ 'y' = node2.rect[1].y;
+ ]);
+};
+drawtree = function (node) {
+ local i;
+ for (i in nodearray)
+ drawnode (nodearray[i]);
+ drawtreerec (node);
+};
+drawtreerec = function (node) {
+ local i, n;
+ if ((n = tablesize (node.ch)) > 0) {
+ for (i = 0; i < n; i = i + 1) {
+ drawedge (node, node.ch[i]);
+ drawtreerec (node.ch[i]);
+ }
+ }
+};
+redraw = function (c) {
+ if (tree)
+ drawtree (tree);
+};
+
+# layout functions
+#
+complayout = function () {
+ leafx = 0;
+ leafrank = 0;
+ dolayout (tree, wrect[1].y - 10);
+ remove ('leafx');
+ remove ('leafrank');
+};
+dolayout = function (node, pary) {
+ local r, n, i, size, lchp, rchp;
+ size = nodesize (node);
+ if (node.chn > 0) {
+ for (i = 0; i < node.chn; i = i + 1)
+ dolayout (node.ch[i], pary - size.y - dist.y);
+ node.rank = (node.ch[0].rank + node.ch[node.chn - 1].rank) / 2;
+ lchp = node.ch[0].rect;
+ rchp = node.ch[node.chn - 1].rect;
+ r[0].x = lchp[0].x + ((rchp[1].x - lchp[0].x) - size.x) / 2;
+ r[0].y = pary - size.y;
+ r[1].x = r[0].x + size.x;
+ r[1].y = pary;
+ node.rect = r;
+ } else {
+ node.rank = leafrank;
+ r[0].x = leafx;
+ r[0].y = pary - size.y;
+ r[1].x = r[0].x + size.x;
+ r[1].y = pary;
+ leafrank = leafrank + 1;
+ leafx = r[1].x + dist.x;
+ node.rect = r;
+ }
+};
+
+# editing functions
+#
+inode = function (point, name) {
+ local i, nnum, size;
+ nnum = nodenum;
+ if (~name)
+ name = ask ('give name of node:');
+ nodearray[nnum].ch = [];
+ nodearray[nnum].chn = 0;
+ nodearray[nnum].name = name;
+ size = nodesize (nodearray[nnum]);
+ nodearray[nnum].rect[0] = point;
+ nodearray[nnum].rect[1] = ['x' = point.x + size.x; 'y' = point.y + size.y;];
+ nodenum = nodenum + 1;
+ if (~tree) {
+ tree = nodearray[nnum];
+ tree.depth = 0;
+ complayout ();
+ drawtree (tree);
+ } else
+ drawtree (nodearray[nnum]);
+ return nodearray[nnum];
+};
+iedge = function (node1, node2) {
+ node1.ch[node1.chn] = node2;
+ node1.chn = node1.chn + 1;
+ node2.depth = node1.depth + 1;
+ complayout ();
+ clear (canvas);
+ drawtree (tree);
+};
+fix = function (node, op, np) {
+ if (node.depth ~= 0)
+ dist.y = dist.y + (op.y - np.y) / node.depth;
+ if (node.rank ~= 0)
+ dist.x = dist.x + (np.x - op.x) / node.rank;
+ complayout ();
+ clear (canvas);
+ drawtree (tree);
+};
+nodesize = function (node) {
+ local siz;
+ if (~(siz = textsize (canvas, node.name, fontname, fontsize)))
+ siz = defsize;
+ else {
+ siz.x = siz.x + 8;
+ siz.y = siz.y + 8;
+ }
+ return siz;
+};
+changenode = function (nodestyle) {
+ drawnode = nodestyle;
+ clear (canvas);
+ drawtree (tree);
+};
+
+# user interface functions
+#
+leftdown = function (data) {
+ if (~data.obj)
+ inode (data.pos, null);
+};
+leftup = function (data) {
+ if (data.pobj)
+ fix (data.pobj, data.ppos, data.pos);
+};
+middleup = function (data) {
+ if (data.pobj & data.obj)
+ iedge (data.pobj, data.obj);
+};
+dops = function () {
+ local s;
+
+ s = ['x' = 8 * 300; 'y' = 10.5 * 300;];
+ fontname = 'Times-Roman';
+ canvas = createwidget (-1, ['type' = 'ps'; 'size' = s;]);
+ setwidgetattr (canvas, ['window' = wrect;]);
+ drawtree (tree);
+ destroywidget (canvas);
+ canvas=defcanvas;
+ fontname = 'fixed';
+};
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/license.rtf b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/license.rtf
new file mode 100644
index 0000000..cb774f2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/license.rtf
@@ -0,0 +1,49 @@
+{\rtf1\ansi\deff0{\fonttbl{\f0\froman\fcharset0 Times New Roman;}{\f1\fnil\fcharset0 Courier New;}}
+{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\sb100\sa100\lang1033\f0\fs24 AT&T has previously made versions of this software available under the AT&T Source Code Agreement, version 1.2D and earlier. If you received a copy of the software under that license agreement, you may continue to use and distribute the same version of the software subject to the terms and conditions of the license agreement under which the software was received. However, current versions of the software are now licensed on an open source basis only under The Common Public License. \par
+\pard\keepn\sb100\sa100\kerning36\b\fs48 Common Public License Version 1.0\par
+\pard\sb100\sa100\kerning0\b0\fs24 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. \par
+\b 1. DEFINITIONS \b0\par
+"Contribution" means:\par
+\pard\li360\ri360\sb100\sa100 a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and \par
+b) in the case of each subsequent Contributor:\par
+i) changes to the Program, and\par
+ii) additions to the Program;\par
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.\par
+\pard\sb100\sa100 "Contributor" means any person or entity that distributes the Program. \par
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.\par
+"Program" means the Contributions distributed in accordance with this Agreement. \par
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. \par
+\b 2. GRANT OF RIGHTS\b0\par
+\pard\li360\ri360\sb100\sa100 a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.\par
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.\par
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.\par
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.\par
+\pard\sb100\sa100\b 3. REQUIREMENTS\b0 \par
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: \par
+\pard\li360\ri360\sb100\sa100 a) it complies with the terms and conditions of this Agreement; and\par
+b) its license agreement:\par
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; \par
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; \par
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and \par
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. \par
+\pard\sb100\sa100 When the Program is made available in source code form:\par
+\pard\li360\ri360\sb100\sa100 a) it must be made available under this Agreement; and\par
+b) a copy of this Agreement must be included with each copy of the Program. \par
+\pard\sb100\sa100 Contributors may not remove or alter any copyright notices contained within the Program.\par
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. \par
+\b 4. COMMERCIAL DISTRIBUTION\b0 \par
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. \par
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. \par
+\b 5. NO WARRANTY\b0\par
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. \par
+\b 6. DISCLAIMER OF LIABILITY \b0\par
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. \par
+\b 7. GENERAL\b0\par
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. \par
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.\par
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. \par
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. \par
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.\par
+\pard\f1\fs20\par
+}
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1
new file mode 100644
index 0000000..fd3ae07
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/acyclic.1
@@ -0,0 +1,62 @@
+.TH ACYCLIC 1 "21 March 2001"
+.SH NAME
+acyclic \- make directed graph acyclic
+.SH SYNOPSIS
+.B acyclic
+[
+.B \-nv?
+] [
+.B \-o
+.I outfile
+]
+[
+.I file
+]
+.SH DESCRIPTION
+.B acyclic
+is a filter that takes a directed graph as input and outputs
+a copy of the graph with sufficient edges reversed to make
+the graph acyclic. The reversed edge inherits all of the attributes
+of the original edge. The optional file argument specifies where the
+the input graph is stored; by default, the program reads from \fBstdin\fP.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-n
+No output is produced, though the return value
+will indicate whether the graph is acyclic or not.
+.TP
+.B \-v
+Print information about whether the file is acyclic, has a cycle or
+is undirected.
+.TP
+.BI \-o " outfile"
+causes the output to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.TP
+.B \-?
+option causes the program to print usage information.
+.SH RETURN CODES
+.B acyclic
+returns
+.B 0
+if the graph is acyclic;
+.B 1
+if the graph has a cycle;
+.B 2
+if the graph is undirected; and
+.B 255
+if there are any errors.
+.SH BUGS
+If the graph is strict and there is a cycle of length 2,
+the attributes of the reversed edge are lost.
+.PP
+Some edge attributes are non-symmetric, referring to either the head
+or tail node. At present, there is no mechanism or convention for
+for correctly switching or renaming these.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1
new file mode 100644
index 0000000..ea4ae5e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/bcomps.1
@@ -0,0 +1,76 @@
+.TH BCOMPS 1 "18 November 2003"
+.SH NAME
+bcomps \- biconnected components filter for graphs
+.SH SYNOPSIS
+.B bcomps
+[
+.B \-stvx?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B bcomps
+decomposes graphs into their biconnected components,
+printing the components to standard output.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-s
+No output graph is printed. Implies the
+.B \-v
+flag.
+.TP
+.B \-t
+Print the underlying block-cutvertex tree.
+.TP
+.B \-x
+Each biconnected component is printed as a separate root graph.
+.TP
+.B \-v
+Prints number of blocks and cutvertices.
+.TP
+.BI \-o " outfile"
+If specified, each root graph will be written to a different file
+with the names derived from \fIoutfile\fP. In particular,
+if both \fB-o\fP and \fB-x\fP flags are used, then each
+block is written to a different file. If \fIoutfile\fP does
+not have a suffix, the nth block of the ith graph is written
+to \fIoutfile_n_i\fP. However, the 0th block of the 0th graph is written to
+\fIoutfile\fP.
+.sp
+If \fIoutfile\fP has a suffix, i.e., has the form \fIbase.sfx\fP,
+then the files will have the same name as above, except appended with \fI.sfx\fP.
+.sp
+The block-cutvertex tree of ith graph is written to \fIoutfile_n_T\fP,
+with an appended suffix if specified.
+.LP
+By default, each input graph is printed, with each
+block given as a subgraph whose name is a concatenation of
+the name of the input graph, the string "_bcc_" and the
+number of the block.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+.B bcomps
+returns
+.B 0
+if all the input graphs are biconnected; and
+non-zero if any graph has multiple blocks, or any error occurred.
+.SH "BUGS"
+It is possible, though unlikely, that the names used for connected
+components and their subgraphs may conflict with existing subgraph names.
+.SH AUTHORS
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+ccomps(1), gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1
new file mode 100644
index 0000000..4ee62ee
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/ccomps.1
@@ -0,0 +1,99 @@
+.TH CCOMPS 1 "21 March 2001"
+.SH NAME
+ccomps \- connected components filter for graphs
+.SH SYNOPSIS
+.B ccomps
+[
+.B \-sxv?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B ccomps
+decomposes graphs into their connected components,
+printing the components to standard output.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-s
+No output graph is printed. The return value can be used to
+check if the graph is connected or not.
+.TP
+.B \-x
+Only the connected components are printed, as separate graphs.
+.TP
+.B \-v
+Counts of nodes, edges and connected components are printed.
+.TP
+.B \-C
+Use clusters in computing components in addition to normal edge
+connectivity. In essence, this gives the connected components of the
+derived graph in which nodes top-level clusters and nodes in the
+original graph. This maintains all subgraph structure within a
+component, even if a subgraph does not contain any nodes.
+.TP
+.B \-n
+Do not project subgraph structure. Normally, if
+.B ccomps
+produces components as graphs distinct from the input graph, it will
+define subgraphs which are projections of subgraphs of the input graph
+onto the component. (If the projection is empty, no subgraph is produced.)
+If this flag is set, the component contains only the relevant nodes and
+edges.
+.TP
+.BI \-X " node_name"
+Prints only the component containing the node \fInode_name\fP,
+if any.
+.TP
+.BI \-X# " index"
+Prints only component number \fIindex\fP, if any, starting at 0.
+.TP
+.BI \-o " outfile"
+If specified, each graph will be written to a different file
+with the names derived from \fIoutfile\fP. In particular,
+if both \fB-o\fP and \fB-x\fP flags are used, then each connected
+component is written to a different file. If \fIoutfile\fP does
+not have a suffix, the first file will have the name \fIoutfile\fP;
+then next \fIoutfile_1\fP, then next \fIoutfile_2\fP, and so on.
+If \fIoutfile\fP has a suffix, i.e., has the form \fIbase.sfx\fP,
+then the files will be named \fIbase.sfx\fP, \fIbase_1.sfx\fP,
+\fIbase_2.sfx\fP, etc.
+.LP
+By default, each input graph is printed, with each connected
+component given as a subgraph whose name is a concatenation of
+the name of the input graph, the string "_component_" and the
+number of the component.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Unless used to extract a single connected component,
+.B ccomps
+returns
+.B 0
+if all the input graphs are connected; and
+non-zero if any graph has multiple components, or any error occurred.
+If just extracting a single component,
+.B ccomps
+returns
+.B 0
+on success and non-zero if an error occurred.
+.SH "BUGS"
+It is possible, though unlikely, that the names used for connected
+components and their subgraphs may conflict with existing subgraph names.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/circo.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1
new file mode 100644
index 0000000..4fceaf5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dijkstra.1
@@ -0,0 +1,59 @@
+.TH DIJKSTRA 1 "21 March 2001"
+.SH NAME
+dijkstra \- single-source distance filter
+.SH SYNOPSIS
+.B dijkstra
+[
+.B \-a?
+]
+[
+.I sourcenode file
+]
+.SH DESCRIPTION
+.B dijkstra
+reads a stream of graphs and for each computes the distance of every
+node from
+.I sourcenode.
+Edge length is given in the
+.I len
+attribute, and the default is 1. The
+.I dist
+attribute of every node is set to its distance from
+.I sourcenode.
+The graph attribute
+.I maxdist
+is set to the maximum
+.I dist
+of all nodes in the graph.
+.P
+By default, if the graph is disconnected, the
+.I dist
+attribute of nodes unreachable from
+.I sourcenode
+are left untouched, and
+.I maxdist
+is set to the maximum of any previous value and the largest
+distance recorded in this run. On the other hand, if
+the \fB-a\fP flag is used, the
+.I dist
+attribute of an unreachable node is assigned a very large value,
+and
+.I maxdist
+records the maximum distance found in the component containing
+.I sourcenode.
+.P
+Any number of
+.I sourcenode file
+pairs may be given.
+If the last
+.I file
+is missing, \fBstdin\fP is used.
+All output is written to \fBstdout\fP.
+.P
+In a typical application,
+.I dist
+and
+.I maxdist
+can drive a downstream calculation of color or some other attribute.
+.SH "SEE ALSO"
+gvpr(1), gvcolor(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dot.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1
new file mode 100644
index 0000000..996e661
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/dotty.1
@@ -0,0 +1,49 @@
+.TH DOTTY 1
+.SH NAME
+dotty \- A Customizable Graph Editor
+.SH SYNOPSIS
+.B dotty
+[
+.B -V
+] [
+.I file
+]
+.SH DESCRIPTION
+.B dotty
+is a graph editor for the X Window System. It may be run as a standalone
+editor, or as a front end for applications that use graphs. It can control
+multiple windows viewing different graphs.
+
+.B dotty
+is written on top of
+.B dot
+and
+.BR lefty .
+.B lefty
+is a general-purpose programmable editor for technical pictures. It has an
+interpretive programming language similar to AWK and C. The user interface and
+graph editing operations of
+.B dotty
+are written as
+.B lefty
+functions.
+Programmer-defined graph operations may be loaded as well. Graph layouts are
+made by
+.BR dot ,
+which runs as a separate process that communicates with
+.B lefty
+through pipes.
+.SH USAGE
+The file name is optional. If present, the graph contained in that file is
+displayed in the
+.B dotty
+window.
+.SH OPTIONS
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+dot(1), lefty(1)
+.br
+.I dotty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/fdp.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1
new file mode 100644
index 0000000..ad4cd70
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gc.1
@@ -0,0 +1,83 @@
+.TH GC 1 "21 March 2001"
+.SH NAME
+gc \- count graph components
+.SH SYNOPSIS
+.B gc
+[
+.B \-necCaDUrs?
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gc
+is a graph analogue to
+.B wc
+in that it prints to standard output
+the number of nodes, edges, connected components or clusters contained
+in the input files.
+It also prints a total count for
+all graphs if more than one graph is given.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-n
+Count nodes.
+.TP
+.B \-e
+Count edges.
+.TP
+.B \-c
+Count connected components.
+.TP
+.B \-C
+Count clusters. By definition, a cluster is a graph or
+subgraph whose name begins with "cluster".
+.TP
+.B \-a
+Count all. Equivalent to
+.B \-encC
+.TP
+.B \-r
+Recursively analyze subgraphs.
+.TP
+.B \-s
+Print no output. Only exit value is important.
+.TP
+.B \-D
+Only analyze directed graphs.
+.TP
+.B \-U
+Only analyze undirected graphs.
+.TP
+.B \-?
+Print usage information.
+.LP
+By default,
+.I gc
+returns the number of nodes and edges.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "EXIT STATUS"
+The following exit values are returned:
+.TP 4
+.B 0
+Successful completion.
+.TP
+.B 1
+The
+.B \-U
+or
+.B \-E
+option was used, and a graph of the wrong type was encountered.
+.SH AUTHOR
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1
new file mode 100644
index 0000000..d801368
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gv2gxl.1
@@ -0,0 +1,92 @@
+.TH GXL2GV,GV2GXL 1 "20 December 2002"
+.SH NAME
+gxl2gv,gv2gxl \- GXL-GV converters
+.SH SYNOPSIS
+.B gxl2gv
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.br
+.B gv2gxl
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gxl2gv
+converts between graphs represented in GXL and in the
+GV language. Unless a conversion type is specified using
+a flag,
+.B gxl2gv
+will deduce the type of conversion from the suffix of
+the input file, a ".gv" (or a ".dot") suffix causing a conversion from GV
+to GXL, and a ".gxl" suffix causing a conversion from GXL to GV.
+If no suffix is available, e.g. when the input is from a pipe,
+and no flags are used then
+.B gxl2gv
+assumes the type of the input file from its executable name
+so that
+.B gxl2gv
+converts from GXL to GV, and
+.B gv2gxl
+converts from GV to GXL.
+.PP
+GXL supports a much richer graph model than GV. \fBgxl2gv\fP
+will attempt to map GXL constructs into the analogous GV construct
+when this is possible. If not, the GXL information is stored as
+an attribute. The intention is that applying \fBgxl2gv|gv2gxl\fP
+is semantically equivalent to the identity operator.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+The command name and input file extensions are ignored, the
+input is taken as a GV file and a GXL file is generated.
+.TP
+.B \-d
+The command name and input file extensions are ignored, the
+input is taken as a GXL file and a GV file is generated.
+.TP
+.B \-?
+Prints usage information and exits.
+.TP
+.BI \-o " outfile"
+If specified, the output will be written into the file
+\fIoutfile\fP. Otherwise, output is written to standard out.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in GXL or GV.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Both \fBgxl2gv\fP and \fBgv2gxl\fP return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "BUGS"
+\fBgxl2gv\fP will only convert in one direction even if given multiple files
+with varying suffixes.
+.PP
+The conversion can only handle one graph per GXL file.
+.PP
+There are some GXL constructs which \fBgxl2gv\fP cannot handle.
+.SH AUTHORS
+Krishnam Pericherla <kp@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1
new file mode 100644
index 0000000..2355166
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvcolor.1
@@ -0,0 +1,58 @@
+.TH GVCOLOR 1 "21 March 2001"
+.SH NAME
+gvcolor \- flow colors through a ranked digraph
+.br
+( previously known as
+.B colorize
+)
+.SH SYNOPSIS
+.B gvcolor
+[
+.I files
+]
+.SH "USAGE"
+.ft 5
+dot file.dot | gvcolor | dot \-T\fI<format>\fP
+.ft
+.SH DESCRIPTION
+.B gvcolor
+is a filter that sets node colors from initial seed values.
+Colors flow along edges from tail to head, and are averaged
+(as HSB vectors) at nodes.
+\fIThe graph must already have been processed by dot.\fP
+Appropriate choice of initial colors yields drawings in which node
+colors help to emphasize logical relationships between nodes, even
+when they are spread far apart in the layout.
+.PP
+Initial colors must be set externally, using the \fBcolor\fP
+attribute of a node. It is often effective to
+assign colors to a few key source or sink nodes, manually setting
+their colors by editing the graph file.
+Color names are as in \fIdot(1)\fP: symbolic names or RGB triples.
+It is best to choose some easily\(hydistinguished but related colors;
+not necessarily spaced evenly around the color wheel. For example,
+blue_green, green, and light_yellow looks better than red, green, blue.
+.PP
+Certain graph attributes control the \fIgvcolor\fP algorithm.
+\fBflow=back\fP reverses the flow of colors from heads to tails.
+\fBsaturation=.1,.9\fP (or any two numbers between 0 and 1)
+adjusts the color saturation linearly from least to greatest rank.
+If \fBDefcolor\fP is set, this color value is applied to any
+node not otherwise colored.
+.SH "EXIT STATUS"
+The following exit values are returned:
+.TP 4
+.B 0
+Successful completion.
+.TP
+.B 1
+If nodes of the graph do not possess a ``pos'' attribute.
+.SH BUGS
+It would be nice to make the program work without relying on
+an initial pass through \fBdot\fP.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), gvpr(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1
new file mode 100644
index 0000000..9ab64c6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpack.1
@@ -0,0 +1,101 @@
+.TH GVPACK 1 "8 April 2003"
+.SH NAME
+gvpack \- merge and pack disjoint graphs
+.SH SYNOPSIS
+.B gvpack
+[
+.B \-nguv?
+]
+[
+.BI \-m margin
+]
+[
+.BI \-o outfile
+]
+[
+.BI \-G name\fB=\fPvalue
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gvpack
+reads in a stream of graphs, combines the graphs into a single
+layout, and produces a single graph serving as the union of the
+input graphs. The input graphs must be in dot format, and must have
+all necessary layout information. Acceptable input is produced
+by applying a Graphviz layout program, such as \fBdot\fP or \fBneato\fP,
+with no \fB\-T\fP flag.
+.P
+By default, the packing is done at the cluster level. Thus, parts of
+one graph will not intrude into any top\(hylevel clusters or overlap
+any nodes or edges of another.
+.P
+The output of \fBgvpack\fP can be used to produce concrete output
+by applying \fBneato \-s \-n2\fP with the desired \fB\-T\fP flag.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+Combines the graphs at the graph level. This uses more space, but prevents
+parts of one graph from occurring between parts of another.
+.TP
+.BI \-G "name\fB=\fPvalue"
+Specifies attributes to be added to the resulting union graph. For
+example, this can be used to specify a graph label.
+.TP
+.BI \-m "margin"
+Packs the graphs allowing a margin of \fIoutput\fP points around
+the parts.
+.TP
+.B \-n
+Combines the graphs at the node level. Clusters are ignored in the packing.
+.TP
+.BI \-o "output"
+Prints output to the file \fIoutput\fP. If not given, \fBgvpack\fP
+uses stdout.
+.TP
+.B \-u
+Don't pack the graphs. Just combine them into a single graph.
+.TP
+.B \-v
+Verbose mode.
+.TP
+.B \-?
+Prints usage information and exit.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+.B gvpack
+returns
+.B 0
+if there were no problems, and non\(hyzero otherwise.
+.SH EXAMPLES
+.EX
+ccomps \-x abc.dot | dot | gvpack | neato \-s \-n2 \-Tps
+.EE
+This pipeline decomposes the graph in \fIabc.dot\fP into its
+connected components, lays out each using \fBdot\fP, packs them all together
+again, and produces the final drawing in PostScript. Of course,
+there is nothing to prevent one from using different layouts for
+each component.
+.SH "BUGS"
+All the input graphs must be directed or undirected.
+.P
+An input graph should not have a label, since this will be used in its
+layout. Since \fBgvpack\fP ignores root graph labels, resulting layout
+may contain some extra space.
+.P
+\fBgvpack\fP unsets the bounding box attribute of all non\(hycluster
+subgraphs.
+.SH AUTHORS
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gvpr(1), dot(1), neato(1), twopi(1), ccomps(1), libpack(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1
new file mode 100644
index 0000000..ada8f74
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gvpr.1
@@ -0,0 +1,967 @@
+.TH GVPR 1 "24 April 2008"
+.SH NAME
+gvpr \- graph pattern scanning and processing language
+.br
+( previously known as
+.B gpr
+)
+.SH SYNOPSIS
+.B gvpr
+[\fB\-icV?\fP]
+[
+.BI \-o
+.I outfile
+]
+[
+.BI \-a
+.I args
+]
+[
+.I 'prog'
+|
+.BI \-f
+.I progfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gvpr
+is a graph stream editor inspired by \fBawk\fP.
+It copies input graphs to its
+output, possibly transforming their structure and attributes,
+creating new graphs, or printing arbitrary information.
+The graph model is that provided by
+.IR libagraph (3).
+In particular, \fBgvpr\fP reads and writes graphs using the
+dot language.
+.PP
+Basically,
+.B gvpr
+traverses each input graph, denoted by \fB$G\fP, visiting each node and edge,
+matching it with the predicate\(hyaction rules supplied in the input program.
+The rules are evaluated in order.
+For each predicate evaluating to true, the corresponding
+action is performed.
+During the traversal, the current node or edge being visited
+is denoted by \fB$\fP.
+.PP
+For each input graph, there is a target subgraph, denoted by
+\fB$T\fP, initially empty and used to accumulate
+chosen entities, and an output graph, \fB$O\fP, used for final processing
+and then written to output.
+By default, the output graph is the target graph.
+The output graph can be set in the program or, in a limited sense,
+on the command line.
+.SH OPTIONS
+The following options are supported:
+.TP
+.BI \-a " args"
+The string \fIargs\fP is split into whitespace\(hyseparated tokens,
+with the individual tokens
+available as strings in the \fBgvpr\fP program
+as \fBARGV[\fI0\fP],...,ARGV[ARGC\-1]\fR.
+Whitespace characters within single or double quoted substrings, or
+preceded by a backslash, are ignored as separators.
+In general, a backslash character turns off any special meaning of the
+following character.
+Note that the tokens derived from multiple \fB\-a\fP flags are concatenated.
+.TP
+.B \-c
+Use the source graph as the output graph.
+.TP
+.B \-i
+Derive the node\(hyinduced subgraph extension of the output graph in the context
+of its root graph.
+.TP
+.BI \-o " outfile"
+Causes the output stream to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.TP
+.BI \-f " progfile"
+Use the contents of the specified file as the program to execute
+on the input. If \fIprogfile\fP contains a slash character, the name is taken
+as the pathname of the file. Otherwise, \fBgvpr\fP will use the
+directories specified in the environment variable \fBGPRPATH\fP to look
+for the file. If
+.B \-f
+is not given,
+.B gvpr
+will use the first non\(hyoption argument as the program.
+.TP
+.B \-V
+Causes the program to print version information and exit.
+.TP
+.B \-?
+Causes the program to print usage information and exit.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in the dot language.
+If no
+.B \-f
+option is given, the first name is removed from the list and used
+as the input program. If the list of files is empty, \fBstdin\fP will be used.
+.SH PROGRAMS
+A
+.B gvpr
+program consists of a list of predicate\(hyaction clauses, having one
+of the forms:
+.IP
+.BI "BEGIN { " action " }"
+.IP
+.BI "BEG_G { " action " }"
+.IP
+.BI "N [ " predicate " ] { " action " }
+.IP
+.BI "E [ " predicate " ] { " action " }
+.IP
+.BI "END_G { " action " }"
+.IP
+.BI "END { " action " }"
+.PP
+A program can contain at most one of each of the \fBBEGIN\fP, \fBBEG_G\fP,
+\fBEND_G\fP and \fBEND\fP clauses.
+There can be any number of \fBN\fP and \fBE\fP statements,
+the first applied to nodes, the second to edges.
+The top\(hylevel semantics of a \fBgvpr\fP program are:
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+Evaluate the \fBBEGIN\fP clause, if any.
+For each input graph \fIG\fP {
+ Set \fIG\fP as the current graph and current object.
+ Evaluate the \fBBEG_G\fP clause, if any.
+ For each node and edge in \fIG\fP {
+ Set the node or edge as the current object.
+ Evaluate the \fBN\fP or \fBE\fP clauses, as appropriate.
+ }
+ Set \fIG\fP as the current object.
+ Evaluate the \fBEND_G\fP clause, if any.
+}
+Evaluate the \fBEND\fP clause, if any.
+.fi
+.RE
+.DT
+.PP
+The actions of the \fBBEGIN\fP, \fBBEG_G\fP, \fBEND_G\fP and \fBEND\fP clauses
+are performed when the clauses are evaluated.
+For \fBN\fP or \fBE\fP clauses,
+either the predicate or action may be omitted.
+If there is no predicate with an action, the action is
+performed on every node or edge, as appropriate.
+If there is no action and the predicate evaluates to true,
+the associated node or edge is added to the target graph.
+.PP
+Predicates and actions are sequences of statements in the C dialect
+supported by the
+.IR libexpr (3)
+library.
+The only difference between predicates and actions is that the former
+must have a type that may interpreted as either true or false.
+Here the usual C convention is followed, in which a non\(hyzero value is
+considered true. This would include non\(hyempty strings and non\(hyempty
+references to nodes, edges, etc. However, if a string can be
+converted to an integer, this value is used.
+.PP
+In addition to the usual C base types
+(\fBvoid\fP, \fBint\fP, \fBchar\fP, \fBfloat\fP, \fBlong\fP,
+\fBunsigned\fP and \fBdouble\fP),
+\fBgvpr\fP \fRprovides \fBstring\fP as a synonym for \fBchar*\fP, and
+the graph\(hybased types \fBnode_t\fP,
+\fBedge_t\fP, \fBgraph_t\fP and \fBobj_t\fP.
+The \fBobj_t\fP type can be viewed as a supertype of the other 3 concrete types;
+the correct base type is maintained dynamically.
+Besides these base types, the only other supported type expressions
+are (associative) arrays.
+.PP
+Constants follow C syntax, but strings may be quoted with either
+\fB"..."\fP or \fB'...'\fP. In certain contexts, string values are
+interpreted as patterns for the purpose of regular expression matching.
+Patterns use
+.IR ksh (1)
+file match pattern syntax.
+\fBgvpr\fP accepts C++ comments as well as cpp\(hytype comments.
+For the latter, if a line begins with a '#' character, the rest of
+the line is ignored.
+.PP
+A statement can be a declaration of a function, a variable
+or an array, or an executable statement. For declarations, there
+is a single scope. Array declarations have the form:
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fI type array \fB[\fP type0 \fB]\fR
+.fi
+.RE
+.DT
+.PP
+where \fI type0 \fP is optional. If it is supplied, the parser will
+enforce that all array subscripts have the specified type. If it is
+not supplied, objects of all types can be used as subscripts.
+As in C, variables and arrays must
+be declared. In particular, an undeclared variable will be interpreted
+as the name of an attribute of a node, edge or graph, depending on the
+context.
+.PP
+Executable statements can be one of the following:
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fB{\fR [\fI statement ... \fR] \fB}\fR
+\fIexpression\fP \fR// commonly\fP\fI var \fB=\fP expression\fR
+\fBif(\fI expression \fP)\fI statement \fR[ \fBelse\fI statement \fR]
+\fBfor(\fI expression \fP;\fI expression \fP;\fI expression \fP)\fI statement\fP
+\fBfor(\fI array \fP[\fI var \fP])\fI statement\fP
+\fBwhile(\fI expression \fP)\fI statement\fP
+\fBswitch(\fI expression \fP)\fI case statements\fP
+\fBbreak [\fI expression \fP]
+\fBcontinue [\fI expression \fP]
+\fBreturn [\fI expression \fP]\fR
+.fi
+.RE
+.ST
+Items in brackets are optional.
+.PP
+In the second form of the \fBfor\fP statement, the variable \fIvar\fP
+is set to each value used as an index in the specified array and then
+the associated \fIstatement\fP is evaluated. Function definitions can
+only appear in the \fBBEGIN\fP clause.
+.PP
+Expressions include the usual C expressions.
+String comparisons using \fB==\fP and \fB!=\fP
+treat the right hand operand as a pattern.
+\fBgvpr\fP will attempt to use an expression as a string or numeric value
+as appropriate.
+.PP
+Expressions of graphical type (i.e., \fBgraph_t, node_t,
+edge_t, obj_t\fP) may be followed by a field reference in the
+form of \fB.\fP\fIname\fP. The resulting value is the value
+of the attribute named \fIname\fP of the given object.
+In addition, in certain contexts an undeclared, unmodified
+identifier is taken to be an
+attribute name. Specifically, such identifiers denote attributes
+of the current node or edge, respectively, in \fBN\fP
+and \fBE\fP clauses, and the current graph in \fBBEG_G\fP and \fBEND_G\fP
+clauses.
+.PP
+As usual in the
+.IR libagraph (3)
+model, attributes are string\(hyvalued.
+In addition,
+.B gvpr
+supports certain pseudo\(hyattributes of graph objects, not necessarily
+string\(hyvalued. These reflect intrinsic properties of the graph objects
+and cannot be set by the user.
+.TP
+\fBhead\fR : \fBnode_t\fR
+the head of an edge.
+.TP
+\fBtail\fR : \fBnode_t\fR
+the tail of an edge.
+.TP
+\fBname\fR : \fBstring\fR
+the name of an edge, node or graph. The name of an edge has the
+form "\fI<tail\(hyname><edge\(hyop><head\(hyname>\fB[\fI<key>\fB]\fR",
+where \fI<edge\(hyop>\fP is "\fB\->\fP" or "\fB\-\-\fP" depending on
+whether the graph is directed or not. The bracket part \fB[\fI<key>\fB]\fR
+only appears if the edge has a non\(hytrivial key.
+.TP
+\fBindegree\fR : \fBint\fR
+the indegree of a node.
+.TP
+\fBoutdegree\fR : \fBint\fR
+the outdegree of a node.
+.TP
+\fBdegree\fR : \fBint\fR
+the degree of a node.
+.TP
+\fBroot\fR : \fBgraph_t\fR
+the root graph of an object. The root of a root graph
+is itself.
+.TP
+\fBparent\fR : \fBgraph_t\fR
+the parent graph of a subgraph. The parent of a root graph
+is \fBNULL\fP
+.TP
+\fBn_edges\fR : \fBint\fR
+the number of edges in the graph
+.TP
+\fBn_nodes\fR : \fBint\fR
+the number of nodes in the graph
+.TP
+\fBdirected\fR : \fBint\fR
+true (non\(hyzero) if the graph is directed
+.TP
+\fBstrict\fR : \fBint\fR
+true (non\(hyzero) if the graph is strict
+.SH "BUILT\(hyIN FUNCTIONS"
+.PP
+The following functions are built into \fBgvpr\fP. Those functions
+returning references to graph objects return \fBNULL\fP in case of failure.
+.SS "Graphs and subgraph"
+.TP
+\fBgraph\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBgraph_t\fP
+creates a graph whose name is \fIs\fP and whose type is
+specified by the string \fIt\fP. Ignoring case, the characters
+\fBU, D, S, N\fR have the interpretation undirected, directed,
+strict, and non\(hystrict, respectively. If \fIt\fP is empty,
+a directed, non\(hystrict graph is generated.
+.TP
+\fBsubg\fP(\fIg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBgraph_t\fP
+creates a subgraph in graph \fIg\fP with name \fIs\fP. If the subgraph
+already exists, it is returned.
+.TP
+\fBisSubg\fP(\fIg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBgraph_t\fP
+returns the subgraph in graph \fIg\fP with name \fIs\fP, if it exists,
+or \fBNULL\fP otherwise.
+.TP
+\fBfstsubg\fP(\fIg\fP : \fBgraph_t\fP) : \fBgraph_t\fP
+returns the first subgraph in graph \fIg\fP, or \fBNULL\fP if none exists.
+.TP
+\fBnxtsubg\fP(\fIsg\fP : \fBgraph_t\fP) : \fBgraph_t\fP
+returns the next subgraph after \fIsg\fP, or \fBNULL\fP.
+.TP
+\fBisDirect\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns true if and only if \fIg\fP is directed.
+.TP
+\fBisStrict\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns true if and only if \fIg\fP is strict.
+.TP
+\fBnNodes\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns the number of nodes in \fIg\fP.
+.TP
+\fBnEdges\fP(\fIg\fP : \fBgraph_t\fP) : \fBint\fP
+returns the number of edges in \fIg\fP.
+.SS "Nodes"
+.TP
+\fBnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBnode_t\fP
+creates a node in graph \fIg\fP of name \fIs\fP. If such a node
+already exists, it is returned.
+.TP
+\fBsubnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+inserts the node \fIn\fP into the subgraph \fIg\fP. Returns the node.
+.TP
+\fBfstnode\fP(\fIg\fP : \fBgraph_t\fP) : \fBnode_t\fP
+returns the first node in graph \fIg\fP, or \fBNULL\fP if none exists.
+.TP
+\fBnxtnode\fP(\fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+returns the next node after \fIn\fP in the root graph, or \fBNULL\fP.
+.TP
+\fBnxtnode_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBnode_t\fP
+returns the next node after \fIn\fP in \fIsg\fP, or \fBNULL\fP.
+.TP
+\fBisNode\fP(\fIsg\fP : \fBgraph_t\fP, \fIs\fP : \fBstring\fP) : \fBnode_t\fP
+looks for a node in (sub)graph \fIsg\fP of name \fIs\fP. If such a node
+exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisSubnode\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns non-zero if node \fIn\fP is in (sub)graph \fIsg\fP, or zero
+otherwise.
+.TP
+\fBindegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the indegree of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBoutdegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the outdegree of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBdegreeOf\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBint\fP
+returns the degree of node \fIn\fP in (sub)graph \fIsg\fP.
+.SS "Edges"
+.TP
+\fBedge\fP(\fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+creates an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP in the root graph. If the graph is undirected, the
+distinction between head and tail nodes is unimportant.
+If such an edge already exists, it is returned.
+.TP
+\fBedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+creates an edge with tail node \fIt\fP, head node \fIh\fP and name \fIs\fP
+in (sub)graph \fIsg\fP (and all parent graphs). If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge already exists, it is returned.
+.TP
+\fBsubedge\fP(\fIg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+inserts the edge \fIe\fP into the subgraph \fIg\fP. Returns the edge.
+.TP
+\fBisEdge\fP(\fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+looks for an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP. If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisEdge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIt\fP : \fBnode_t\fP, \fIh\fP : \fBnode_t\fP, \fIs\fP : \fBstring\fP) : \fBedge_t\fP
+looks for an edge with tail node \fIt\fP, head node \fIh\fP and
+name \fIs\fP in (sub)graph \fIsg\fP. If the graph is undirected, the distinction between
+head and tail nodes is unimportant.
+If such an edge exists, it is returned. Otherwise, \fBNULL\fP is returned.
+.TP
+\fBisSubedge\fP(\fIg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBint\fP
+returns non-zero if edge \fIe\fP is in (sub)graph \fIsg\fP, or zero
+otherwise.
+.TP
+\fBfstout\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first outedge of node \fIn\fP in the root graph.
+.TP
+\fBfstout_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first outedge of node \fIn\fP in (sub)graph \fIsg\fP.
+.TP
+\fBnxtout\fP(\fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next outedge after \fIe\fP in the root graph.
+.TP
+\fBnxtout_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next outedge after \fIe\fP in graph \fIsg\fP.
+.TP
+\fBfstin\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first inedge of node \fIn\fP in the root graph.
+.TP
+\fBfstin_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first inedge of node \fIn\fP in graph \fIsg\fP.
+.TP
+\fBnxtin\fP(\fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next inedge after \fIe\fP in the root graph.
+.TP
+\fBnxtin_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP) : \fBedge_t\fP
+returns the next inedge after \fIe\fP in graph \fIsg\fP.
+.TP
+\fBfstedge\fP(\fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first edge of node \fIn\fP in the root graph.
+.TP
+\fBfstedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBedge_t\fP
+returns the first edge of node \fIn\fP in graph \fIsg\fP.
+.TP
+\fBnxtedge\fP(\fIe\fP : \fBedge_t\fP, \fBnode_t\fP) : \fBedge_t\fP
+returns the next edge after \fIe\fP in the root graph.
+.TP
+\fBnxtedge_sg\fP(\fIsg\fP : \fBgraph_t\fP, \fIe\fP : \fBedge_t\fP, \fBnode_t\fP) : \fBedge_t\fP
+returns the next edge after \fIe\fP in the graph \fIsg\fP.
+.SS "Graph I/O"
+.TP
+\fBwrite\fP(\fIg\fP : \fBgraph_t\fP) : \fBvoid\fP
+prints \fIg\fP in dot format onto the output stream.
+.TP
+\fBwriteG\fP(\fIg\fP : \fBgraph_t\fP, \fIfname\fP : \fBstring\fP) : \fBvoid\fP
+prints \fIg\fP in dot format into the file \fIfname\fP.
+.TP
+\fBfwriteG\fP(\fIg\fP : \fBgraph_t\fP, \fIfd\fP : \fBint\fP) : \fBvoid\fP
+prints \fIg\fP in dot format onto the open stream denoted
+by the integer \fIfd\fP.
+.TP
+\fBreadG\fP(\fIfname\fP : \fBstring\fP) : \fBgraph_t\fP
+returns a graph read from the file \fIfname\fP. The graph should be
+in dot format. If no graph can be read, \fBNULL\fP is returned.
+.TP
+\fBfreadG\fP(\fIfd\fP : \fBint\fP) : \fBgraph_t\fP
+returns the next graph read from the open stream \fIfd\fP.
+Returns \fBNULL\fP at end of file.
+.SS "Graph miscellany"
+.TP
+\fBdelete\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBvoid\fP
+deletes object \fIx\fP from graph \fIg\fP.
+If \fIg\fP is \fBNULL\fP, the function uses the root graph of \fIx\fP.
+If \fIx\fP is a graph or subgraph, it is closed unless \fIx\fP is locked.
+.TP
+\fBisIn\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBint\fP
+returns true if \fIx\fP is in subgraph \fIg\fP.
+If \fIx\fP is a graph, this indicates that \fIg\fP is the immediate parent
+graph of \fIx\fP.
+.TP
+\fBclone\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBobj_t\fP
+creates a clone of object \fIx\fP in graph \fIg\fP.
+In particular, the new object has the same name/value attributes
+and structure as the original object.
+If an object with the same key as \fIx\fP already exists, its attributes
+are overlaid by those of \fIx\fP and the object is returned.
+If an edge is cloned, both endpoints are implicitly cloned.
+If a graph is cloned, all nodes, edges and subgraphs are implicitly
+cloned.
+If \fIx\fP is a graph, \fIg\fP may be \fBNULL\fP, in which case the cloned
+object will be a new root graph.
+.TP
+\fBcopy\fP(\fIg\fP : \fBgraph_t\fP, \fIx\fP : \fBobj_t\fP) : \fBobj_t\fP
+creates a copy of object \fIx\fP in graph \fIg\fP,
+where the new object has the same name/value attributes
+as the original object.
+If an object with the same key as \fIx\fP already exists, its attributes
+are overlaid by those of \fIx\fP and the object is returned.
+Note that this is a shallow copy. If \fIx\fP is a graph, none of its nodes,
+edges or subgraphs are copied into the new graph. If \fIx\fP is an edge,
+the endpoints are created if necessary, but they are not cloned.
+If \fIx\fP is a graph, \fIg\fP may be \fBNULL\fP, in which case the cloned
+object will be a new root graph.
+.TP
+\fBcopyA\fP(\fIsrc\fP : \fBobj_t\fP, \fItgt\fP : \fBobj_t\fP) : \fBint\fP
+copies the attributes of object \fIsrc\fP to object \fItgt\fP, overwriting
+any attribute values \fItgt\fP may initially have.
+.TP
+\fBinduce\fP(\fIg\fP : \fBgraph_t\fP) : \fBvoid\fP
+extends \fIg\fP to its node\(hyinduced subgraph extension in its root graph.
+.TP
+\fBaget\fP(\fIsrc\fP : \fBobj_t\fP, \fIname\fP : \fBstring\fP) : \fBstring\fP
+returns the value of attribute \fIname\fP in object \fIsrc\fP. This is
+useful for those cases when \fIname\fP conflicts with one of the keywords
+such as "head" or "root".
+Returns \fBNULL\fP on failure or if the attribute is not defined.
+.TP
+\fBaset\fP(\fIsrc\fP : \fBobj_t\fP, \fIname\fP : \fBstring\fP, \fIvalue\fP : \fBstring\fP) : \fBint\fP
+sets the value of attribute \fIname\fP in object \fIsrc\fP to \fIvalue\fP.
+Returns 0 on success, non\(hyzero on failure. See \fBaget\fP above.
+.TP
+\fBgetDflt\fP(\fIg\fP : \fBgraph_t\fP, \fIkind\fP : \fBstring\fP, \fIname\fP : \fBstring\fP) : \fBstring\fP
+returns the default value of attribute \fIname\fP in objects in \fIg\fP of
+the given \fIkind\fP. For nodes, edges, and graphs, \fIkind\fP
+should be "N", "E", and "G", respectively.
+Returns \fBNULL\fP on failure or if the attribute is not defined.
+.TP
+\fBsetDflt\fP(\fIg\fP : \fBgraph_t\fP, \fIkind\fP : \fBstring\fP, \fIname\fP : \fBstring\fP, \fIvalue\fP : \fBstring\fP) : \fBint\fP
+sets the default value of attribute \fIname\fP to \fIvalue\fP in
+objects in \fIg\fP of
+the given \fIkind\fP. For nodes, edges, and graphs, \fIkind\fP
+should be "N", "E", and "G", respectively.
+Returns 0 on success, non\(hyzero on failure. See \fBsetDflt\fP above.
+.TP
+\fBcompOf\fP(\fIg\fP : \fBgraph_t\fP, \fIn\fP : \fBnode_t\fP) : \fBgraph_t\fP
+returns the connected component of the graph \fIg\fP containing node \fIn\fP,
+as a subgraph of \fIg\fP. The subgraph only contains the nodes. One can
+use \fIinduce\fP to add the edges. The function fails and returns \fBNULL\fP
+if \fIn\fP is not in \fIg\fP. Connectivity is based on the underlying
+undirected graph of \fIg\fP.
+.TP
+\fBkindOf\fP(\fIobj\fP : \fBobj_t\fP) : \fBstring\fP
+returns an indication of what kind of graph object is the argument.
+For nodes, edges, and graphs, it returns
+should be "N", "E", and "G", respectively.
+.TP
+\fBlock\fP(\fIg\fP : \fBgraph_t\fP, \fIv\fP : \fBint\fP) : \fBint\fP
+implements graph locking on root graphs. If the integer \fIv\fP is positive, the
+graph is set so that future calls to \fBdelete\fP have no immediate effect.
+If \fIv\fP is zero, the graph is unlocked. If there has been a call
+to delete the graph while it was locked, the graph is closed.
+If \fIv\fP is negative, nothing is done.
+In all cases, the previous lock value is returned.
+.SS "Strings"
+.TP
+\fBsprintf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBstring\fP
+returns the string resulting from formatting
+the values of the expressions occurring after \fIfmt\fP
+according to the
+.IR printf (3)
+format
+.I fmt
+.TP
+\fBgsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP) : \fBstring\fP
+.TP
+\fBgsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP, \fIrepl\fP : \fBstring\fP) : \fBstring\fP
+returns \fIstr\fP with all substrings matching \fIpat\fP
+deleted or replaced by \fIrepl\fP, respectively.
+.TP
+\fBsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP) : \fBstring\fP
+.TP
+\fBsub\fP(\fIstr\fP : \fBstring\fP, \fIpat\fP : \fBstring\fP, \fIrepl\fP : \fBstring\fP) : \fBstring\fP
+returns \fIstr\fP with the leftmost substring matching \fIpat\fP
+deleted or replaced by \fIrepl\fP, respectively. The
+characters '^' and '$'
+may be used at the beginning and end, respectively,
+of \fIpat\fP to anchor the pattern to the beginning or end of \fIstr\fP.
+.TP
+\fBsubstr\fP(\fIstr\fP : \fBstring\fP, \fIidx\fP : \fBint\fP) : \fBstring\fP
+.TP
+\fBsubstr\fP(\fIstr\fP : \fBstring\fP, \fIidx\fP : \fBint\fP, \fIlen\fP : \fBint\fP) : \fBstring\fP
+returns the substring of \fIstr\fP starting at position \fIidx\fP to
+the end of the string or of length \fIlen\fP, respectively.
+Indexing starts at 0. If \fIidx\fP is negative or \fIidx\fP is greater than
+the length of \fIstr\fP, a fatal error occurs. Similarly, in the second
+case, if \fIlen\fP is negative or \fIidx\fP + \fIlen\fP is greater than the
+length of \fIstr\fP, a fatal error occurs.
+.TP
+\fBlength\fP(\fIs\fP : \fBstring\fP) : \fBint\fP
+returns the length of the string \fIs\fP.
+.TP
+\fBindex\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBint\fP
+returns the index of the character in string \fIs\fP where the leftmost
+copy of string \fIt\fP can be found, or \-1 if \fIt\fP is not a
+substring of \fIs\fP.
+.TP
+\fBmatch\fP(\fIs\fP : \fBstring\fP, \fIp\fP : \fBstring\fP) : \fBint\fP
+returns the index of the character in string \fIs\fP where the leftmost
+match of pattern \fIp\fP can be found, or \-1 if no substring of \fIs\fP
+matches \fIp\fP.
+.TP
+\fBcanon\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns a version of \fIs\fP appropriate to be used as an identifier
+in a dot file.
+.TP
+\fBxOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIx\fP" if \fIs\fP has the form "\fIx\fP,\fIy\fP",
+where both \fIx\fP and \fIy\fP are numeric.
+.TP
+\fByOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIy\fP" if \fIs\fP has the form "\fIx\fP,\fIy\fP",
+where both \fIx\fP and \fIy\fP are numeric.
+.TP
+\fBllOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIllx\fP,\fIlly\fP" if \fIs\fP has the form
+"\fIllx\fP,\fIlly\fP,\fIurx\fP,\fIury\fP",
+where all of \fIllx\fP, \fIlly\fP, \fIurx\fP, and \fIury\fP are numeric.
+.TP
+.BI urOf( s )
+\fBurOf\fP(\fIs\fP : \fBstring\fP) : \fBstring\fP
+returns the string "\fIurx\fP,\fIury\fP" if \fIs\fP has the form
+"\fIllx\fP,\fIlly\fP,\fIurx\fP,\fIury\fP",
+where all of \fIllx\fP, \fIlly\fP, \fIurx\fP, and \fIury\fP are numeric.
+.TP
+\fBsscanf\fP(\fIs\fP : \fBstring\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+scans the string \fIs\fP, extracting values
+according to the
+.IR sscanf (3)
+format
+.IR fmt .
+The values are stored in the addresses following \fIfmt\fP,
+addresses having the form \fB&\fP\fIv\fP, where \fIv\fP is some declared
+variable of the correct type.
+Returns the number of items successfully scanned.
+.SS "I/O"
+.TP
+\fBprint\fP(\fI...\fP) : \fBvoid\fP
+.BI print( " expr" , " ...\fB )
+prints a string representation of each argument in turn onto
+\fBstdout\fP, followed by a newline.
+.TP
+\fBprintf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+.TP
+\fBprintf\fP(\fIfd\fP : \fBint\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+prints the string resulting from formatting
+the values of the expressions following \fIfmt\fP
+according to the
+.IR printf (3)
+format
+.IR fmt .
+Returns 0 on success.
+By default, it prints on \fBstdout\fP.
+If the optional integer \fIfd\fP is given, output is written on the open
+stream associated with \fIfd\fP.
+.TP
+\fBscanf\fP(\fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+.TP
+\fBscanf\fP(\fIfd\fP : \fBint\fP, \fIfmt\fP : \fBstring\fP, \fI...\fP) : \fBint\fP
+scans in values from an input stream according to the
+.IR scanf (3)
+format
+.IR fmt .
+The values are stored in the addresses following \fIfmt\fP,
+addresses having the form \fB&\fP\fIv\fP, where \fIv\fP is some declared
+variable of the correct type.
+By default, it reads from \fBstdin\fP.
+If the optional integer \fIfd\fP is given, input is read from the open
+stream associated with \fIfd\fP.
+Returns the number of items successfully scanned.
+.TP
+\fBopenF\fP(\fIs\fP : \fBstring\fP, \fIt\fP : \fBstring\fP) : \fBint\fP
+opens the file \fIs\fP as an I/O stream. The string argument \fIt\fP
+specifies how the file is opened. The arguments are the same as for
+the C function
+.IR fopen (3).
+It returns an integer denoting the stream, or \-1 on error.
+.sp
+As usual, streams 0, 1 and 2 are already open as \fBstdin\fP, \fBstdout\fP,
+and \fBstderr\fP, respectively. Since \fBgvpr\fP may use \fBstdin\fP to
+read the input graphs, the user should avoid using this stream.
+.TP
+\fBcloseF\fP(\fIfd\fP : \fBint\fP) : \fBint\fP
+closes the open stream denoted by the integer \fIfd\fP.
+Streams 0, 1 and 2 cannot be closed.
+Returns 0 on success.
+.TP
+\fBreadL\fP(\fIfd\fP : \fBint\fP) : \fBstring\fP
+returns the next line read from the input stream \fIfd\fP. It returns
+the empty string "" on end of file. Note that the newline character is
+left in the returned string.
+.SS "Math"
+.TP
+\fBexp\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns e to the \fId\fPth power.
+.TP
+\fBlog\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the natural log of \fId\fP.
+.TP
+\fBsqrt\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the square root of the double \fId\fP.
+.TP
+\fBpow\fP(\fId\fP : \fBdouble\fP, \fIx\fP : \fBdouble\fP) : \fBdouble\fP
+returns \fId\fP raised to the \fIx\fPth power.
+.TP
+\fBcos\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the cosine of \fId\fP.
+.TP
+\fBsin\fP(\fId\fP : \fBdouble\fP) : \fBdouble\fP
+returns the sine of \fId\fP.
+.TP
+\fBatan2\fP(\fIy\fP : \fBdouble\fP, \fIx\fP : \fBdouble\fP) : \fBdouble\fP
+returns the arctangent of \fIy/x\fP in the range \-pi to pi.
+.SS "Miscellaneous"
+.TP
+\fBexit\fP() : \fBvoid\fP
+.TP
+\fBexit\fP(\fIv\fP : \fBint\fP) : \fBvoid\fP
+causes
+.B gvpr
+to exit with the exit code
+.IR v .
+.I v
+defaults to 0 if omitted.
+.TP
+\fBrand\fP() : \fBdouble\fP
+returns a pseudo\(hyrandom double between 0 and 1.
+.TP
+\fBsrand\fP() : \fBint\fP
+.TP
+\fBsrand\fP(\fIv\fP : \fBint\fP) : \fBint\fP
+sets a seed for the random number generator. The optional argument gives
+the seed; if it is omitted, the current time is used. The previous seed
+value is returned. \fBsrand\fP should be called before any calls to
+\fBrand\fP.
+.SH "BUILT\(hyIN VARIABLES"
+.PP
+.B gvpr
+provides certain special, built\(hyin variables, whose values are set
+automatically by \fBgvpr\fP depending on the context. Except as noted,
+the user cannot modify their values.
+.TP
+\fB$\fP : \fBobj_t\fP
+denotes the current object (node, edge, graph) depending on the
+context. It is not available in \fBBEGIN\fP or \fBEND\fP clauses.
+.TP
+\fB$F\fP : \fBstring\fP
+is the name of the current input file.
+.TP
+\fB$G\fP : \fBgraph_t\fP
+denotes the current graph being processed. It is not available
+in \fBBEGIN\fP or \fBEND\fP clauses.
+.TP
+\fB$O\fP : \fBgraph_t\fP
+denotes the output graph. Before graph traversal, it is initialized
+to the target graph. After traversal and any \fBEND_G\fP actions,
+if it refers to a non\(hyempty graph, that graph is printed onto the output stream.
+It is only valid in \fBN\fP, \fBE\fP and \fBEND_G\fP clauses.
+The output graph may be set by the user.
+.TP
+\fB$T\fP : \fBgraph_t\fP
+denotes the current target graph. It is a subgraph of \fB$G\fP
+and is available only in \fBN\fP, \fBE\fP and \fBEND_G\fP clauses.
+.TP
+\fB$tgtname\fP : \fBstring\fP
+denotes the name of the target graph.
+By default, it is set to \fB"gvpr_result"\fP.
+If used multiple times during the execution of
+.BR gvpr ,
+the name will be appended with an integer.
+This variable may be set by the user.
+.TP
+\fB$tvroot\fP : \fBnode_t\fP
+indicates the starting node for a (directed or undirected)
+depth\(hyfirst traversal of the
+graph (cf. \fB$tvtype\fP below).
+The default value is \fBNULL\fP for each input graph.
+.TP
+\fB$tvtype\fP : \fBtvtype_t\fP
+indicates how \fBgvpr\fP traverses a graph. At present, it can only take
+one of six values: \fBTV_flat\fP, \fBTV_dfs\fP, \fBTV_fwd\fP,
+\fBTV_ref\fP, \fBTV_bfs\fP, \fBTV_ne\fP, and \fBTV_en\fP.
+\fBTV_flat\fP is the default.
+The meaning of these values is discussed below.
+.TP
+\fBARGC\fP : \fBint\fP
+denotes the number of arguments specified by the
+\fB\-a\fP \fIargs\fP command\(hyline argument.
+.TP
+\fBARGV\fP : \fBstring array\fP
+denotes the array of arguments specified by the
+\fB\-a\fP \fIargs\fP
+command\(hyline argument. The \fIi\fPth argument is given
+by \fBARGV[\fIi\fP]\fR.
+.SH "BUILT\(hyIN CONSTANTS"
+.PP
+There are several symbolic constants defined by \fBgvpr\fP.
+.TP
+\fBNULL\fR : \fIobj_t\fR
+a null object reference, equivalent to 0.
+.TP
+\fBTV_flat\fR : \fItvtype_t\fR
+a simple, flat traversal, with graph objects visited in
+seemingly arbitrary order.
+.TP
+\fBTV_ne\fR : \fItvtype_t\fR
+a traversal which first visits all of the nodes, then all
+of the edges.
+.TP
+\fBTV_en\fR : \fItvtype_t\fR
+a traversal which first visits all of the edges, then all
+of the nodes.
+.TP
+\fBTV_dfs\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+underlying undirected graph.
+To do the traversal, \fBgvpr\fP will check the value of
+\fB$tvroot\fP. If this has the same value that it had previously
+(at the start, the previous value is initialized to \fBNULL\fP.), \fBgvpr\fP
+will simply look for some unvisited node and traverse its connected
+component. On the other hand, if \fB$tvroot\fP has changed, its connected
+component will be toured, assuming it has not been previously visited or,
+if \fB$tvroot\fP is \fBNULL\fP, the traversal will stop. Note that using
+\fBTV_dfs\fP and \fB$tvroot\fP, it is possible to create an infinite loop.
+.TP
+\fBTV_fwd\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+graph following only forward arcs. In
+.TP
+\fBTV_bfs\fR : \fItvtype_t\fR
+a traversal of the graph using a bread\(hyfirst search on the
+graph ignoring edge directions. See the item on \fBTV_dfs\fR above
+for the role of \fB$tvroot\fP.
+.IR libagraph (3),
+edges in undirected graphs are given an arbitrary direction, which is
+used for this traversal. The choice of roots for the traversal is the
+same as described for \fBTV_dfs\fR above.
+.TP
+\fBTV_rev\fR : \fItvtype_t\fR
+a traversal of the graph using a depth\(hyfirst search on the
+graph following only reverse arcs. In
+.IR libagraph (3),
+edges in undirected graphs are given an arbitrary direction, which is
+used for this traversal. The choice of roots for the traversal is the
+same as described for \fBTV_dfs\fR above.
+.SH EXAMPLES
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-i 'N[color=="blue"]' file.dot\fP
+.fi
+.RE
+.DT
+.PP
+Generate the node\(hyinduced subgraph of all nodes with color blue.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-c 'N[color=="blue"]{color = "red"}' file.dot\fP
+.fi
+.RE
+.DT
+.PP
+Make all blue nodes red.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEGIN { int n, e; int tot_n = 0; int tot_e = 0; }
+BEG_G {
+ n = nNodes($G);
+ e = nEdges($G);
+ printf ("%d nodes %d edges %s\n", n, e, $G.name);
+ tot_n += n;
+ tot_e += e;
+}
+END { printf ("%d nodes %d edges total\n", tot_n, tot_e) }\fP
+.fi
+.RE
+.DT
+.PP
+Version of the program \fBgc\fP.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBgvpr \-c ""\fP
+.fi
+.RE
+.DT
+.PP
+Equivalent to \fBnop\fP.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEG_G { graph_t g = graph ("merge", "S"); }
+E {
+ node_t h = clone(g,$.head);
+ node_t t = clone(g,$.tail);
+ edge_t e = edge(t,h,"");
+ e.weight = e.weight + 1;
+}
+END_G { $O = g; }\fP
+.fi
+.RE
+.DT
+.PP
+Produces a strict version of the input graph, where the weight attribute
+of an edge indicates how many edges from the input graph the edge represents.
+.PP
+.ta \w'\f(CWdelete array[expression]'u
+.RS
+.nf
+\fBBEGIN {node_t n; int deg[]}
+E{deg[head]++; deg[tail]++; }
+END_G {
+ for (deg[n]) {
+ printf ("deg[%s] = %d\n", n.name, deg[n]);
+ }
+}\fP
+.fi
+.RE
+.DT
+.PP
+Computes the degrees of nodes with edges.
+.SH ENVIRONMENT
+.TP
+.B GPRPATH
+Colon\(hyseparated list of directories to be searched to find
+the file specified by the \-f option.
+.SH BUGS AND WARNINGS
+When the program is given as a command line argument, the usual
+shell interpretation takes place, which may affect some of the
+special names in \fBgvpr\fP. To avoid this, it is best to wrap the
+program in single quotes.
+.PP
+As of 24 April 2008, \fBgvpr\fP switched to using a new, underlying
+graph library, which uses the simpler model that there is only one
+copy of a node, not one copy for each subgraph logically containing
+it. This means that iterators such as \Inxtnode\P cannot traverse
+a subgraph using just a node argument. For this reason, subgraph
+traversal requires new functions ending in "_sg", which also take
+a subgraph argument. The versions without that suffix will always
+traverse the root graph.
+.PP
+There is a single global scope, except for formal function parameters,
+and even these can interfere with the type system. Also, the
+extent of all variables is the entire life of the program.
+It might be preferable for scope
+to reflect the natural nesting of the clauses, or for the program
+to at least reset locally declared variables.
+For now, it is advisable to use distinct names for all variables.
+.PP
+If a function ends with a complex statement, such as an
+IF statement, with each branch doing a return, type checking may fail.
+Functions should use a return at the end.
+.PP
+The expr library does not support string values of (char*)0.
+This means we can't distinguish between "" and (char*)0 edge keys.
+For the purposes of looking up and creating edges, we translate ""
+to be (char*)0, since this latter value is
+necessary in order to look up any edge with a matching head and tail.
+.PP
+Related to this, strings converted to integers act like char pointers,
+getting the value 0 or 1 depending on whether the string consists
+solely of zeroes or not. Thus, the ((int)"2") evaluates to 1.
+.PP
+The language inherits the usual C problems such as dangling references
+and the confusion between '=' and '=='.
+.SH AUTHOR
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+.PP
+awk(1), gc(1), dot(1), nop(1), libexpr(3), libagraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1
new file mode 100644
index 0000000..d801368
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/gxl2gv.1
@@ -0,0 +1,92 @@
+.TH GXL2GV,GV2GXL 1 "20 December 2002"
+.SH NAME
+gxl2gv,gv2gxl \- GXL-GV converters
+.SH SYNOPSIS
+.B gxl2gv
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.br
+.B gv2gxl
+[
+.B \-gd?
+]
+[
+.BI -o outfile
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B gxl2gv
+converts between graphs represented in GXL and in the
+GV language. Unless a conversion type is specified using
+a flag,
+.B gxl2gv
+will deduce the type of conversion from the suffix of
+the input file, a ".gv" (or a ".dot") suffix causing a conversion from GV
+to GXL, and a ".gxl" suffix causing a conversion from GXL to GV.
+If no suffix is available, e.g. when the input is from a pipe,
+and no flags are used then
+.B gxl2gv
+assumes the type of the input file from its executable name
+so that
+.B gxl2gv
+converts from GXL to GV, and
+.B gv2gxl
+converts from GV to GXL.
+.PP
+GXL supports a much richer graph model than GV. \fBgxl2gv\fP
+will attempt to map GXL constructs into the analogous GV construct
+when this is possible. If not, the GXL information is stored as
+an attribute. The intention is that applying \fBgxl2gv|gv2gxl\fP
+is semantically equivalent to the identity operator.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-g
+The command name and input file extensions are ignored, the
+input is taken as a GV file and a GXL file is generated.
+.TP
+.B \-d
+The command name and input file extensions are ignored, the
+input is taken as a GXL file and a GV file is generated.
+.TP
+.B \-?
+Prints usage information and exits.
+.TP
+.BI \-o " outfile"
+If specified, the output will be written into the file
+\fIoutfile\fP. Otherwise, output is written to standard out.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in GXL or GV.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Both \fBgxl2gv\fP and \fBgv2gxl\fP return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "BUGS"
+\fBgxl2gv\fP will only convert in one direction even if given multiple files
+with varying suffixes.
+.PP
+The conversion can only handle one graph per GXL file.
+.PP
+There are some GXL constructs which \fBgxl2gv\fP cannot handle.
+.SH AUTHORS
+Krishnam Pericherla <kp@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+dot(1), libgraph(3), libagraph(3), neato(1), twopi(1)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1
new file mode 100644
index 0000000..7006ae9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lefty.1
@@ -0,0 +1,120 @@
+.TH LEFTY 1
+.SH NAME
+lefty \- A Programmable Graphics Editor
+.SH SYNOPSIS
+.B lefty
+[
+.I options
+] [
+.I file
+]
+.SH DESCRIPTION
+.B lefty
+is a two-view graphics editor for technical pictures. This editor has
+no hardwired knowledge about specific picture layouts or editing operations.
+Each picture is described by a program that contains functions to draw the
+picture and functions to perform editing operations that are appropriate for
+the specific picture. Primitive user actions, like mouse and keyboard events,
+are also bound to functions in this program. Besides the graphical view of the
+picture itself, the editor presents a textual view of the program that
+describes the picture. Programmability and the two-view interface allow the
+editor to handle a variety of pictures, but are particularly useful for
+pictures used in technical contexts, e.g., graphs and trees. Also,
+.B lefty
+can communicate with other processes. This feature allows it to use existing
+tools to compute specific picture layouts and allows external processes to use
+the editor as a front end to display their data structures graphically.
+.SH USAGE
+The file name is optional. It may be
+.BR - ,
+for reading from standard input.
+.B lefty
+uses two environment variables,
+.B LEFTYPATH
+and
+.BR LEFTYOPTIONS .
+.B LEFTYPATH
+is a colon separated list of directories. When
+.B lefty
+tries to open a file, it searches that path for the file. When
+.B lefty
+tries to start up another process, it searches
+.B LEFTYPATH
+first, then the standard
+.B PATH
+variable.
+.B LEFTYOPTIONS
+can be used to set specific options. Options specified on the command line
+override options set through this variable.
+.SH OPTIONS
+.TP
+.B -x
+Instructs the editor to exit after processing
+.BR file .
+.TP
+.B "-e <expression>"
+.B <expression>
+is parsed and executed.
+.TP
+.B -el <num>
+Set error reporting level. The default value is
+.BR 0 .
+.B 0
+never prints any messages.
+.B 1
+prints severe errors, such as trying to return from a non function.
+.B 2
+is the most useful: it reports function calls that cannot be executed, either
+because there is no function, or because of argument mismatches.
+.B 3
+also warns about bad variable names.
+.B 4,5
+warn about expressions that do not return a value. Only level
+.B 1
+messages are real errors. The rest arise from legal
+.B lefty
+statements, but may be cased by some logic errors.
+.TP
+.B "-sd <num>"
+Specifies how much of the stack to show, when an error message is to be
+printed. The default value is
+.BR 2 .
+With
+.BR 0 ,
+no part of the stack is shown. With
+.BR 1 ,
+only the top stack frame is printed. With
+.BR 2 ,
+the full stack is printed.
+.TP
+.B "-sb <num>"
+Specifies how much of each function in the stack to show, when an error message
+is to be printed. The default value is
+.BR 2 .
+With
+.BR 0 ,
+no part of the function is shown. With
+.BR 1 ,
+only the line around the error is printed. With
+.BR 2 ,
+the full function body is printed.
+.TP
+.B "-df <string>"
+Sets the default font. This font is used whenever a requested font cannot be
+found. The string must be a legal X font. If string is
+.BR "''" ,
+.B lefty
+will draw small boxes instead of text.
+.TP
+.B "-ps <file>"
+Specifies a default file name for postscript files. This name is used when no
+name is specified in the
+.B createwidget
+call. The default file name is
+.BR out.ps .
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+.I lefty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1
new file mode 100644
index 0000000..95ab644
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/lneato.1
@@ -0,0 +1,49 @@
+.TH LNEATO 1
+.SH NAME
+lneato \- A Customizable Graph Editor
+.SH SYNOPSIS
+.B lneato
+[
+.B -V
+] [
+.I file
+]
+.SH DESCRIPTION
+.B lneato
+is a graph editor for the X Window System. It may be run as a standalone
+editor, or as a front end for applications that use graphs. It can control
+multiple windows viewing different graphs.
+
+.B lneato
+is written on top of
+.B neato
+and
+.BR lefty .
+.B lefty
+is a general-purpose programmable editor for technical pictures. It has an
+interpretive programming language similar to AWK and C. The user interface and
+graph editing operations of
+.B lneato
+are written as
+.B lefty
+functions.
+Programmer-defined graph operations may be loaded as well. Graph layouts are
+made by
+.BR neato ,
+which runs as a separate process that communicates with
+.B lefty
+through pipes.
+.SH USAGE
+The file name is optional. If present, the graph contained in that file is
+displayed in the
+.B lneato
+window.
+.SH OPTIONS
+.TP
+.B -V
+Prints the version.
+.SH SEE ALSO
+neato(1), lefty(1), dotty(1),
+.br
+.I dotty
+user guide.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1
new file mode 100644
index 0000000..5745223
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/mm2gv.1
@@ -0,0 +1,47 @@
+.TH MM2GV 1 "31 July 2008"
+.SH NAME
+mm2gv \- Matrix Market-DOT converters
+.SH SYNOPSIS
+.B mm2gv
+[
+.B \-u?
+]
+[
+.BI -o outfile
+]
+[
+.I file
+]
+.br
+.SH DESCRIPTION
+.B mm2gv
+converts a sparse matrix of the Matrix Market format to a graph in the GV (formerly DOT) format.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-u
+If specified, the graph is assumed to be undirected. By default the graph generated is directed.
+.TP
+.BI \-o "outfile"
+Prints output to the file \fIoutfile\fP. If not given, \fBmm2gv\fP
+uses stdout.
+.TP
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I file
+Name of the file in MatrixMarket format.
+If no
+.I file
+operand is specified,
+the standard input will be used.
+.SH RETURN CODES
+Return \fB0\fP
+if there were no problems during conversion;
+and non-zero if any error occurred.
+.SH "LIMITATIONS"
+Currently the matrix entry values are not used.
+.SH AUTHORS
+Yifan Hu <yifanhu@research.att.com>
+.SH ADDITIONAL INFO
+See http://math.nist.gov/MatrixMarket/ for description of the format and http://www.cise.ufl.edu/research/sparse/matrices/ for a large collection of sparse matrices in this format.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/neato.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1
new file mode 100644
index 0000000..288974c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/nop.1
@@ -0,0 +1,31 @@
+.TH NOP 1 "21 March 2001"
+.SH NAME
+nop \- pretty-print graph file
+.SH SYNOPSIS
+.B nop
+[
+.B \-p?
+]
+[
+.I files
+]
+.SH DESCRIPTION
+.B nop
+reads a stream of graphs and prints each in pretty-printed (canonical) format
+on stdout. If no
+.I files
+are given, it reads from stdin.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-p
+Produce no output - just check the input for valid DOT.
+.TP
+.B \-?
+Print usage information.
+.SH "EXIT STATUS"
+If any errors occurred while processing any input, such as a file
+not found or a file containing illegal DOT, a non-zero exit value
+is returned. Otherwise, zero is returned.
+.SH "SEE ALSO"
+wc(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1
new file mode 100644
index 0000000..d69caf6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/prune.1
@@ -0,0 +1,155 @@
+.\" Copyright (c) 2002 Marcus Harnisch <marcus.harnisch@gmx.net>
+.\"
+.\" This is free documenation. It is provided to you without any
+.\" warranty that it is useful or that you can understand it.
+.\"
+.\" You are granted the right to use and redistribute the source code
+.\" or parts of it (even single words and letters), provided that the
+.\" copyright notice and the license terms will not be removed.
+.\"
+.TH prune 1
+
+.SH NAME
+prune \- Prune directed graphs
+.SH SYNOPSIS
+.B prune
+[
+.BI \-n " node"
+]
+[
+.BI \-N " attrspec"
+]
+[
+.I files ...
+]
+.SH DESCRIPTION
+.B prune
+reads directed graphs in the same format used by
+.B dot(1)
+and removes subgraphs rooted at nodes specified on the
+command line via options. These nodes themselves will not be removed,
+but can be given attributes so that they can be easily located by a
+graph stream editor such as
+.B gpr(1).
+.B prune
+correctly handles cycles, loops and multi\(hyedges.
+
+Both options can appear multiple times on the command line. All
+subgraphs rooted at the respective nodes given will then be
+processed. If a node does not exist,
+.B prune
+will skip it and print a warning message to stderr.
+If multiple attributes are given, they will be applied to
+all nodes that have been processed.
+.B prune
+writes the result to the stdout.
+.SH OPTIONS
+.TP
+.BI \-n " name"
+Specifies name of node to prune.
+.TP
+.BI \-N " attrspec"
+Specifies attribute that will be set (or changed if it exists) for any
+pruned node.
+.I attrspec
+is a string of the form
+.IR attr "=" value.
+
+.SH EXAMPLES
+An input graph
+.I test.dot
+of the form
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+
+.br
+ B \-> D;
+.br
+ B \-> E;
+.br
+ }
+.br
+
+, processed by the command
+.PP
+ prune \-n B test.dot
+.PP
+would produce the following output (the actual code might be formatted
+in a slightly different way).
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+ }
+.br
+
+Another input graph
+.I test.dot
+of the form
+.PP
+ digraph DG {
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+
+.br
+ B \-> D;
+.br
+ B \-> E;
+.br
+
+.br
+ C \-> E;
+.br
+ }
+.br
+
+(note the additional edge from
+.I C
+to
+.I E
+), processed by the command
+.PP
+ prune \-n B \-N color=red test.dot
+.PP
+results in
+.PP
+ digraph DG {
+.br
+ B [color=red];
+.br
+ A \-> B;
+.br
+ A \-> C;
+.br
+ C \-> E;
+.br
+ }
+.br
+
+Node
+.I E
+has not been removed since its second parent
+.I C
+is not being pruned.
+
+.SH "EXIT STATUS"
+.B prune
+returns 0 on successful completion.
+It returns 1 if an error occurs.
+.SH SEE ALSO
+.BR dot (1),
+.BR gpr (1)
+
+.SH AUTHOR
+Marcus Harnisch <marcus.harnisch@gmx.net>
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1
new file mode 100644
index 0000000..b8e8024
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/sccmap.1
@@ -0,0 +1,55 @@
+.TH SCCMAP 1 "21 March 2001" \*(eX
+.SH NAME
+sccmap \- extract strongly connected components of directed graphs
+.SH SYNOPSIS
+\fBsccmap\fR
+[\fB\-dsv\fR]
+[
+.I files
+]
+.SH DESCRIPTION
+.I sccmap
+decomposes digraphs into strongly connected components
+and an auxiliary map of the relationship between components.
+In this map, each component is collapsed into a node.
+The resulting graphs are printed to standard out.
+The number of nodes, edges and strongly connected components
+are printed to standard error.
+.B sccmap
+is a way of partitioning large graphs into more manageable pieces.
+.SH OPTIONS
+The following options are supported:
+.TP
+.B \-d
+Preserve degenerate components of only one node.
+.TP
+.B \-s
+Do not print the resulting graphs. Only the statistics are
+important.
+.TP
+.B \-v
+Generate additional statistics. In particular,
+.B sccmap
+prints the number of nodes, edges, connected components,
+and strongly connected components, followed by the fraction of
+nodes in a non-trivial strongly connected components,
+the maximum degree of the graph, and fraction of non-tree edges
+in the graph.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "DIAGNOSTICS"
+\fBsccmap\fP emits a warning if it encounters an undirected graph,
+and ignores it.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1
new file mode 100644
index 0000000..e15c3c1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/tred.1
@@ -0,0 +1,42 @@
+.TH TRED 1 "21 March 2001"
+.SH NAME
+tred \- transitive reduction filter for directed graphs
+.SH SYNOPSIS
+.B tred
+[
+.I files
+]
+.SH DESCRIPTION
+.B tred
+computes the transitive reduction of directed graphs,
+and prints the resulting graphs to standard output.
+This removes edges implied by transitivity.
+Nodes and subgraphs are not otherwise affected.
+The ``meaning'' and validity of the reduced graphs
+is application dependent.
+.B tred
+is particularly useful as a preprocessor to
+.I dot
+to reduce clutter in dense layouts.
+.PP
+Undirected graphs are silently ignored.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH "BUGS"
+Using bitmaps internally would substantially decrease running time.
+.SH "DIAGNOSTICS"
+If a graph has cycles, its transitive reduction is not uniquely defined.
+In this case \fItred\fP emits a warning.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), sccmap(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1
new file mode 100644
index 0000000..6ef258f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/twopi.1
@@ -0,0 +1,669 @@
+.TH DOT 1 "23 August 2004" \*(eX
+.SH NAME
+dot \- filter for drawing directed graphs
+.br
+neato \- filter for drawing undirected graphs
+.br
+twopi \- filter for radial layouts of graphs
+.br
+circo \- filter for circular layout of graphs
+.br
+fdp \- filter for drawing undirected graphs
+.SH SYNOPSIS
+\fBdot\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBneato\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-n\fR[\fB1\fR|\fB2\fR]]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBtwopi\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBcirco\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.br
+\fBfdp\fR
+[\fB\-\fR(\fBG\fR|\fBN\fR|\fBE\fR)\fIname=value\fR]
+[\fB\-T\fIlang\fR]
+[\fB\-l \fIlibfile\fR]
+[\fB\-o \fIoutfile\fR]
+[\fB\-v\fR]
+[\fB\-V\fR]
+[files]
+.SH DESCRIPTION
+.I dot
+draws directed graphs. It works well on DAGs and other graphs
+that can be drawn as hierarchies.
+It reads attributed graph files and writes drawings.
+By default, the output format
+.I dot
+is the input file with layout coordinates appended.
+.PP
+.I neato
+draws undirected graphs using ``spring'' models (see Kamada and Kawai,
+Information Processing Letters 31:1, April 1989). Input files must be
+formatted in the
+.I dot
+attributed graph language.
+By default, the output of
+.I neato
+is the input graph with layout coordinates appended.
+.PP
+.I twopi
+draws graphs using a radial layout (see G. Wills,
+Symposium on Graph Drawing GD'97, September, 1997).
+Basically, one node is chosen as the center and put at the origin.
+The remaining nodes are placed on a sequence of concentric circles
+centered about the origin, each a fixed radial distance from the
+previous circle.
+All nodes distance 1 from the center are placed on the first circle;
+all nodes distance 1 from a node on the first circle are placed on
+the second circle; and so forth.
+.PP
+.I circo
+draws graphs using a circular layout (see
+Six and Tollis, GD '99 and ALENEX '99, and
+Kaufmann and Wiese, GD '02.)
+The tool identifies biconnected components and draws the nodes of
+the component on a circle. The block\(hycutpoint tree
+is then laid out using a recursive radial algorithm. Edge
+crossings within a circle are minimized by placing as many edges on
+the circle's perimeter as possible.
+In particular, if the component is outerplanar, the component will
+have a planar layout.
+.PP
+If a node belongs to multiple non\(hytrivial biconnected components,
+the layout puts the node in one of them. By default, this is the first
+non\(hytrivial component found in the search from the root component.
+.PP
+.I fdp
+draws undirected graphs using a ``spring'' model. It relies on a
+force\(hydirected approach in the spirit of Fruchterman and Reingold
+(cf. Software\(hyPractice & Experience 21(11), 1991, pp. 1129\(hy1164).
+.SH OUTPUT FORMATS
+Dot uses an extensible plugin mechanism for its output renderers,
+so to see what output formats your installation of dot supports
+you can use ``dot \-Txxx'' (where xxx is an unlikely format)
+and check the warning message.
+Also, The plugin mechanism supports multiple implementations
+of the output formats.
+To see what variants are available, use, for example: ``dot \-Tpng:''
+and to force a particular variant, use, for example: ``dot \-Tpng:gd''
+.P
+Traditionally, dot supports the following:
+\fB\-Tps\fP (PostScript),
+\fB\-Tsvg\fP \fB\-Tsvgz\fP (Structured Vector Graphics),
+\fB\-Tfig\fP (XFIG graphics),
+\fB\-Tmif\fP (FrameMaker graphics),
+\fB\-Thpgl\fP (HP pen plotters), and \fB\-Tpcl\fP (Laserjet printers),
+\fB\-Tpng\fP \fB\-Tgif\fP (bitmap graphics),
+\fB\-Tdia\fP (GTK+ based diagrams),
+\fB\-Timap\fP (imagemap files for httpd servers for each node or edge
+that has a non(hynull "href" attribute.),
+\fB\-Tcmapx\fP (client\(hyside imagemap for use in html and xhtml).
+Additional less common or more special\(hypurpose output formats
+can be found at http://www.graphviz.org/cvs/doc/info/output.html.)
+.SH GRAPH FILE LANGUAGE
+Here is a synopsis of the graph file language, traditionally using the extension \fB.dot\fR, for graphs:
+.PP
+[\fBstrict\fR] (\fBgraph\fR|\fBdigraph\fR) \fIname\fP { \fIstatement\(hylist\fP }\fR
+.br
+Is the top level graph. If the graph is \fBstrict\fR then multiple edges are
+not allowed between the same pairs of nodes.
+If it is a directed graph, indicated by \fBdigraph\fR,
+then the \fIedgeop\fR must be "\->". If it is an undirected \fBgraph\fR
+then the \fIedgeop\fR must be "\-\-".
+Statements may be:
+.PP
+\fIname\fB=\fIval\fB;\fR
+.br
+\fBnode [\fIname\fB=\fIval\fB];\fR
+.br
+\fBedge [\fIname\fB=\fIval\fB];\fR
+.br
+Set default graph, node, or edge attribute \fIname\fP to \fIval\fP.
+Any subgraph, node, or edge appearing after this inherits the new
+default attributes.
+.PP
+\fBn0 [\fIname0=val0,name1=val1,...\fB];\fR
+Creates node \fBn0\fP (if it does not already exist)
+and sets its attributes according to the optional list.
+.PP
+\fBn0 \fIedgeop\fR n1 \fIedgeop\fR \fI...\fB \fIedgeop\fR nn [\fIname0=val0,name1=val1,...\fB];\fR
+.br
+Creates edges between nodes \fBn0\fP, \fBn1\fP, ..., \fBnn\fP and sets
+their attributes according to the optional list.
+Creates nodes as necessary.
+.PP
+[\fBsubgraph \fIname\fB] { \fIstatement\(hylist \fB}\fR
+.br
+Creates a subgraph. Subgraphs may be used in place
+of \fBn0\fP, ..., \fBnn\fP in the above statements to create edges.
+[\fBsubgraph \fIname\fR] is optional;
+if missing, the subgraph is assigned an internal name.
+.PP
+Comments may be /*C\(hylike*/ or //C++\(hylike.
+
+.PP
+Attribute names and values are ordinary (C\(hystyle) strings.
+The following sections describe attributes that control graph layout.
+
+.SH "GRAPH ATTRIBUTES"
+.PP
+\fBsize="\fIx,y\fP"\fR sets bounding box of drawing in inches.
+.PP
+\fBpage="\fIx,y\fP"\fR sets the PostScript pagination unit.
+.PP
+\fBratio=\fIf\fR sets the aspect ratio to \fIf\fP which may be
+a floating point number, or one of the keywords \fBfill\fP,
+\fBcompress\fP, or \fBauto\fP.
+.PP
+\fBmargin=\fIf\fR sets the page margin (included in the page size).
+.PP
+\fBnodesep=\fIf\fR sets the minimum separation between nodes.
+.PP
+\fBranksep=\fIf\fR sets the minimum separation between ranks.
+.PP
+\fBordering=out\fR constrains order of out\(hyedges in a subgraph
+according to their file sequence.
+.PP
+\fBrankdir=LR|RL|BT\fR requests a left\(hyto\(hyright, right\(hyto\(hyleft, or bottom\(hyto\(hytop, drawing.
+.PP
+\fBpagedir=\fR[TBLR][TBLR] sets the major and minor order of pagination.
+.PP
+\fBrank=same\fR (or \fBmin\fP or \fBmax\fP) in a subgraph
+constrains the rank assignment of its nodes. If a subgraph's
+name has the prefix \fBcluster\fP, its nodes are drawn in
+a distinct rectangle of the layout. Clusters may be nested.
+.PP
+\fBrotate=90\fR sets landscape mode.
+(\fBorientation=land\fR is backward compatible but obsolete.)
+.PP
+\fBcenter=\fIn\fR a non\(hyzero value centers the drawing on the page.
+.PP
+\fBnslimit=\fIf\fR or \fBmclimit=\fIf\fR adjusts the bound on the
+number of network simplex or mincross iterations by the given ratio.
+For example, \fBmclimit=2.0\fP runs twice as long.
+.PP
+\fBlayers="\fIid:id:id:id\fR" is a sequence of layer identifiers for
+overlay diagrams. The PostScript array variable \fIlayercolorseq\fR
+sets the assignment of colors to layers. The least index is 1 and
+each element must be a 3\(hyelement array to be interpreted as a color coordinate.
+.PP
+\fBcolor=\fIcolorvalue\fR sets foreground color (\fBbgcolor\fP for background).
+.PP
+\fBhref=\fI"url"\fR the default url for image map files; in PostScript files,
+the base URL for all relative URLs, as recognized by Acrobat Distiller
+3.0 and up.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBstylesheet=\fI"file.css"\fR includes a reference to a stylesheet
+in \-Tsvg and \-Tsvgz outputs. Ignored by other formats.
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBstart=\fIval\fR. Requests random initial placement and seeds
+the random number generator. If \fIval\fP is not an integer,
+the process ID or current time is used as the seed.
+.PP
+\fBepsilon=\fIn\fR. Sets the cutoff for the solver.
+The default is 0.1.
+.PP
+\fBsplines=\fIboolean\fR. Setting this to \fItrue\fR causes edges to be
+drawn as splines if nodes don't overlap. The default is \fIfalse\fR.
+
+.PP
+\fB(twopi\(hyspecific attributes)\fR
+.br
+\fBroot=\fIctr\fR. This specifies the node to be used as the center of
+the layout. If not specified, \fItwopi\fP will randomly pick one of the
+nodes that are furthest from a leaf node, where a leaf node is a node
+of degree 1. If no leaf nodes exists, an arbitrary node is picked as center.
+.PP
+\fBranksep=\fIval\fR. Specifies the radial distance in inches between
+the sequence of rings. The default is 0.75.
+.PP
+\fBoverlap=\fImode\fR. This specifies what \fItwopi\fP should do if
+any nodes overlap. If mode is \fI"false"\fP, the program uses Voronoi
+diagrams to adjust the nodes to eliminate overlaps. If mode is \fI"scale"\fP,
+the layout is uniformly scaled up, preserving node sizes, until nodes no
+longer overlap. The latter technique removes overlaps while preserving
+symmetry and structure, while the former removes overlaps more compactly
+but destroys symmetries.
+If mode is \fI"true"\fP (the default), no repositioning is done.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fItwopi\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fInodename\fR. Specifies the name of a node occurring in the
+root block. If the graph is disconnected, the \fBroot\fP node attribute
+can be used to specify additional root blocks.
+.PP
+\fBmindist=\fIvalue\fR. Sets the minimum separation between all nodes. If not
+specified then \fIcirco\fP uses a default value of 1.0.
+.PP
+\fBsplines=\fItrue/false\fR. If set to true, \fIcirco\fP will use the
+graphviz path planning library to draw edges as splines avoiding nodes.
+If the value is false, or some nodes overlap,
+edges are drawn as straight line segments connecting nodes.
+This is also the default style.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBK=\fIval\fR. Sets the default ideal node separation
+in the layout.
+.PP
+\fBmaxiter=\fIval\fR. Sets the maximum number of iterations used to
+layout the graph.
+.PP
+\fBstart=\fIval\fR. Adjusts the random initial placement of nodes
+with no specified position. If \fIval\fP is is an integer,
+it is used as the seed for the random number generator.
+If \fIval\fP is not an integer, a random system\(hygenerated integer,
+such as the process ID or current time, is used as the seed.
+.PP
+\fBsplines=\fIval\fR. If \fIval\fR is "true", edges are drawn
+as splines to avoid nodes. By default, edges are draw as line segments.
+.PP
+
+.SH "NODE ATTRIBUTES"
+.PP
+\fBheight=\fId\fR or \fBwidth=\fId\fR sets minimum height or width.
+Adding \fBfixedsize=true\fP forces these to be the actual size
+(text labels are ignored).
+.PP
+\fBshape=record polygon epsf \fIbuiltin_polygon\fR
+.br
+\fIbuiltin_polygon\fR is one of: \fBplaintext ellipse oval circle egg
+triangle box diamond trapezium parallelogram house hexagon octagon
+note tab box3d component.\fR
+(Polygons are defined or modified by the following node attributes:
+\fBregular\fR, \fBperipheries\fR, \fBsides\fR, \fBorientation\fR,
+\fBdistortion\fR and \fBskew\fR.) \fBepsf\fR uses the node's
+\fBshapefile\fR attribute as the path name of an external
+EPSF file to be automatically loaded for the node shape.
+.PP
+\fBlabel=\fItext\fR where \fItext\fP may include escaped newlines
+\\\|n, \\\|l, or \\\|r for center, left, and right justified lines.
+The string '\\N' value will be replaced by the node name.
+Record labels may contain recursive box lists delimited by { | }.
+Port identifiers in labels are set off by angle brackets < >.
+In the graph file, use colon (such as, \fBnode0:port28\fR).
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBcolor=\fIcolorvalue\fR sets the outline color, and the default fill color
+if style=filled and \fBfillcolor\fR is not specified.
+.PP
+\fBfillcolor=\fIcolorvalue\fR sets the fill color
+when style=filled. If not specified, the fillcolor when style=filled defaults
+to be the same as the outline color.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+A \fIcolorvalue\fP may be "\fIh,s,v\fB"\fR (hue, saturation, brightness)
+floating point numbers between 0 and 1, or an X11 color name such as
+\fBwhite black red green blue yellow magenta cyan\fR or \fBburlywood\fR,
+or a "\fI#rrggbb" (red, green, blue, 2 hex characters each) value.
+.PP
+\fBstyle=filled solid dashed dotted bold invis\fP or any Postscript code.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the node's active layers.
+The empty string means no layers (invisible).
+.PP
+The following attributes apply only to polygon shape nodes:
+.PP
+\fBregular=\fIn\fR if \fIn\fR is non\(hyzero then the polygon is made
+regular, i.e. symmetric about the x and y axis, otherwise the
+polygon takes on the aspect ratio of the label.
+\fIbuiltin_polygons\fR that are not already regular are made regular
+by this attribute.
+\fIbuiltin_polygons\fR that are already regular are not affected (i.e.
+they cannot be made asymmetric).
+.PP
+\fBperipheries=\fIn\fR sets the number of periphery lines drawn around
+the polygon. This value supersedes the number of periphery lines
+of \fIbuiltin_polygons\fR.
+.PP
+\fBsides=\fIn\fR sets the number of sides to the polygon. \fIn\fR<3
+results in an ellipse.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBorientation=\fIf\fR sets the orientation of the first apex of the
+polygon counterclockwise from the vertical, in degrees.
+\fIf\fR may be a floating point number.
+The orientation of labels is not affected by this attribute.
+This attribute is added to the initial orientation of \fIbuiltin_polygons.\fR
+.PP
+\fBdistortion=\fIf\fR sets the amount of broadening of the top and
+narrowing of the bottom of the polygon (relative to its orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBskew=\fIf\fR sets the amount of right\(hydisplacement of the top and
+left\(hydisplacement of the bottom of the polygon (relative to its
+orientation).
+Floating point values between \-1 and +1 are suggested.
+This attribute is ignored by \fIbuiltin_polygons\fR.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL.
+The target string is used to determine which window of the browser is used
+for the URL. Setting it to "_graphviz" will open a new window if it doesn't
+already exist, or reuse it if it does.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+and SVG, effective when nodes have a URL. The tooltip string defaults to be the
+same as the label string, but this attribute permits nodes without
+labels to still have tooltips thus permitting denser graphs.
+The substring '\\N' is substituted in the same manner as
+for the node label attribute.
+
+.PP
+\fB(circo\(hyspecific attributes)\fR
+.br
+\fBroot=\fItrue/false\fR. This specifies that the block containing the given
+node be treated as the root of the spanning tree in the layout.
+
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBpin=\fIval\fR. If \fIval\fR is "true", the node will remain at
+its initial position.
+
+.SH "EDGE ATTRIBUTES"
+\fBminlen=\fIn\fR where \fIn\fP is an integer factor that applies
+to the edge length (ranks for normal edges, or minimum node separation
+for flat edges).
+.PP
+\fBweight=\fIn\fR where \fIn\fP is the integer cost of the edge.
+Values greater than 1 tend to shorten the edge. Weight 0 flat
+edges are ignored for ordering nodes.
+.PP
+\fBlabel=\fItext\fR where \fItext\fR may include escaped newlines
+\\\|n, \\\|l, or \\\|r for centered, left, or right justified lines.
+If the substring '\\T' is found in a label it will be replaced by the tail_node name.
+If the substring '\\H' is found in a label it will be replaced by the head_node name.
+If the substring '\\E' value is found in a label it will be replaced by: tail_node_name\->head_node_name
+or by: tail_node_name\-\-head_node_name for undirected graphs.
+.PP
+\fBfontsize=\fIn\fR sets the label type size to \fIn\fP points.
+.PP
+\fBfontname=\fIname\fR sets the label font family name.
+.PP
+\fBfontcolor=\fIcolorvalue\fR sets the label text color.
+.PP
+\fBstyle=solid dashed dotted bold invis\fP
+.PP
+\fBcolor=\fIcolorvalue\fR sets the line color for edges.
+.PP
+\fBcolor=\fIcolorvaluelist\fR a ':' separated list of \fIcolorvalue\fR creates
+parallel edges, one edge for each color.
+.PP
+\fBdir=forward back both none\fP controls arrow direction.
+.PP
+\fBtailclip,headclip=false\fP disables endpoint shape clipping.
+.PP
+\fBhref=\fI"url"\fR sets the url for the node in imagemap, PostScript and SVG
+files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBURL=\fI"url"\fR ("URL" is a synonym for "href".)
+.PP
+\fBtarget=\fI"target"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edges have a URL.
+If the target string is empty, the default,
+then no target attribute is included in the output.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when edges have a URL. The tooltip string defaults to be the
+same as the edge label string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBarrowhead,arrowtail=none, normal, inv, dot, odot, invdot, invodot,
+tee, empty, invempty, open, halfopen, diamond, odiamond, box, obox, crow\fP.
+.PP
+\fBarrowsize\fP (norm_length=10,norm_width=5,
+inv_length=6,inv_width=7,dot_radius=2)
+.PP
+\fBheadlabel,taillabel=string\fP for port labels.
+\fBlabelfontcolor\fP,\fBlabelfontname\fP,\fBlabelfontsize\fP
+for head and tail labels.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadhref=\fI"url"\fR sets the url for the head port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadURL=\fI"url"\fR ("headURL" is a synonym for "headhref".)
+.PP
+\fBheadtarget=\fI"headtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge heads have a URL.
+The headtarget string is used to determine which window of the browser is used
+for the URL. If the headtarget string is empty, the default,
+then headtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBheadtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when head ports have a URL. The tooltip string defaults to be the
+same as the headlabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailhref=\fI"url"\fR sets the url for the tail port in imagemap, PostScript and SVG files.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailURL=\fI"url"\fR ("tailURL" is a synonym for "tailhref".)
+.PP
+\fBtailtarget=\fI"tailtarget"\fR is a target string for client\(hyside imagemaps
+and SVG, effective when edge tails have a URL.
+The tailtarget string is used to determine which window of the browser is used
+for the URL. If the tailtarget string is empty, the default,
+then tailtarget defaults to the same value as target for the edge.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBtailtooltip=\fI"tooltip"\fR is a tooltip string for client\(hyside imagemaps
+effective when tail ports have a URL. The tooltip string defaults to be the
+same as the taillabel string.
+The substrings '\\T', '\\H', and '\\E' are substituted in the same manner as
+for the edge label attribute.
+.PP
+\fBlabeldistance\fP and \fPport_label_distance\fP set distance; also
+\fBlabelangle\fP (in degrees CCW)
+.PP
+\fBdecorate\fP draws line from edge to label.
+.PP
+\fBsamehead,sametail\fP aim edges having the same value to the
+same port, using the average landing point.
+.PP
+\fBconstraint=false\fP causes an edge to be ignored for rank assignment.
+.PP
+\fBlayer=\fIid\fR or \fIid:id\fR or "all" sets the edgess active layers.
+The empty string means no layers (invisible).
+
+.PP
+\fB(neato\(hyspecific attributes)\fR
+.br
+\fBw=\fIf\fR sets the weight (spring constant) of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.PP
+\fBlen=\fIf\fR sets the optimal length of an edge.
+The default is 1.0.
+.PP
+\fB(fdp\(hyspecific attributes)\fR
+.br
+\fBweight=\fIf\fR sets the weight of an edge
+to the given floating point value. The default is 1.0;
+greater values make the edge tend more toward its optimal length.
+.SH "COMMAND LINE OPTIONS"
+\fB\-G\fP sets a default graph attribute.
+.br
+\fB\-N\fP sets a default node attribute.
+.br
+\fB\-E\fP sets a default edge attribute.
+Example: \fB\-Gsize="7,8" \-Nshape=box \-Efontsize=8\fR
+.PP
+\fB\-l\fIfile\fR loads custom PostScript library files.
+Usually these define custom shapes or styles.
+If \fB\-l\fP is given by itself, the standard library is omitted.
+.PP
+\fB\-T\fIlang\fR sets the output language as described above.
+
+.PP
+\fB\-n\fR[\fB1\fR|\fB2\fR] (no\(hyop)
+If set, neato assumes nodes have already been positioned and all
+nodes have a pos attribute giving the positions.
+It then performs an optional adjustment to remove node\(hynode overlap,
+depending on the value of the overlap attribute,
+computes the edge layouts, depending on the value of the \fBsplines\fR attribute,
+and emits the graph in the appropriate format.
+If num is supplied, the following actions occur:
+.nf
+ num = 1
+.fi
+Equivalent to \-n.
+.nf
+ num > 1
+.fi
+Use node positions as specified,
+with no adjustment to remove node\(hynode overlaps,
+and use any edge layouts already specified by the pos attribute.
+neato computes an edge layout for any edge that does not have a pos attribute.
+As usual, edge layout is guided by the \fBsplines\fR attribute.
+.PP
+\fB\-v\fP (verbose) prints delta energy every 100th iteration.
+.PP
+\fB\-V\fP (version) prints version information and exits.
+.PP
+\fB\-?\fP prints the usage and exits.
+.SH "EXAMPLES"
+.nf
+digraph test123 {
+ a \-> b \-> c;
+ a \-> {x y};
+ b [shape=box];
+ c [label="hello\\\|nworld",color=blue,fontsize=24,
+ fontname="Palatino\-Italic",fontcolor=red,style=filled];
+ a \-> z [label="hi", weight=100];
+ x \-> z [label="multi\-line\\\|nlabel"];
+ edge [style=dashed,color=red];
+ b \-> x;
+ {rank=same; b x}
+}
+.fi
+.PP
+.nf
+graph test123 {
+ a \-\- b \-\- c;
+ a \-\- {x y};
+ x \-\- c [w=10.0];
+ x \-\- y [w=5.0,len=3];
+}
+.fi
+.SH "CAVEATS"
+Edge splines can overlap unintentionally.
+.PP
+Flat edge labels are slightly broken.
+Intercluster edge labels are totally broken.
+.PP
+Because unconstrained optimization is employed, node boxes can
+possibly overlap or touch unrelated edges. All existing
+spring embedders seem to have this limitation.
+.PP
+Apparently reasonable attempts to pin nodes or adjust edge lengths
+and weights can cause instability.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.br
+John C. Ellson <ellson@research.att.com>
+.PP
+The bitmap driver (PNG, GIF etc) is by Thomas Boutell, <http://www.boutell.com/gd>
+.PP
+The Truetype font renderer is from
+the Freetype Project (David Turner, Robert Wilhelm, and Werner Lemberg)
+(who can be contacted at freetype\-devel@lists.lrz\-muenchen.de).
+.SH "SEE ALSO"
+This man page contains only a small amount of the information related
+to the Graphviz layout programs. The most complete information can be
+found at http://www.graphviz.org/Documentation.php, especially in the
+on\(hyline reference pages. Most of these documents are also available in the
+\fIdoc\fP and \fIdoc/info\fP subtrees in the source and binary distributions.
+.PP
+dotty(1)
+.br
+tcldot(n)
+.br
+xcolors(1)
+.br
+libgraph(3)
+.PP
+E. R. Gansner, S. C. North, K. P. Vo, "DAG \(hy A Program to Draw Directed Graphs", Software \(hy Practice and Experience 17(1), 1988, pp. 1047\(hy1062.
+.br
+E. R. Gansner, E. Koutsofios, S. C. North, K. P. Vo, "A Technique for Drawing Directed Graphs," IEEE Trans. on Soft. Eng. 19(3), 1993, pp. 214\(hy230.
+.br
+S. North and E. Koutsofios, "Applications of graph visualization",
+Graphics Interface 94, pp. 234\(hy245.
+.br
+E. Koutsofios and S. C. North, "Drawing Graphs with dot,"
+Available on research.att.com in dist/drawdag/dotguide.ps.Z.
+.br
+S. C. North, "NEATO User's Manual".
+Available on research.att.com in dist/drawdag/neatodoc.ps.Z.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1
new file mode 100644
index 0000000..7857cf0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man1/unflatten.1
@@ -0,0 +1,58 @@
+.TH UNFLATTEN 1 "21 January 2001"
+.SH NAME
+unflatten \- adjust directed graphs to improve layout aspect ratio
+.SH SYNOPSIS
+.B unflatten
+[\fB\-f\fR]
+[\fB\-l\fIlen\fR]
+[\fB\-c\fIlen\fR
+] [
+.B \-o
+.I outfile
+]
+[ files ]
+.SH DESCRIPTION
+.B unflatten
+is a preprocessor to
+.B dot
+that is
+used to improve the aspect ratio of graphs having many leaves
+or disconnected nodes.
+The usual layout for such a graph is generally very wide or tall.
+.B unflatten
+inserts invisible edges or adjusts the \fBminlen\fP on edges
+to improve layout compaction.
+.SH OPTIONS
+The following options are supported:
+.TP
+.BI \-l " len"
+The minimum length of leaf edges is staggered
+between 1 and \fIlen\fP (a small integer).
+.TP
+.B \-f
+Enables the staggering of the \fB-l\fP option to fanout nodes whose
+indegree and outdegree are both 1. This helps with structures such
+as \fIa -> {w x y z} -> b\fP.
+This option only works if the \fB-l\fP flag is set.
+.TP
+.BI \-c " len"
+Form disconnected nodes into chains of up to \fIlen\fP nodes.
+.TP
+.BI \-o " outfile"
+causes the output to be written to the specified file; by default,
+output is written to \fBstdout\fP.
+.SH OPERANDS
+The following operand is supported:
+.TP 8
+.I files
+Names of files containing 1 or more graphs in dot format.
+If no
+.I files
+operand is specified,
+the standard input will be used.
+.SH AUTHORS
+Stephen C. North <north@research.att.com>
+.br
+Emden R. Gansner <erg@research.att.com>
+.SH "SEE ALSO"
+gc(1), dot(1), acyclic(1), gvpr(1), gvcolor(1), ccomps(1), tred(1), libgraph(3)
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3
new file mode 100644
index 0000000..01cb2e0
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cdt.3
@@ -0,0 +1,483 @@
+.TH LIBCDT 3
+.SH NAME
+\fBCdt\fR \- container data types
+.SH SYNOPSIS
+.de Tp
+.fl
+.ne 2
+.TP
+..
+.de Ss
+.fl
+.ne 2
+.SS "\\$1"
+..
+.de Cs
+.nf
+.ft 5
+..
+.de Ce
+.ft 1
+.fi
+..
+.ta 1.0i 2.0i 3.0i 4.0i 5.0i
+.Cs
+#include <graphviz/cdt.h>
+.Ce
+.Ss "DICTIONARY TYPES"
+.Cs
+Void_t*;
+Dt_t;
+Dtdisc_t;
+Dtmethod_t;
+Dtlink_t;
+Dtstat_t;
+.Ce
+.Ss "DICTIONARY CONTROL"
+.Cs
+Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth);
+int dtclose(Dt_t* dt);
+void dtclear(dt);
+Dtmethod_t* dtmethod(Dt_t* dt, Dtmethod_t* meth);
+Dtdisc_t* dtdisc(Dt_t* dt, Dtdisc_t* disc, int type);
+Dt_t* dtview(Dt_t* dt, Dt_t* view);
+.Ce
+.Ss "STORAGE METHODS"
+.Cs
+Dtmethod_t* Dtset;
+Dtmethod_t* Dtbag;
+Dtmethod_t* Dtoset;
+Dtmethod_t* Dtobag;
+Dtmethod_t* Dtlist;
+Dtmethod_t* Dtstack;
+Dtmethod_t* Dtqueue;
+.Ce
+.Ss "DISCIPLINE"
+.Cs
+typedef Void_t* (*Dtmake_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef void (*Dtfree_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef int (*Dtcompar_f)(Dt_t*, Void_t*, Void_t*, Dtdisc_t*);
+typedef unsigned int (*Dthash_f)(Dt_t*, Void_t*, Dtdisc_t*);
+typedef Void_t* (*Dtmemory_f)(Dt_t*, Void_t*, size_t, Dtdisc_t*);
+typedef int (*Dtevent_f)(Dt_t*, int, Void_t*, Dtdisc_t*);
+.Ce
+.Ss "OBJECT OPERATIONS"
+.Cs
+Void_t* dtinsert(Dt_t* dt, Void_t* obj);
+Void_t* dtdelete(Dt_t* dt, Void_t* obj);
+Void_t* dtsearch(Dt_t* dt, Void_t* obj);
+Void_t* dtmatch(Dt_t* dt, Void_t* key);
+Void_t* dtfirst(Dt_t* dt);
+Void_t* dtnext(Dt_t* dt, Void_t* obj);
+Void_t* dtlast(Dt_t* dt);
+Void_t* dtprev(Dt_t* dt, Void_t* obj);
+Void_t* dtfinger(Dt_t* dt);
+Void_t* dtrenew(Dt_t* dt, Void_t* obj);
+int dtwalk(Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t*);
+Dtlink_t* dtflatten(Dt_t* dt);
+Dtlink_t* dtlink(Dt_t*, Dtlink_t* link);
+Void_t* dtobj(Dt_t* dt, Dtlink_t* link);
+Dtlink_t* dtextract(Dt_t* dt);
+int dtrestore(Dt_t* dt, Dtlink_t* link);
+.Ce
+.Ss "DICTIONARY STATUS"
+.Cs
+Dt_t* dtvnext(Dt_t* dt);
+int dtvcount(Dt_t* dt);
+Dt_t* dtvhere(Dt_t* dt);
+int dtsize(Dt_t* dt);
+int dtstat(Dt_t* dt, Dtstat_t*, int all);
+.Ce
+.Ss "HASH FUNCTIONS"
+.Cs
+unsigned int dtstrhash(unsigned int h, char* str, int n);
+unsigned int dtcharhash(unsigned int h, unsigned char c);
+.Ce
+.SH DESCRIPTION
+.PP
+\fICdt\fP manages run-time dictionaries using standard container data types:
+unordered set/multiset, ordered set/multiset, list, stack, and queue.
+.PP
+.Ss "DICTIONARY TYPES"
+.PP
+.Ss " Void_t*"
+This type is used to pass objects between \fICdt\fP and application code.
+\f5Void_t\fP is defined as \f5void\fP for ANSI-C and C++
+and \f5char\fP for other compilation environments.
+.PP
+.Ss " Dt_t"
+This is the type of a dictionary handle.
+.PP
+.Ss " Dtdisc_t"
+This defines the type of a discipline structure which describes
+object lay-out and manipulation functions.
+.PP
+.Ss " Dtmethod_t"
+This defines the type of a container method.
+.PP
+.Ss " Dtlink_t"
+This is the type of a dictionary object holder (see \f5dtdisc()\fP.)
+.PP
+.Ss " Dtstat_t"
+This is the type of a structure to return dictionary statistics (see \f5dtstat()\fP.)
+.PP
+.Ss "DICTIONARY CONTROL"
+.PP
+.Ss " Dt_t* dtopen(Dtdisc_t* disc, Dtmethod_t* meth)"
+This creates a new dictionary.
+\f5disc\fP is a discipline structure to describe object format.
+\f5meth\fP specifies a manipulation method.
+\f5dtopen()\fP returns the new dictionary or \f5NULL\fP on error.
+.PP
+.Ss " int dtclose(Dt_t* dt)"
+This deletes \f5dt\fP and its objects.
+Note that \f5dtclose()\fP fails if \f5dt\fP is being viewed by
+some other dictionaries (see \f5dtview()\fP).
+\f5dtclose()\fP returns \f50\fP on success and \f5-1\fP on error.
+.PP
+.Ss " void dtclear(Dt_t* dt)"
+This deletes all objects in \f5dt\fP without closing \f5dt\fP.
+.PP
+.Ss " Dtmethod_t dtmethod(Dt_t* dt, Dtmethod_t* meth)"
+If \f5meth\fP is \f5NULL\fP, \f5dtmethod()\fP returns the current method.
+Otherwise, it changes the storage method of \f5dt\fP to \f5meth\fP.
+Object order remains the same during a
+method switch among \f5Dtlist\fP, \f5Dtstack\fP and \f5Dtqueue\fP.
+Switching to and from \f5Dtset/Dtbag\fP and \f5Dtoset/Dtobag\fP may cause
+objects to be rehashed, reordered, or removed as the case requires.
+\f5dtmethod()\fP returns the previous method or \f5NULL\fP on error.
+.PP
+.Ss " Dtdisc_t* dtdisc(Dt_t* dt, Dtdisc_t* disc, int type)"
+If \f5disc\fP is \f5NULL\fP, \f5dtdisc()\fP returns the current discipline.
+Otherwise, it changes the discipline of \f5dt\fP to \f5disc\fP.
+Objects may be rehashed, reordered, or removed as appropriate.
+\f5type\fP can be any bit combination of \f5DT_SAMECMP\fP and \f5DT_SAMEHASH\fP.
+\f5DT_SAMECMP\fP means that objects will compare exactly the same as before
+thus obviating the need for reordering or removing new duplicates.
+\f5DT_SAMEHASH\fP means that hash values of objects remain the same
+thus obviating the need to rehash.
+\f5dtdisc()\fP returns the previous discipline on success
+and \f5NULL\fP on error.
+.PP
+.Ss " Dt_t* dtview(Dt_t* dt, Dt_t* view)"
+A viewpath allows a search or walk starting from a dictionary to continue to another.
+\f5dtview()\fP first terminates any current view from \f5dt\fP to another dictionary.
+Then, if \f5view\fP is \f5NULL\fP, \f5dtview\fP returns the terminated view dictionary.
+If \f5view\fP is not \f5NULL\fP, a viewpath from \f5dt\fP to \f5view\fP is established.
+\f5dtview()\fP returns \f5dt\fP on success and \f5NULL\fP on error.
+.PP
+If two dictionaries on the same viewpath have the same values for the discipline fields
+\f5Dtdisc_t.link\fP, \f5Dtdisc_t.key\fP, \f5Dtdisc_t.size\fP, and \f5Dtdisc_t.hashf\fP,
+it is expected that key hashing will be the same.
+If not, undefined behaviors may result during a search or a walk.
+.PP
+.Ss "STORAGE METHODS"
+.PP
+Storage methods are of type \f5Dtmethod_t*\fP.
+\fICdt\fP supports the following methods:
+.PP
+.Ss " Dtoset"
+.Ss " Dtobag"
+Objects are ordered by comparisons.
+\f5Dtoset\fP keeps unique objects.
+\f5Dtobag\fP allows repeatable objects.
+.PP
+.Ss " Dtset"
+.Ss " Dtbag"
+Objects are unordered.
+\f5Dtset\fP keeps unique objects.
+\f5Dtbag\fP allows repeatable objects and always keeps them together
+(note the effect on dictionary walking.)
+.PP
+.Ss " Dtlist"
+Objects are kept in a list.
+New objects are inserted either
+in front of \fIcurrent object\fP (see \f5dtfinger()\fP) if this is defined
+or at list front if there is no current object.
+.PP
+.Ss " Dtstack"
+Objects are kept in a stack, i.e., in reverse order of insertion.
+Thus, the last object inserted is at stack top
+and will be the first to be deleted.
+.PP
+.Ss " Dtqueue"
+Objects are kept in a queue, i.e., in order of insertion.
+Thus, the first object inserted is at queue head
+and will be the first to be deleted.
+.PP
+.Ss "DISCIPLINE"
+.PP
+Object format and associated management functions are
+defined in the type \f5Dtdisc_t\fP:
+.Cs
+ typedef struct
+ { int key, size;
+ int link;
+ Dtmake_f makef;
+ Dtfree_f freef;
+ Dtcompar_f comparf;
+ Dthash_f hashf;
+ Dtmemory_f memoryf;
+ Dtevent_f eventf;
+ } Dtdisc_t;
+.Ce
+.Ss " int key, size"
+Each object \f5obj\fP is identified by a key used for object comparison or hashing.
+\f5key\fP should be non-negative and defines an offset into \f5obj\fP.
+If \f5size\fP is negative, the key is a null-terminated
+string with starting address \f5*(Void_t**)((char*)obj+key)\fP.
+If \f5size\fP is zero, the key is a null-terminated string with starting address
+\f5(Void_t*)((char*)obj+key)\fP.
+Finally, if \f5size\fP is positive, the key is a byte array of length \f5size\fP
+starting at \f5(Void_t*)((char*)obj+key)\fP.
+.PP
+.Ss " int link"
+Let \f5obj\fP be an object to be inserted into \f5dt\fP as discussed below.
+If \f5link\fP is negative, an internally allocated object holder is used
+to hold \f5obj\fP. Otherwise, \f5obj\fP should have
+a \f5Dtlink_t\fP structure embedded \f5link\fP bytes into it,
+i.e., at address \f5(Dtlink_t*)((char*)obj+link)\fP.
+.PP
+.Ss " Void_t* (*makef)(Dt_t* dt, Void_t* obj, Dtdisc_t* disc)"
+If \f5makef\fP is not \f5NULL\fP,
+\f5dtinsert(dt,obj)\fP will call it
+to make a copy of \f5obj\fP suitable for insertion into \f5dt\fP.
+If \f5makef\fP is \f5NULL\fP, \f5obj\fP itself will be inserted into \f5dt\fP.
+.PP
+.Ss " void (*freef)(Dt_t* dt, Void_t* obj, Dtdisc_t* disc)"
+If not \f5NULL\fP,
+\f5freef\fP is used to destroy data associated with \f5obj\fP.
+.PP
+.Ss "int (*comparf)(Dt_t* dt, Void_t* key1, Void_t* key2, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5comparf\fP is used to compare two keys.
+Its return value should be \f5<0\fP, \f5=0\fP, or \f5>0\fP to indicate
+whether \f5key1\fP is smaller, equal to, or larger than \f5key2\fP.
+All three values are significant for method \f5Dtoset\fP and \f5Dtobag\fP.
+For other methods, a zero value
+indicates equality and a non-zero value indicates inequality.
+If \f5(*comparf)()\fP is \f5NULL\fP, an internal function is used
+to compare the keys as defined by the \f5Dtdisc_t.size\fP field.
+.PP
+.Ss " unsigned int (*hashf)(Dt_t* dt, Void_t* key, Dtdisc_t* disc)"
+If not \f5NULL\fP,
+\f5hashf\fP is used to compute the hash value of \f5key\fP.
+It is required that keys compared equal will also have same hash values.
+If \f5hashf\fP is \f5NULL\fP, an internal function is used to hash
+the key as defined by the \f5Dtdisc_t.size\fP field.
+.PP
+.Ss " Void_t* (*memoryf)(Dt_t* dt, Void_t* addr, size_t size, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5memoryf\fP is used to allocate and free memory.
+When \f5addr\fP is \f5NULL\fP, a memory segment of size \f5size\fP is requested.
+If \f5addr\fP is not \f5NULL\fP and \f5size\fP is zero, \f5addr\fP is to be freed.
+If \f5addr\fP is not \f5NULL\fP and \f5size\fP is positive,
+\f5addr\fP is to be resized to the given size.
+If \f5memoryf\fP is \f5NULL\fP, \fImalloc(3)\fP is used.
+When dictionaries share memory,
+a record of the first allocated memory segment should be kept
+so that it can be used to initialize new dictionaries (see below.)
+.PP
+.Ss " int (*eventf)(Dt_t* dt, int type, Void_t* data, Dtdisc_t* disc)"
+If not \f5NULL\fP, \f5eventf\fP announces various events.
+If it returns a negative value, the calling operation will terminate with failure.
+Unless noted otherwise, a non-negative return value let the
+calling function proceed normally. Following are the events:
+.Tp
+\f5DT_OPEN\fP:
+\f5dt\fP is being opened.
+If \f5eventf\fP returns zero, the opening process proceeds normally.
+A positive return value indicates that \f5dt\fP
+uses memory already initialized by a different dictionary.
+In that case, \f5*(Void_t**)data\fP should be set to
+the first allocated memory segment as discussed in \f5memoryf\fP.
+\f5dtopen()\fP may fail if this segment is not returned or
+if it has not been properly initialized.
+.Tp
+\f5DT_CLOSE\fP:
+\f5dt\fP is being closed.
+.Tp
+\f5DT_DISC\fP:
+The discipline of \f5dt\fP is being changed to a new one given in
+\f5(Dtdisc_t*)data\fP.
+.Tp
+\f5DT_METH\fP:
+The method of \f5dt\fP is being changed to a new one given in
+\f5(Dtmethod_t*)data\fP.
+.PP
+.Ss "OBJECT OPERATIONS"
+.PP
+.Ss " Void_t* dtinsert(Dt_t* dt, Void_t* obj)"
+This inserts an object prototyped by \f5obj\fP into \f5dt\fP.
+If there is an existing object in \f5dt\fP matching \f5obj\fP
+and the storage method is \f5Dtset\fP or \f5Dtoset\fP,
+\f5dtinsert()\fP will simply return the matching object.
+Otherwise, a new object is inserted according to the method in use.
+See \f5Dtdisc_t.makef\fP for object construction.
+\f5dtinsert()\fP returns the new object, a matching object as noted,
+or \f5NULL\fP on error.
+.PP
+.Ss " Void_t* dtdelete(Dt_t* dt, Void_t* obj)"
+If \f5obj\fP is not \f5NULL\fP, the first object matching it is deleted.
+If \f5obj\fP is \f5NULL\fP, methods \f5Dtstack\fP and \f5Dtqueue\fP
+delete respectively stack top or queue head while other methods do nothing.
+See \f5Dtdisc_t.freef\fP for object destruction.
+\f5dtdelete()\fP returns the deleted object (even if it was deallocated)
+or \f5NULL\fP on error.
+.PP
+.Ss " Void_t* dtsearch(Dt_t* dt, Void_t* obj)"
+.Ss " Void_t* dtmatch(Dt_t* dt, Void_t* key)"
+These functions find an object matching \f5obj\fP or \f5key\fP either from \f5dt\fP or
+from some dictionary accessible from \f5dt\fP via a viewpath (see \f5dtview()\fP.)
+\f5dtsearch()\fP and \f5dtmatch()\fP return the matching object or
+\f5NULL\fP on failure.
+.PP
+.Ss " Void_t* dtfirst(Dt_t* dt)"
+.Ss " Void_t* dtnext(Dt_t* dt, Void_t* obj)"
+\f5dtfirst()\fP returns the first object in \f5dt\fP.
+\f5dtnext()\fP returns the object following \f5obj\fP.
+Objects are ordered based on the storage method in use.
+For \f5Dtoset\fP and \f5Dtobag\fP, objects are ordered by object comparisons.
+For \f5Dtstack\fP, objects are ordered in reverse order of insertion.
+For \f5Dtqueue\fP, objects are ordered in order of insertion.
+For \f5Dtlist\fP, objects are ordered by list position.
+For \f5Dtset\fP and \f5Dtbag\fP,
+objects use some internal ordering which
+may change on any search, insert, or delete operations.
+Therefore, these operations should not be used
+during a walk on a dictionary using either \f5Dtset\fP or \f5Dtbag\fP.
+.PP
+Objects in a dictionary or a viewpath can be walked using
+a \f5for(;;)\fP loop as below.
+Note that only one loop can be used at a time per dictionary.
+Concurrent or nested loops may result in unexpected behaviors.
+.Cs
+ for(obj = dtfirst(dt); obj; obj = dtnext(dt,obj))
+.Ce
+.Ss " Void_t* dtlast(Dt_t* dt)"
+.Ss " Void_t* dtprev(Dt_t* dt, Void_t* obj)"
+\f5dtlast()\fP and \f5dtprev()\fP are like \f5dtfirst()\fP and \f5dtnext()\fP
+but work in reverse order.
+Note that dictionaries on a viewpath are still walked in order
+but objects in each dictionary are walked in reverse order.
+.PP
+.Ss " Void_t* dtfinger(Dt_t* dt)"
+This function returns the \fIcurrent object\fP of \f5dt\fP, if any.
+The current object is defined after a successful call to one of
+\f5dtsearch()\fP, \f5dtmatch()\fP, \f5dtinsert()\fP,
+\f5dtfirst()\fP, \f5dtnext()\fP, \f5dtlast()\fP, or \f5dtprev()\fP.
+As a side effect of this implementation of \fICdt\fP,
+when a dictionary is based on \f5Dtoset\fP and \f5Dtobag\fP,
+the current object is always defined and is the root of the tree.
+.PP
+.Ss " Void_t* dtrenew(Dt_t* dt, Void_t* obj)"
+This function repositions and perhaps rehashes
+an object \f5obj\fP after its key has been changed.
+\f5dtrenew()\fP only works if \f5obj\fP is the current object (see \f5dtfinger()\fP).
+.PP
+.Ss " dtwalk(Dt_t* dt, int (*userf)(Dt_t*, Void_t*, Void_t*), Void_t* data)"
+This function calls \f5(*userf)(walk,obj,data)\fP on each object in \f5dt\fP and
+other dictionaries viewable from it.
+\f5walk\fP is the dictionary containing \f5obj\fP.
+If \f5userf()\fP returns a \f5<0\fP value,
+\f5dtwalk()\fP terminates and returns the same value.
+\f5dtwalk()\fP returns \f50\fP on completion.
+.PP
+.Ss " Dtlink_t* dtflatten(Dt_t* dt)"
+.Ss " Dtlink_t* dtlink(Dt_t* dt, Dtlink_t* link)"
+.Ss " Void_t* dtobj(Dt_t* dt, Dtlink_t* link)"
+Using \f5dtfirst()/dtnext()\fP or \f5dtlast()/dtprev()\fP
+to walk a single dictionary can incur significant cost due to function calls.
+For efficient walking of a single directory (i.e., no viewpathing),
+\f5dtflatten()\fP and \f5dtlink()\fP can be used.
+Objects in \f5dt\fP are made into a linked list and walked as follows:
+.Cs
+ for(link = dtflatten(dt); link; link = dtlink(dt,link) )
+.Ce
+.PP
+Note that \f5dtflatten()\fP returns a list of type \f5Dtlink_t*\fP,
+not \f5Void_t*\fP. That is, it returns a dictionary holder pointer,
+not a user object pointer
+(although both are the same if the discipline field \f5link\fP is non-negative.)
+The macro function \f5dtlink()\fP
+returns the dictionary holder object following \f5link\fP.
+The macro function \f5dtobj(dt,link)\fP
+returns the user object associated with \f5link\fP,
+Beware that the flattened object list is unflattened on any
+dictionary operations other than \f5dtlink()\fP.
+.PP
+.Ss " Dtlink_t* dtextract(Dt_t* dt)"
+.Ss " int dtrestore(Dt_t* dt, Dtlink_t* link)"
+\f5dtextract()\fP extracts all objects from \f5dt\fP and makes it appear empty.
+\f5dtrestore()\fP repopulates \f5dt\fP with
+objects previously obtained via \f5dtextract()\fP.
+\f5dtrestore()\fP will fail if \f5dt\fP is not empty.
+These functions can be used
+to share a same \f5dt\fP handle among many sets of objects.
+They are useful to reduce dictionary overhead
+in an application that creates concurrently many dictionaries.
+It is important that the same discipline and method are in use at both
+extraction and restoration. Otherwise, undefined behaviors may result.
+.PP
+.Ss "DICTIONARY INFORMATION"
+.PP
+.Ss " Dt_t* dtvnext(Dt_t* dt)"
+This returns the dictionary that \f5dt\fP is viewing, if any.
+.Ss " int dtvcount(Dt_t* dt)"
+This returns the number of dictionaries that view \f5dt\fP.
+.Ss " Dt_t* dtvhere(Dt_t* dt)"
+This returns the dictionary \f5v\fP viewable from \f5dt\fP
+where an object was found from the most recent search or walk operation.
+.Ss " int dtsize(Dt_t* dt)"
+This function returns the number of objects stored in \f5dt\fP.
+.PP
+.Ss " int dtstat(Dt_t *dt, Dtstat_t* st, int all)"
+This function reports dictionary statistics.
+If \f5all\fP is non-zero, all fields of \f5st\fP are filled.
+Otherwise, only the \f5dt_type\fP and \f5dt_size\fP fields are filled.
+It returns \f50\fP on success and \f5-1\fP on error.
+.PP
+\f5Dtstat_t\fP contains the below fields:
+.Tp
+\f5int dt_type\fP:
+This is one of \f5DT_SET\fP, \f5DT_BAG\fP, \f5DT_OSET\fP, \f5DT_OBAG\fP,
+\f5DT_LIST\fP, \f5DT_STACK\fP, and \f5DT_QUEUE\fP.
+.Tp
+\f5int dt_size\fP:
+This contains the number of objects in the dictionary.
+.Tp
+\f5int dt_n\fP:
+For \f5Dtset\fP and \f5Dtbag\fP,
+this is the number of non-empty chains in the hash table.
+For \f5Dtoset\fP and \f5Dtobag\fP,
+this is the deepest level in the tree (counting from zero.)
+Each level in the tree contains all nodes of equal distance from the root node.
+\f5dt_n\fP and the below two fields are undefined for other methods.
+.Tp
+\f5int dt_max\fP:
+For \f5Dtbag\fP and \f5Dtset\fP, this is the size of a largest chain.
+For \f5Dtoset\fP and \f5Dtobag\fP, this is the size of a largest level.
+.Tp
+\f5int* dt_count\fP:
+For \f5Dtset\fP and \f5Dtbag\fP,
+this is the list of counts for chains of particular sizes.
+For example, \f5dt_count[1]\fP is the number of chains of size \f51\fP.
+For \f5Dtoset\fP and \f5Dtobag\fP, this is the list of sizes of the levels.
+For example, \f5dt_count[1]\fP is the size of level \f51\fP.
+.PP
+.Ss "HASH FUNCTIONS"
+.PP
+.Ss " unsigned int dtcharhash(unsigned int h, char c)"
+.Ss " unsigned int dtstrhash(unsigned int h, char* str, int n)"
+These functions compute hash values from bytes or strings.
+\f5dtcharhash()\fP computes a new hash value from byte \f5c\fP and seed value \f5h\fP.
+\f5dtstrhash()\fP computes a new hash value from string \f5str\fP and seed value \f5h\fP.
+If \f5n\fP is positive, \f5str\fP is a byte array of length \f5n\fP;
+otherwise, \f5str\fP is a null-terminated string.
+.PP
+.SH IMPLEMENTATION NOTES
+\f5Dtset\fP and \f5Dtbag\fP are based on hash tables with
+move-to-front collision chains.
+\f5Dtoset\fP and \f5Dtobag\fP are based on top-down splay trees.
+\f5Dtlist\fP, \f5Dtstack\fP and \f5Dtqueue\fP are based on doubly linked list.
+.PP
+.SH AUTHOR
+Kiem-Phong Vo, kpv@research.att.com
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3
new file mode 100644
index 0000000..7c72459
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/cgraph.3
@@ -0,0 +1,486 @@
+.de P0
+.nf
+\f5
+..
+.de P1
+\fP
+.fi
+..
+.de Ss
+.fl
+.ne 2
+.SS "\\$1"
+..
+.TH LIBCGRAPH 3 "30 JULY 2007"
+.SH "NAME"
+\fBlibcgraph\fR \- abstract graph library
+.SH "SYNOPSIS"
+."ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+.P0
+#include <graphviz/cgraph.h>
+.P1
+.SS "TYPES"
+.P0
+Agraph_t;
+Agnode_t;
+Agedge_t;
+Agdesc_t;
+Agdisc_t;
+Agsym_t;
+.P1
+.SS "GRAPHS"
+.P0
+Agraph_t *agopen(char *name, Agdesc_t kind, Agdisc_t *disc);
+int agclose(Agraph_t *g);
+Agraph_t *agread(void *channel, Agdisc_t *);
+Agraph_t *agconcat(Agraph_t *g, void *channel, Agdisc_t *disc)
+int agwrite(Agraph_t *g, void *channel);
+int agnnodes(Agraph_t *g),agnedges(Agraph_t *g);
+void agreadline(int line_no);
+void agsetfile(char *file_name);
+int agisdirected(Agraph_t * g),agisundirected(Agraph_t * g),agisstrict(Agraph_t * g);
+.SS "SUBGRAPHS"
+.P0
+Agraph_t *agsubg(Agraph_t *g, char *name, int createflag);
+Agraph_t *agidsubg(Agraph_t * g, unsigned long id, int cflag);
+Agraph_t *agfstsubg(Agraph_t *g), agnxtsubg(Agraph_t *);
+Agraph_t *agparent(Agraph_t *g),*agroot(Agraph_t *g);
+int agdelsubg(Agraph_t * g, Agraph_t * sub); /* same as agclose() */
+.P1
+.SS "NODES"
+.P0
+Agnode_t *agnode(Agraph_t *g, char *name, int createflag);
+Agnode_t *agidnode(Agraph_t *g, ulong id, int createflag);
+Agnode_t *agsubnode(Agraph_t *g, Agnode_t *n, int createflag);
+Agnode_t *agfstnode(Agraph_t *g);
+Agnode_t *agnxtnode(Agnode_t *n);
+Agnode_t *agprvnode(Agnode_t *n);
+Agnode_t *aglstnode(Agnode_t *n);
+int agdelnode(Agraph_t *g, Agnode_t *n);
+int agdegree(Agnode_t *n, int use_inedges, int use_outedges);
+.P1
+.SS "EDGES"
+.P0
+Agedge_t *agedge(Agnode_t *t, Agnode_t *h, char *name, int createflag);
+Agedge_t *agidedge(Agraph_t * g, Agnode_t * t, Agnode_t * h, unsigned long id, int createflag);
+Agedge_t *agsubedge(Agraph_t *g, Agedge_t *e, int createflag);
+Agnode_t *aghead(Agedge_t *e), *agtail(Agedge_t *e);
+Agedge_t *agfstedge(Agnode_t *n);
+Agedge_t *agnxtedge(Agedge_t *e, Agnode_t *n);
+Agedge_t *agfstin(Agnode_t *n);
+Agedge_t *agnxtin(Agedge_t *e);
+Agedge_t *agfstout(Agnode_t *n);
+Agedge_t *agnxtout(Agedge_t *e);
+int agdeledge(Agraph_t *g, Agedge_t *e);
+.SS "STRING ATTRIBUTES"
+.P0
+Agsym_t *agattr(Agraph_t *g, int kind, char *name, char *value);
+Agsym_t *agattrsym(void *obj, char *name);
+Agsym_t *agnxtattr(Agraph_t *g, int kind, Agsym_t *attr);
+char *agget(void *obj, char *name);
+char *agxget(void *obj, Agsym_t *sym);
+int agset(void *obj, char *name, char *value);
+int agxset(void *obj, Agsym_t *sym, char *value);
+int agsafeset(void *obj, char *name, char *value, char *def);
+.P1
+.SS "RECORDS"
+.P0
+void *agbindrec(void *obj, char *name, unsigned int size, move_to_front);
+Agrec_t *aggetrec(void *obj, char *name, int move_to_front);
+int agdelrec(Agraph_t *g, void *obj, char *name);
+int agcopyattr(void *, void *);
+void aginit(Agraph_t * g, int kind, char *rec_name, int rec_size, int move_to_front);
+void agclean(Agraph_t * g, int kind, char *rec_name);
+.P1
+.SS "CALLBACKS"
+.P0
+Agcbdisc_t *agpopdisc(Agraph_t *g);
+void agpushdisc(Agraph_t *g, Agcbdisc_t *disc);
+void agmethod(Agraph_t *g, void *obj, Agcbdisc_t *disc, int initflag);
+.P1
+.SS "MEMORY"
+.P0
+void *agalloc(Agraph_t *g, size_t request);
+void *agrealloc(Agraph_t *g, void *ptr, size_t oldsize, size_t newsize);
+void agfree(Agraph_t *g, void *ptr);
+.P1
+.SS "GENERIC OBJECTS"
+.P0
+Agraph_t *agraphof(void*);
+char *agnameof(void*);
+void agdelete(Agraph_t *g, void *obj);
+Agrec_t *AGDATA(void *obj);
+ulong AGID(void *obj);
+int AGTYPE(void *obj);
+.P1
+.SH "DESCRIPTION"
+Libcgraph supports graph programming by maintaining graphs in memory
+and reading and writing graph files.
+Graphs are composed of nodes, edges, and nested subgraphs.
+These graph objects may be attributed with string name-value pairs
+and programmer-defined records (see Attributes).
+.PP
+All of Libcgraph's global symbols have the prefix \fBag\fR (case varying).
+.SH "GRAPH AND SUBGRAPHS"
+.PP
+A ``main'' or ``root'' graph defines a namespace for a collection of
+graph objects (subgraphs, nodes, edges) and their attributes.
+Objects may be named by unique strings or by 32-bit IDs.
+.PP
+\fBagopen\fP creates a new graph with the given name and kind.
+(Graph kinds are \fBAgdirected\fP, \fBAgundirected\fP,
+\fBAgstrictdirected\fP, and \fBAgstrictundirected\fP.
+A strict graph cannot have multi-edges or self-arcs.)
+\fBagclose\fP deletes a graph, freeing its associated storage.
+\fBagread\fP, \fBagwrite\fP, and \fBagconcat\fP perform file I/O
+using the graph file language described below. \fBagread\fP
+constructs a new graph while \fBagconcat\fP merges the file
+contents with a pre-existing graph. Though I/O methods may
+be overridden, the default is that the channel argument is
+a stdio FILE pointer. \fBagsetfile\fP and \fBagreadline\fP
+are helper functions that simply set the current file name
+and input line number for subsequent error reporting.
+.PP
+\fBagsubg\fP finds or creates
+a subgraph by name. A new subgraph is is initially empty and
+is of the same kind as its parent. Nested subgraph trees may be created.
+A subgraph's name is only interpreted relative to its parent.
+A program can scan subgraphs under a given graph
+using \fBagfstsubg\fP and \fRagnxtsubg\fP. A subgraph is
+deleted with \fBagdelsubg\fP (or \fBagclose\fP).
+.PP
+By default, nodes are stored in ordered sets for efficient random
+access to insert, find, and delete nodes.
+The edges of a node are also stored in ordered sets.
+The sets are maintained internally as splay tree dictionaries
+using Phong Vo's cdt library.
+.PP
+\fBagnnodes\fP, \fBagnedges\fP, and \fBagdegree\fP return the
+sizes of node and edge sets of a graph. The \fBagdegree\fP returns
+the size of the edge set of a nodes, and takes flags
+to select in-edges, out-edges, or both.
+.PP
+An \fBAgdisc_t\fP defines callbacks to be invoked by libcgraph when
+initializing, modifying, or finalizing graph objects. (Casual users can ignore
+the following.) Disciplines are kept on a stack. Libcgraph automatically
+calls the methods on the stack, top-down. Callbacks are installed
+with \fBagpushdisc\fP, uninstalled with \fBagpopdisc\fP, and
+can be held pending or released via \fBagcallbacks\fP.
+.PP
+(Casual users may ignore the following.
+When Libcgraph is compiled with Vmalloc (which is not the default),
+each graph has its own heap.
+Programmers may allocate application-dependent data within the
+same heap as the rest of the graph. The advantage is that
+a graph can be deleted by atomically freeing its entire heap
+without scanning each individual node and edge.
+.SH "NODES"
+A node is created by giving a unique string name or
+programmer defined 32-bit ID, and is represented by a
+unique internal object. (Node equality can checked
+by pointer comparison.)
+.PP
+\fBagnode\fP searches in a graph or subgraph for a node
+with the given name, and returns it if found.
+If not found, if \fBcreateflag\fP is boolean true
+a new node is created and returned, otherwise a nil
+pointer is returned.
+\fBagidnode\fP allows a programmer to specify the node
+by a unique 32-bit ID.
+\fBagsubnode\fP performs a similar operation on
+an existing node and a subgraph.
+.Pp
+\fBagfstnode\fP and \fBagnxtnode\fP scan node lists.
+\fBagprvnode\fP and \fPaglstnode\fP are symmetric but scan backward.
+The default sequence is order of creation (object timestamp.)
+\fBagdelnode\fP removes a node from a graph or subgraph.
+.SH "EDGES"
+.PP
+An abstract edge has two endpoint nodes called tail and head
+where the all outedges of the same node have it as the tail
+value and similarly all inedges have it as the head.
+In an undirected graph, head and tail are interchangable.
+If a graph has multi-edges between the same pair of nodes,
+the edge's string name behaves as a secondary key.
+.Pp
+\fBagedge\fP searches in a graph of subgraph for an
+edge between the given endpoints (with an optional
+multi-edge selector name) and returns it if found.
+Otherwise, if \fBcreateflag\fP is boolean true,
+a new edge is created and returned: otherwise
+a nil pointer is returned. If the \fBname\fP
+is \f5(char*)0\fP then an anonymous internal
+value is generated. \fBagidedge\fP allows a programmer
+to create an edge by giving its unique 32-bit ID.
+\fBagfstin\fP, \fBagnxtint\fP, \fBagfstout\fP, and
+\fBagnxtout\fP visit directed in- and out- edge lists,
+and ordinarily apply only in directed graphs.
+\fBagfstedge\fP and \fBagnxtedge\fP visit all edges
+incident to a node. \fBagtail\fP and \fBaghead\fP
+get the endpoint of an edge.
+.SH "INTERNAL ATTRIBUTES"
+Programmer-defined values may be dynamically
+attached to graphs, subgraphs, nodes, and edges.
+Such values are either uninterpreted binary records
+(for implementing efficient algorithms)
+or character string data (for I/O).
+.SH "STRING ATTRIBUTES"
+String attributes are handled automatically in reading
+and writing graph files.
+A string attribute is identified by name and by
+an internal symbol table entry (\fBAgsym_t\fP) created by Libcgraph.
+Attributes of nodes, edges, and graphs (with their subgraphs)
+have separate namespaces. The contents of an \fBAgsym_t\fP
+is listed below, followed by primitives to operate on string
+attributes.
+.P0
+typedef struct Agsym_s { /* symbol in one of the above dictionaries */
+ Dtlink_t link;
+ char *name; /* attribute's name */
+ char *defval; /* its default value for initialization */
+ int id; /* its index in attr[] */
+ unsigned char kind; /* referent object type */
+ unsigned char fixed; /* immutable value */
+} Agsym_t;
+.P1
+.PP
+\fBagattr\fP creates or looks up attributes.
+\fBkind\fP may be \fBAGRAPH\fP, \fBAGNODE\fP, or \fBAGEDGE\fP.
+If \fBvalue\fP is \fB(char*)0)\fP, the request is to search
+for an existing attribute of the given kind and name.
+Otherwise, if the attribute already exists, its default
+for creating new objects is set to the given value;
+if it does not exist, a new attribute is created with the
+given default, and the default is applied to all pre-existing
+objects of the given kind. \fBagattrsym\fP is a helper function
+that looks up an attribute for a graph object given as an argument.
+\fBagnxtattr\P permits traversing the list of attributes of
+a given type. If \fBNIL\fP is passed as an argument it gets
+the first attribute, otherwise it returns the next one in
+succession or returns \fBNIL\fP at the end of the list.
+\fBagget\fP and \fPagset\fP allow fetching and updating a
+string attribute for an object taking the attribute name as
+an argument. \fBagxget\fP and \fBagxset\fP do this but with
+an attribute symbol table entry as an argument (to avoid
+the cost of the string lookup). \fBagsafeset\fP is a
+convenience function that ensures the given attribute is
+declared before setting it locally on an object.
+
+Note that Libcgraph performs its own storage management of strings.
+The caller does not need to dynamically allocate storage.
+
+.SH "RECORDS"
+Uninterpreted records may be attached to graphs, subgraphs, nodes,
+and edges for efficient operations on values such as marks, weights,
+counts, and pointers needed by algorithms. Application programmers
+define the fields of these records, but they must be declared with
+a common header as shown below.
+.P0
+typedef struct Agrec_s {
+ Agrec_t header;
+ /* programmer-defined fields follow */
+} Agrec_t;
+.P1
+Records are created and managed by Libcgraph. A programmer must
+explicitly attach them to the objects in a graph, either to
+individual objects one at a time via \fBagbindrec\fP, or to
+all the objects of the same class in a graph via \fBaginit\fP.
+The \fBname\fP argument a record distinguishes various types of records,
+and is programmer defined (Libcgraph reserves the prefix \fB_ag\fR).
+If size is 0, the call to \fBagbindrec\fP is simply a lookup.
+\fBagdelrec\fP is the deletes records one at a time.
+\fBagclean\fP does the same for all objects of the same
+class in an entire graph.
+
+Internally, records are maintained in circular linked lists
+attached to graph objects.
+To allow referencing application-dependent data without function
+calls or search, Libcgraph allows setting and locking the list
+pointer of a graph, node, or edge on a particular record.
+This pointer can be obtained with the macro \fBAGDATA(obj)\fP.
+A cast, generally within a macro or inline function,
+is usually applied to convert the list pointer to
+an appropriate programmer-defined type.
+
+To control the setting of this pointer,
+the \fBmove_to_front\fP flag may be \fBAG_MTF_FALSE\fP,
+\fBAG_MTF_SOFT\fP, or \fBAG_MTF_HARD\fP accordingly.
+The \fBAG_MTF_SOFT\fP field is only a hint that decreases
+overhead in subsequent calls of \fBaggetrec\fP;
+\fBAG_MTF_HARD\fP guarantees that a lock was obtained.
+To release locks, use \fBAG_MTF_SOFT\fP or \fBAG_MTF_FALSE\fP.
+Use of this feature implies cooperation or at least isolation
+from other functions also using the move-to-front convention.
+
+.SH "DISCIPLINES"
+(The following is not intended for casual users.)
+Programmer-defined disciplines customize certain resources-
+ID namespace, memory, and I/O - needed by Libcgraph.
+A discipline struct (or NIL) is passed at graph creation time.
+.P0
+struct Agdisc_s { /* user's discipline */
+ Agmemdisc_t *mem;
+ Agiddisc_t *id;
+ Agiodisc_t *io;
+} ;
+.P1
+A default discipline is supplied when NIL is given for
+any of these fields.
+
+An ID allocator discipline allows a client to control assignment
+of IDs (uninterpreted 32-bit values) to objects, and possibly how
+they are mapped to and from strings.
+
+.P0
+struct Agiddisc_s { /* object ID allocator */
+ void *(*open)(Agraph_t *g); /* associated with a graph */
+ int (*map)(void *state, int objtype, char *str, ulong *id, int createflag);
+ int (*alloc)(void *state, int objtype, ulong id);
+ void (*free)(void *state, int objtype, ulong id);
+ char *(*print)(void *state, int objtype, ulong id);
+ void (*close)(void *state);
+} ;
+.P1
+
+\f5open\fP permits the ID discipline to initialize any data
+structures that maintains per individual graph.
+Its return value is then passed as the first argument to
+all subsequent ID manager calls.
+
+\f5alloc\fP informs the ID manager that Libcgraph is attempting
+to create an object with a specific ID that was given by a client.
+The ID manager should return TRUE (nonzero) if the ID can be
+allocated, or FALSE (which aborts the operation).
+
+\f5free\fP is called to inform the ID manager that the
+object labeled with the given ID is about to go out of existence.
+
+\f5map\fP is called to create or look-up IDs by string name
+(if supported by the ID manager). Returning TRUE (nonzero)
+in all cases means that the request succeeded (with a valid
+ID stored through \f5result\fP. There are four cases:
+.PP
+\f5name != NULL\fP and \f5createflag == 1\fP:
+This requests mapping a string (e.g. a name in a graph file) into a new ID.
+If the ID manager can comply, then it stores the result and returns TRUE.
+It is then also responsible for being able to \f5print\fP the ID again
+as a string. Otherwise the ID manager may return FALSE but it must
+implement the following (at least for graph file reading and writing to work):
+.PP
+\f5name == NULL\fP and \f5createflag == 1\fP:
+The ID manager creates a unique new ID of its own choosing.
+Although it may return FALSE if it does not support anonymous objects,
+but this is strongly discouraged (to support "local names" in graph files.)
+.PP
+\f5name != NULL\fP and \f5createflag == 0\fP:
+This is a namespace probe. If the name was previously mapped into
+an allocated ID by the ID manager, then the manager must return this ID.
+Otherwise, the ID manager may either return FALSE, or may store
+any unallocated ID into result. (This is convenient, for example,
+if names are known to be digit strings that are directly converted into 32 bit values.)
+.PP
+\f5name == NULL\fP and \f5createflag == 0\fP: forbidden.
+.PP
+\f5print\fP should return
+\f5print\fP is allowed to return a pointer to a static buffer;
+a caller must copy its value if needed past subsequent calls.
+\f5NULL\fP should be returned by ID managers that do not map names.
+.PP
+The \f5map\fP and \f5alloc\fP calls do not pass a pointer to the
+newly allocated object. If a client needs to install object
+pointers in a handle table, it can obtain them via
+new object callbacks.
+.P0
+struct Agiodisc_s {
+ int (*fread)(void *chan, char *buf, int bufsize);
+ int (*putstr)(void *chan, char *str);
+ int (*flush)(void *chan); /* sync */
+ /* error messages? */
+} ;
+
+struct Agmemdisc_s { /* memory allocator */
+ void *(*open)(void); /* independent of other resources */
+ void *(*alloc)(void *state, size_t req);
+ void *(*resize)(void *state, void *ptr, size_t old, size_t req);
+ void (*free)(void *state, void *ptr);
+ void (*close)(void *state);
+} ;
+.P1
+
+.SH "EXAMPLE PROGRAM"
+.P0
+#include <graphviz/cgraph.h>
+typedef struct mydata_s {Agrec_t hdr; int x,y,z;} mydata;
+
+main(int argc, char **argv)
+{
+ Agraph_t *g;
+ Agnode_t *v;
+ Agedge_t *e;
+ Agsym_t *attr;
+ Dict_t *d
+ int cnt;
+ mydata *p;
+
+ if (g = agread(stdin,NIL(Agdisc_t*))) {
+ cnt = 0; attr = 0;
+ while (attr = agnxtattr(g, AGNODE, attr)) cnt++;
+ printf("The graph %s has %d attributes\n",agnameof(g),cnt);
+
+ /* make the graph have a node color attribute, default is blue */
+ attr = agattr(g,AGNODE,"color","blue");
+
+ /* create a new graph of the same kind as g */
+ h = agopen("tmp",g->desc);
+
+ /* this is a way of counting all the edges of the graph */
+ cnt = 0;
+ for (v = agfstnode(g); v; v = agnxtnode(g,v))
+ for (e = agfstout(g,v); e; e = agnxtout(g,e))
+ cnt++;
+
+ /* attach records to edges */
+ for (v = agfstnode(g); v; v = agnxtnode(g,v))
+ for (e = agfstout(g,v); e; e; = agnxtout(g,e)) {
+ p = (mydata*) agbindrec(g,e,"mydata",sizeof(mydata),TRUE);
+ p->x = 27; /* meaningless data access example */
+ ((mydata*)(AGDATA(e)))->y = 999; /* another example */
+ }
+ }
+}
+.P1
+.SH "EXAMPLE GRAPH FILES"
+.P0
+digraph G {
+ a -> b;
+ c [shape=box];
+ a -> c [weight=29,label="some text];
+ subgraph anything {
+ /* the following affects only x,y,z */
+ node [shape=circle];
+ a; x; y -> z; y -> z; /* multiple edges */
+ }
+}
+
+strict graph H {
+ n0 -- n1 -- n2 -- n0; /* a cycle */
+ n0 -- {a b c d}; /* a star */
+ n0 -- n3;
+ n0 -- n3 [weight=1]; /* same edge because graph is strict */
+}
+.P1
+.SH "SEE ALSO"
+Libcdt(3)
+
+.SH "BUGS"
+It is difficult to change endpoints of edges, delete string attributes or
+modify edge keys. The work-around is to create a new object and copy the
+contents of an old one (but new object obviously has a different ID,
+internal address, and object creation timestamp).
+
+The API lacks convenient functions to substitute programmer-defined ordering of
+nodes and edges but in principle this can be supported.
+.SH "AUTHOR"
+Stephen North, north@research.att.com, AT&T Research.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3
new file mode 100644
index 0000000..0d7ba91
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/graph.3
@@ -0,0 +1,270 @@
+.TH LIBGRAPH 3 "01 MARCH 1993"
+.SH NAME
+\fBlibgraph\fR \- abstract graph library
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/graph.h>
+void aginit();
+Agraph_t *agread(FILE*);
+int agwrite(Agraph_t*, FILE*);
+int agerrors();
+Agraph_t *agopen(char *name, int kind);
+void agclose(Agraph_t *g);
+Agraph_t *agsubg(Agraph_t *g, char *name);
+Agraph_t *agfindsubg(Agraph_t *g, char *name);
+Agnode_t *agmetanode(Agraph_t *g);
+Agraph_t *agusergraph(Agnode_t *metanode);
+int agnnodes(Agraph_t *g), agnedges(Agraph_t *g);
+.sp .i1
+int agcontains(Agraph_t *g, void *obj);
+int aginsert(Agraph_t *g, void *obj);
+int agdelete(Agraph_t *g, void *obj);
+.sp .1i
+Agnode_t *agnode(Agraph_t *g, char *name);
+Agnode_t *agfindnode(Agraph_t *g, char *name);
+Agnode_t *agfstnode(Agraph_t *g);
+Agnode_t *agnxtnode(Agraph_t *g, Agnode_t *n);
+Agnode_t *aglstnode(Agraph_t *g);
+Agnode_t *agprvnode(Agraph_t *g, Agnode_t *n);
+.sp .1i
+Agedge_t *agedge(Agraph_t *g, Agnode_t *tail, Agnode_t *head);
+Agedge_t *agfindedge(Agraph_t *g, Agnode_t *tail, Agnode_t *head);
+Agedge_t *agfstedge(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtedge(Agraph_t *g, Agedge_t *e, Agnode_t *n);
+Agedge_t *agfstin(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtin(Agraph_t *g, Agedge_t *e);
+Agedge_t *agfstout(Agraph_t *g, Agnode_t *n);
+Agedge_t *agnxtout(Agraph_t *g, Agedge_t *e);
+.sp .1i
+char *agget(void *obj, char *name);
+char *agxget(void *obj, int index);
+void agset(void *obj, char *name, char *value);
+void agxset(void *obj, int index, char *value);
+int agindex(void *obj, char *name);
+.sp .1i
+Agsym_t* agraphattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agnodeattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agedgeattr(Agraph_t *g,char *name,char *value);
+Agsym_t* agfindattr(void *obj,char *name);
+\fP
+.fi
+.SH DESCRIPTION
+\fIlibgraph\fP maintains directed and undirected attributed graphs
+in memory and reads and writes graph files. Graphs are composed of
+nodes, edges, and nested subgraphs. A subgraph may contain any
+nodes and edges of its parents, and may be passed to any
+\fIlibgraph\fP function taking a graph pointer, except the three
+that create new attributes (where a main graph is required).
+
+Attributes are internal or external.
+Internal attributes are fields in the graph, node and edge structs
+defined at compile time.
+These allow efficient representation and direct access to values
+such as marks, weights, and pointers for writing graph algorithms.
+External attributes, on the other hand, are character strings
+(name\(hyvalue pairs) dynamically allocated at runtime and accessed
+through \fIlibgraph\fP calls. External attributes are used in
+graph file I/O; internal attributes are not. Conversion between
+internal and external attributes must be explicitly programmed.
+
+The subgraphs in a main graph are represented by an auxiliary directed
+graph (a meta\(hygraph). Meta\(hynodes correspond to subgraphs, and meta\(hyedges
+signify containment of one subgraph in another.
+\f5agmetanode\fP and \f5agusergraph\fP map between
+subgraphs and meta\(hynodes. The nodes and edges of the meta\(hygraph may
+be traversed by the usual \fIlibgraph\fP functions for this purpose.
+
+.SH USE
+1. Define types \f5Agraphinfo_t\fP, \f5Agnodeinfo_t\fP,
+and \f5Agedgeinfo_t\fP (usually in a header file) before
+including \f5<graphviz/graph.h>\fP.
+
+2. Call \f5aginit()\fP before any other \fIlibgraph\fP functions.
+(This is a macro that calls \f5aginitlib()\fP to define the sizes
+of Agraphinfo_t, Agnodeinfo_t, and Agedgeinfo_t.)
+
+3. Compile with \-lgraph \-lcdt.
+
+Except for the \fBu\fP fields, \fIlibgraph\fP
+data structures must be considered read\(hyonly.
+Corrupting their contents by direct updates can cause
+catastrophic errors.
+
+.SH "GRAPHS"
+.nf
+\f5
+typedef struct Agraph_t {
+ char kind;
+ char *name;
+ Agraph_t *root;
+ char **attr;
+ graphdata_t *univ;
+ Dict_t *nodes,*inedges,*outedges;
+ proto_t *proto;
+ Agraphinfo_t u;
+} Agraph_t;
+
+typedef struct graphdata_t {
+ Dict_t *node_dict;
+ attrdict_t *nodeattr, *edgeattr, *globattr;
+} graphdata_t;
+
+typedef struct proto_t {
+ Agnode_t *n;
+ Agedge_t *e;
+ proto_t *prev;
+} proto_t;
+\fP
+.fi
+A graph \fIkind\fP is one of:
+AGRAPH, AGRAPHSTRICT, AGDIGRAPH, or AGDIGRAPHSTRICT.
+There are related macros for testing the properties of a graph:
+AG_IS_DIRECTED(g) and AG_IS_STRICT(g).
+Strict graphs cannot have self\(hyarcs or multi\(hyedges.
+\fBattr\fP is the array of external attribute values.
+\fBuniv\fP points to values shared by all subgraphs of a main graph.
+\fBnodes\fP, \fBinedges\fP, and \fBoutedges\fP are sets maintained
+by \fBcdt(3)\fP. Normally you don't access these dictionaries
+directly, though the edge dictionaries may be re\(hyordered to support
+programmer\(hydefined ordered edges (see \f5dtreorder\fP in \fIcdt(3)\fP).
+\fBproto\fP is a stack of templates for node and edge initialization.
+The attributes of these nodes and edges are set in the usual way (\f5agget\fP,
+\f5agset\fP, etc.) to set defaults.
+.PP
+\f5agread\fP reads a file and returns a new graph if one
+was succesfully parsed, otherwise returns NULL if
+\f5EOF\fP or a syntax error was encountered.
+Errors are reported on stderr and a count is returned from
+\g5agerrors()\fP.
+\f5write_graph\fP prints a graph on a file.
+\f5agopen\fP and \f5agsubg\fP create new empty graph and subgraphs.
+\f5agfindsubg\fP searches for a subgraph by name, returning NULL
+when the search fails.
+
+.SH ALL OBJECTS
+\f5agcontains\fP, \f5aginsert\fP, \f5agdelete\fP are generic functions
+for nodes, edges, and graphs. \f5gcontains\fP is a predicate that tests
+if an object belongs to the given graph. \f5aginsert\fP inserts an
+object in a graph and \f5agdelete\fP undoes this operation.
+A node or edge is destroyed (and its storage freed) at the time it
+is deleted from the main graph. Likewise a subgraph is destroyed
+when it is deleted from its last parent or when its last parent is deleted.
+
+.SH NODES
+.nf
+\f5
+typedef struct Agnode_t {
+ char *name;
+ Agraph_t *graph;
+ char **attr;
+ Agnodeinfo_t u;
+} Agnode_t;
+\fP
+.fi
+
+\f5agnode\fP attempts to create a node.
+If one with the requested name already exists, the old node
+is returned unmodified.
+Otherwise a new node is created, with attributed copied from g\->proto\->n.
+\f5agfstnode\fP (\f5agnxtnode\fP) return the first (next) element
+in the node set of a graph, respectively, or NULL.
+\f5aglstnode\fP (\f5agprvnode\fP) return the last (previous) element
+in the node set of a graph, respectively, or NULL.
+
+.SH EDGES
+.nf
+\f5
+typedef struct Agedge_t {
+ Agnode_t *head,*tail;
+ char **attr;
+ Agedgeinfo_t u;
+} Agedge_t;
+\fP
+.fi
+\f5agedge\fP creates a new edge with the attributes of g\->proto\->e
+including its key if not empty.
+\f5agfindedge\fP finds the first (u,v) edge in \f5g\fP.
+\f5agfstedge\fP (\f5agnxtedge\fP) return the first (next) element
+in the edge set of a graph, respectively, or NULL.
+\f5agfstin\fP, \f5agnxtin\fP, \f5agfstout\fP, \f5agnxtout\fP
+refer to in\(hy or out\(hyedge sets.
+The idiomatic usage in a directed graph is:
+.sp
+\f5 for (e = agfstout(g,n); e; e = agnextout(g,e)) your_fun(e);\fP
+.P
+An edge is uniquely identified by its endpoints and its \f5key\fP
+attribute (if there are multiple edges).
+If the \f5key\fP of \f5g\->proto\->e\fP is empty,
+new edges are assigned an internal value.
+Edges also have \f5tailport\fP and \f5headport\fP values.
+These have special syntax in the graph file language but are
+not otherwise interpreted.
+.PP
+.SH ATTRIBUTES
+.nf
+\f5
+typedef struct attrsym_t {
+ char *name,*value;
+ int index;
+ unsigned char printed;
+} attrsym_t;
+.bp
+typedef struct attrdict_t {
+ char *name;
+ Dict_t *dict;
+ attrsym_t **list;
+} attrdict_t;
+\fP
+.fi
+\f5agraphattr\fP, \f5agnodeattr\fP, and \f5agedgeattr\fP make new attributes.
+\f5g\fP should be a main graph, or \f5NULL\fP for declarations
+applying to all graphs subsequently read or created.
+\f5agfindattr\fP searches for an existing attribute.
+.PP
+External attributes are accessed by \f5agget\fP and \f5agset\fP
+These take a pointer to any graph, node, or edge, and an attribute name.
+Also, each attribute has an integer index. For efficiency this index
+may be passed instead of the name, by calling \f5agxget\fP and \f5agxset\fP.
+The \f5printed\fP flag of an attribute may be set to 0 to skip it
+when writing a graph file.
+.PP
+The \f5list\fP in an attribute dictionary is maintained in order of creation
+and is NULL terminated.
+Here is a program fragment to print node attribute names:
+.nf
+ \f5attrsym_t *aptr;
+ for (i = 0; aptr = g\->univ\->nodedict\->list[i]; i++) puts(aptr\->name);\fP
+.fi
+.SH EXAMPLE GRAPH FILES
+.nf
+graph any_name { /* an undirected graph */
+ a \-\- b; /* a simple edge */
+ a \-\- x1 \-\- x2 \-\- x3; /* a chain of edges */
+ "x3.a!" \-\- a; /* quotes protect special characters */
+ b \-\- {q r s t}; /* edges that fan out */
+ b [color="red",size=".5,.5"]; /* set various node attributes */
+ node [color=blue]; /* set default attributes */
+ b \-\- c [weight=25]; /* set edge attributes */
+ subgraph sink_nodes {a b c}; /* make a subgraph */
+}
+
+digraph G {
+ size="8.5,11"; /* sets a graph attribute */
+ a \-> b; /* makes a directed edge */
+ chip12.pin1 \-> chip28.pin3; /* uses named node "ports" */
+}
+.fi
+
+.SH SEE ALSO
+.BR dot (1),
+.BR neato (1),
+.BR libdict (3)
+.br
+S. C. North and K. P. Vo, "Dictionary and Graph Libraries''
+1993 Winter USENIX Conference Proceedings, pp. 1\(hy11.
+
+.SH AUTHOR
+Stephen North (north@ulysses.att.com), AT&T Bell Laboratories.
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3
new file mode 100644
index 0000000..f35385f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/gvc.3
@@ -0,0 +1,66 @@
+.TH LIBGVC 3
+.SH NAME
+\fBlibgvc\fR \- Graphviz context library
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/gvc.h>
+
+/* set up a graphviz context */
+extern GVC_t *gvNEWcontext(char **info, char *user);
+extern char *gvUsername(void);
+
+/* set up a graphviz context \(hy alternative */
+/* (wraps the above two functions using info built into libgvc) */
+extern GVC_t *gvContext(void);
+
+/* parse command line args \(hy minimally argv[0] sets layout engine */
+extern int gvParseArgs(GVC_t *gvc, int argc, char **argv);
+extern graph_t *gvNextInputGraph(GVC_t *gvc);
+
+/* Compute a layout using a specified engine */
+extern int gvLayout(GVC_t *gvc, graph_t *g, char *engine);
+
+/* Compute a layout using layout engine from command line args */
+extern int gvLayoutJobs(GVC_t *gvc, graph_t *g);
+
+/* Render layout into string attributes of the graph */
+extern void attach_attrs(graph_t *g);
+
+/* Parse an html string */
+extern char *agstrdup_html(char *s);
+extern int aghtmlstr(char *s);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRender(GVC_t *gvc, graph_t *g, char *format, FILE *out);
+
+/* Render layout in a specified format to an open FILE */
+extern int gvRenderFilename(GVC_t *gvc, graph_t *g, char *format, char *filename);
+
+/* Render layout according to \-T and \-o options found by gvParseArgs */
+extern int gvRenderJobs(GVC_t *gvc, graph_t *g);
+
+/* Clean up layout data structures \(hy layouts are not nestable (yet) */
+extern int gvFreeLayout(GVC_t *gvc, graph_t *g);
+
+/* Clean up graphviz context */
+extern int gvFreeContext(GVC_t *gvc);
+
+\fP
+.fi
+.SH DESCRIPTION
+\fIlibgvc\fP provides a context for applications wishing to manipulate
+and render graphs. It provides a command line parsing, common rendering code,
+and a plugin mechanism for renderers.
+
+.SH SEE ALSO
+.BR dot (1),
+.BR neato (1),
+.BR libcdt (3)
+.BR libgraph (3)
+.br
+
+.SH AUTHOR
+John Ellson (ellson@research.att.com), AT&T
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3
new file mode 100644
index 0000000..90591b8
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man3/pathplan.3
@@ -0,0 +1,97 @@
+.TH LIBPATH 3 "01 APRIL 1997"
+.SH NAME
+\fBlibpathplan\fR \- finds and smooths shortest paths
+.SH SYNOPSIS
+.ta .75i 1.5i 2.25i 3i 3.75i 4.5i 5.25i 6i
+.PP
+.nf
+\f5
+#include <graphviz/pathplan.h>
+
+typedef struct Pxy_t {
+ double x, y;
+} Pxy_t;
+
+typedef struct Pxy_t Ppoint_t;
+typedef struct Pxy_t Pvector_t;
+
+typedef struct Ppoly_t {
+ Ppoint_t *ps;
+ int pn;
+} Ppoly_t;
+
+typedef Ppoly_t Ppolyline_t;
+
+typedef struct Pedge_t {
+ Ppoint_t a, b;
+} Pedge_t;
+
+typedef struct vconfig_s vconfig_t;
+
+#define POLYID_NONE
+#define POLYID_UNKNOWN
+
+\fP
+.fi
+.SH FUNCTIONS
+
+.nf
+\f5
+int Pshortestpath(Ppoly_t *boundary, Ppoint_t endpoints[2], Ppolyline_t *output_route);
+\fP
+.fi
+Finds a shortest path between two points in a simple polygon.
+You pass endpoints interior to the polygon boundary.
+A shortest path connecting the points that remains in the polygon
+is returned in output_route. If either endpoint does not lie in
+the polygon, an error code is returned. (what code!!)
+
+.nf
+\f5
+vconfig_t *Pobsopen(Ppoly_t **obstacles, int n_obstacles);
+.br
+int Pobspath(vconfig_t *config, Ppoint_t p0, int poly0, Ppoint_t p1, int poly1, Ppolyline_t *output_route);
+.br
+void Pobsclose(vconfig_t *config);
+\fP
+.fi
+These functions find a shortest path between two points in a
+simple polygon that possibly contains polygonal obstacles (holes).
+\f5Pobsopen\fP creates a configuration (an opaque struct of type
+\f5vconfig_t\fP) on a set of obstacles. \f5Pobspath\fP finds
+a shortest path between the endpoints that remains outside the
+obstacles. If the endpoints are known to lie inside obstacles,
+\f5poly0\fP or \f5poly1\fP should be set to the index in the
+\f5obstacles\fP array. If an endpoint is definitely not inside
+an obstacle, then \f5POLYID_NONE\fP should be passed. If the
+caller has not checked, then \f5POLYID_UNKNOWN\fP should be passed,
+and the path library will perform the test.
+
+(!! there is no boundary polygon in this model?!!!)
+
+.nf
+\f5
+int Proutespline (Pedge_t *barriers, int n_barriers, Ppolyline_t input_route, Pvector_t endpoint_slopes[2],
+ Ppolyline_t *output_route);
+\fP
+.fi
+
+This function fits a Bezier curve to a polyline path.
+The curve must avoid a set of barrier segments. The polyline
+is usually the \f5output_route\fP of one of the shortest path
+finders, but it can be any simple path that doesn't cross
+any obstacles. The input also includes endpoint slopes and
+0,0 means unconstrained slope.
+
+Finally, this utility function converts an input list of polygons
+into an output list of barrier segments:
+.nf
+\f5
+int Ppolybarriers(Ppoly_t **polys, int n_polys, Pedge_t **barriers, int *n_barriers);
+\fP
+.fi
+
+.SH AUTHORS
+David Dobkin (dpd@cs.princeton.edu),
+Eleftherios Koutsofios (ek@research.att.com),
+Emden Gansner (erg@research.att.com).
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7 b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7
new file mode 100644
index 0000000..eda8315
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/man/man7/graphviz.7
@@ -0,0 +1,106 @@
+.\" -*- nroff -*-
+.\" This manual is for graphviz, a rich set of graph drawing tools, and it
+.\" can be distributed under the same terms as the graphviz package.
+.\"
+.\" Copyright (C) 2006 Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
+.\"
+.TH GRAPHVIZ 7 "November 19, 2006"
+.SH "NAME"
+graphviz \- rich set of graph drawing tools
+
+.SH "SYNOPSIS"
+This manpage has been written to fulfil the need of a centralized documentation
+presenting all available tools in the graphviz package.
+
+.SH "AVAILABLE TOOLS"
+
+.SS "Graph layout programs"
+.TP
+.B dot
+filter for hierarchical layouts of graphs
+.TP
+.B neato
+filter for symmetric layouts of graphs
+.TP
+.B twopi
+filter for radial layouts of graphs
+.TP
+.B circo
+filter for circular layout of graphs
+.TP
+.B fdp
+filter for symmetric layouts of graphs
+.PP
+All of the filters work with either directed or undirected graphs, though
+.B dot
+is typically used for directed graphs and
+.B neato
+for undirected graphs.
+Note also that \fBneato \-n[2]\fP can be used to render layouts produced
+by the other filters.
+.SS "Graph drawing programs"
+.TP
+.B lefty
+A Programmable Graphics Editor
+.TP
+.B lneato
+lefty + neato
+.TP
+.B dotty
+lefty + dot
+
+
+.SS "Graph layout enhancement"
+.TP
+.B gvcolor
+flow colors through a ranked digraph
+.TP
+.B unflatten
+adjust directed graphs to improve layout aspect ratio
+.TP
+.B gvpack
+merge and pack disjoint graphs
+
+.SS "Graph information and transformation"
+.TP
+.B gc
+count graph components
+.TP
+.B acyclic
+make directed graph acyclic
+.TP
+.B nop
+pretty-print graph file
+.TP
+.B ccomps
+connected components filter for graphs
+.TP
+.B sccmap
+extract strongly connected components of directed graphs
+.TP
+.B tred
+transitive reduction filter for directed graphs
+.TP
+.B dijkstra
+single-source distance filter
+.TP
+.B bcomps
+biconnected components filter for graphs
+.TP
+.B gvpr
+graph pattern scanning and processing language
+.TP
+.B prune
+prune directed graphs
+
+.SS "Other"
+.TP
+.B "gxl2dot, dot2gxl"
+GXL-DOT converters
+
+.SH "AUTHOR"
+This manual page was written by Cyril Brulebois
+<cyril.brulebois@enst\-bretagne.fr> in november 2006, based on an initial
+documentation effort by Joachim Berdal Haga <jbh@lupus.ig3.net>. It can be
+distributed under the same terms as the graphviz package.
+
diff --git a/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/setuplogo.bmp b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/setuplogo.bmp
new file mode 100644
index 0000000..f9f7dc1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/graphviz/share/setuplogo.bmp
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/htmllexer.jar b/Master/Agile Software Development/TestApp/dist/lib/htmllexer.jar
new file mode 100644
index 0000000..39df3ba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/htmllexer.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/htmlparser.jar b/Master/Agile Software Development/TestApp/dist/lib/htmlparser.jar
new file mode 100644
index 0000000..2981ca5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/htmlparser.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/looks-2.2.1.jar b/Master/Agile Software Development/TestApp/dist/lib/looks-2.2.1.jar
new file mode 100644
index 0000000..199b267
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/looks-2.2.1.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/lib/thumbelina.jar b/Master/Agile Software Development/TestApp/dist/lib/thumbelina.jar
new file mode 100644
index 0000000..5e6eeba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/lib/thumbelina.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/dist/resource/test.dot b/Master/Agile Software Development/TestApp/dist/resource/test.dot
new file mode 100644
index 0000000..21a96b2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/dist/resource/test.dot
@@ -0,0 +1,10 @@
+digraph G {
+ main -> parse -> execute;
+ main -> init;
+ main -> cleanup;
+ execute -> make_string;
+ execute -> printf
+ init -> make_string;
+ main -> printf;
+ execute -> compare;
+} \ No newline at end of file
diff --git a/Master/Agile Software Development/TestApp/libs/filterbuilder.jar b/Master/Agile Software Development/TestApp/libs/filterbuilder.jar
new file mode 100644
index 0000000..b923d60
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/filterbuilder.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/forms-1.2.1.jar b/Master/Agile Software Development/TestApp/libs/forms-1.2.1.jar
new file mode 100644
index 0000000..51c1f60
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/forms-1.2.1.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/htmllexer.jar b/Master/Agile Software Development/TestApp/libs/htmllexer.jar
new file mode 100644
index 0000000..39df3ba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/htmllexer.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/htmlparser.jar b/Master/Agile Software Development/TestApp/libs/htmlparser.jar
new file mode 100644
index 0000000..2981ca5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/htmlparser.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/junit-4.8.2.jar b/Master/Agile Software Development/TestApp/libs/junit-4.8.2.jar
new file mode 100644
index 0000000..5b4bb84
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/junit-4.8.2.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/junit.jar b/Master/Agile Software Development/TestApp/libs/junit.jar
new file mode 100644
index 0000000..674d71e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/junit.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/log4j-1.2.15.jar b/Master/Agile Software Development/TestApp/libs/log4j-1.2.15.jar
new file mode 100644
index 0000000..c930a6a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/log4j-1.2.15.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/log4j.properties b/Master/Agile Software Development/TestApp/libs/log4j.properties
new file mode 100644
index 0000000..16af0f5
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/log4j.properties
@@ -0,0 +1,6 @@
+log4j.rootCategory=DEBUG, A1
+
+# A1 is set to be a LF5Appender which outputs to a swing
+# logging console.
+log4j.appender.A1=org.apache.log4j.lf5.LF5Appender
+log4j.appender.A1.MaxNumberOfRecords=1000
diff --git a/Master/Agile Software Development/TestApp/libs/looks-2.2.1.jar b/Master/Agile Software Development/TestApp/libs/looks-2.2.1.jar
new file mode 100644
index 0000000..199b267
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/looks-2.2.1.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/sax2.jar b/Master/Agile Software Development/TestApp/libs/sax2.jar
new file mode 100644
index 0000000..9074463
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/sax2.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/libs/thumbelina.jar b/Master/Agile Software Development/TestApp/libs/thumbelina.jar
new file mode 100644
index 0000000..5e6eeba
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/libs/thumbelina.jar
Binary files differ
diff --git a/Master/Agile Software Development/TestApp/manifest.mf b/Master/Agile Software Development/TestApp/manifest.mf
new file mode 100644
index 0000000..1574df4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/manifest.mf
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
diff --git a/Master/Agile Software Development/TestApp/nbproject/build-impl.xml b/Master/Agile Software Development/TestApp/nbproject/build-impl.xml
new file mode 100644
index 0000000..7c203b1
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/nbproject/build-impl.xml
@@ -0,0 +1,629 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT ***
+*** EDIT ../build.xml INSTEAD ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+ - initialization
+ - compilation
+ - jar
+ - execution
+ - debugging
+ - javadoc
+ - junit compilation
+ - junit execution
+ - junit debugging
+ - applet
+ - cleanup
+
+ -->
+<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="TestApp-impl">
+ <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
+ <!--
+ ======================
+ INITIALIZATION SECTION
+ ======================
+ -->
+ <target name="-pre-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init" name="-init-private">
+ <property file="nbproject/private/config.properties"/>
+ <property file="nbproject/private/configs/${config}.properties"/>
+ <property file="nbproject/private/private.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private" name="-init-user">
+ <property file="${user.properties.file}"/>
+ <!-- The two properties below are usually overridden -->
+ <!-- by the active platform. Just a fallback. -->
+ <property name="default.javac.source" value="1.4"/>
+ <property name="default.javac.target" value="1.4"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+ <property file="nbproject/configs/${config}.properties"/>
+ <property file="nbproject/project.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+ <available file="${manifest.file}" property="manifest.available"/>
+ <condition property="manifest.available+main.class">
+ <and>
+ <isset property="manifest.available"/>
+ <isset property="main.class"/>
+ <not>
+ <equals arg1="${main.class}" arg2="" trim="true"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="manifest.available+main.class+mkdist.available">
+ <and>
+ <istrue value="${manifest.available+main.class}"/>
+ <isset property="libs.CopyLibs.classpath"/>
+ </and>
+ </condition>
+ <condition property="have.tests">
+ <or>
+ <available file="${test.src.dir}"/>
+ </or>
+ </condition>
+ <condition property="have.sources">
+ <or>
+ <available file="${src.dir}"/>
+ </or>
+ </condition>
+ <condition property="netbeans.home+have.tests">
+ <and>
+ <isset property="netbeans.home"/>
+ <isset property="have.tests"/>
+ </and>
+ </condition>
+ <condition property="no.javadoc.preview">
+ <and>
+ <isset property="javadoc.preview"/>
+ <isfalse value="${javadoc.preview}"/>
+ </and>
+ </condition>
+ <property name="run.jvmargs" value=""/>
+ <property name="javac.compilerargs" value=""/>
+ <property name="work.dir" value="${basedir}"/>
+ <condition property="no.deps">
+ <and>
+ <istrue value="${no.dependencies}"/>
+ </and>
+ </condition>
+ <property name="javac.debug" value="true"/>
+ <property name="javadoc.preview" value="true"/>
+ <property name="application.args" value=""/>
+ <property name="source.encoding" value="${file.encoding}"/>
+ <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+ <and>
+ <isset property="javadoc.encoding"/>
+ <not>
+ <equals arg1="${javadoc.encoding}" arg2=""/>
+ </not>
+ </and>
+ </condition>
+ <property name="javadoc.encoding.used" value="${source.encoding}"/>
+ <property name="includes" value="**"/>
+ <property name="excludes" value=""/>
+ <property name="do.depend" value="false"/>
+ <condition property="do.depend.true">
+ <istrue value="${do.depend}"/>
+ </condition>
+ <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'">
+ <and>
+ <isset property="jaxws.endorsed.dir"/>
+ <available file="nbproject/jaxws-build.xml"/>
+ </and>
+ </condition>
+ </target>
+ <target name="-post-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+ <fail unless="src.dir">Must set src.dir</fail>
+ <fail unless="test.src.dir">Must set test.src.dir</fail>
+ <fail unless="build.dir">Must set build.dir</fail>
+ <fail unless="dist.dir">Must set dist.dir</fail>
+ <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+ <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+ <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+ <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+ <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+ <fail unless="dist.jar">Must set dist.jar</fail>
+ </target>
+ <target name="-init-macrodef-property">
+ <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="name"/>
+ <attribute name="value"/>
+ <sequential>
+ <property name="@{name}" value="${@{value}}"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-javac">
+ <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}" name="classpath"/>
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="${javac.debug}" name="debug"/>
+ <attribute default="" name="sourcepath"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/>
+ <customize/>
+ </javac>
+ </sequential>
+ </macrodef>
+ <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}" name="classpath"/>
+ <sequential>
+ <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </depend>
+ </sequential>
+ </macrodef>
+ <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <sequential>
+ <fail unless="javac.includes">Must set javac.includes</fail>
+ <pathconvert pathsep="," property="javac.includes.binary">
+ <path>
+ <filelist dir="@{destdir}" files="${javac.includes}"/>
+ </path>
+ <globmapper from="*.java" to="*.class"/>
+ </pathconvert>
+ <delete>
+ <files includes="${javac.includes.binary}"/>
+ </delete>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-junit">
+ <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <sequential>
+ <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true">
+ <batchtest todir="${build.test.results.dir}">
+ <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+ <filename name="@{testincludes}"/>
+ </fileset>
+ </batchtest>
+ <classpath>
+ <path path="${run.test.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg line="${run.jvmargs}"/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-nbjpda">
+ <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${main.class}" name="name"/>
+ <attribute default="${debug.classpath}" name="classpath"/>
+ <attribute default="" name="stopclassname"/>
+ <sequential>
+ <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="dt_socket">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </nbjpdastart>
+ </sequential>
+ </macrodef>
+ <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${build.classes.dir}" name="dir"/>
+ <sequential>
+ <nbjpdareload>
+ <fileset dir="@{dir}" includes="${fix.classes}">
+ <include name="${fix.includes}*.class"/>
+ </fileset>
+ </nbjpdareload>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-debug-args">
+ <property name="version-output" value="java version &quot;${ant.java.version}"/>
+ <condition property="have-jdk-older-than-1.4">
+ <or>
+ <contains string="${version-output}" substring="java version &quot;1.0"/>
+ <contains string="${version-output}" substring="java version &quot;1.1"/>
+ <contains string="${version-output}" substring="java version &quot;1.2"/>
+ <contains string="${version-output}" substring="java version &quot;1.3"/>
+ </or>
+ </condition>
+ <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+ <istrue value="${have-jdk-older-than-1.4}"/>
+ </condition>
+ </target>
+ <target depends="-init-debug-args" name="-init-macrodef-debug">
+ <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${main.class}" name="classname"/>
+ <attribute default="${debug.classpath}" name="classpath"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${debug-args-line}"/>
+ <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-java">
+ <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${main.class}" name="classname"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="${run.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-presetdef-jar">
+ <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <jar compress="${jar.compress}" jarfile="${dist.jar}">
+ <j2seproject1:fileset dir="${build.classes.dir}"/>
+ </jar>
+ </presetdef>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/>
+ <!--
+ ===================
+ COMPILATION SECTION
+ ===================
+ -->
+ <target depends="init" name="deps-jar" unless="no.deps"/>
+ <target depends="init,deps-jar" name="-pre-pre-compile">
+ <mkdir dir="${build.classes.dir}"/>
+ </target>
+ <target name="-pre-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target if="do.depend.true" name="-compile-depend">
+ <j2seproject3:depend/>
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
+ <j2seproject3:javac/>
+ <copy todir="${build.classes.dir}">
+ <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+ <target name="-pre-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <j2seproject3:force-recompile/>
+ <j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>
+ </target>
+ <target name="-post-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+ <!--
+ ====================
+ JAR BUILDING SECTION
+ ====================
+ -->
+ <target depends="init" name="-pre-pre-jar">
+ <dirname file="${dist.jar}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ </target>
+ <target name="-pre-jar">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available">
+ <j2seproject1:jar/>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">
+ <j2seproject1:jar manifest="${manifest.file}"/>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
+ <j2seproject1:jar manifest="${manifest.file}">
+ <j2seproject1:manifest>
+ <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+ </j2seproject1:manifest>
+ </j2seproject1:jar>
+ <echo>To run this application from the command line without Ant, try:</echo>
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <property location="${dist.jar}" name="dist.jar.resolved"/>
+ <pathconvert property="run.classpath.with.dist.jar">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+ </pathconvert>
+ <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Main-Class" value="${main.class}"/>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ <echo>To run this application from the command line without Ant, try:</echo>
+ <property location="${dist.jar}" name="dist.jar.resolved"/>
+ <echo>java -jar "${dist.jar.resolved}"</echo>
+ </target>
+ <target name="-post-jar">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
+ <!--
+ =================
+ EXECUTION SECTION
+ =================
+ -->
+ <target depends="init,compile" description="Run a main class." name="run">
+ <j2seproject1:java>
+ <customize>
+ <arg line="${application.args}"/>
+ </customize>
+ </j2seproject1:java>
+ </target>
+ <target name="-do-not-recompile">
+ <property name="javac.includes.binary" value=""/>
+ </target>
+ <target depends="init,-do-not-recompile,compile-single" name="run-single">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <j2seproject1:java classname="${run.class}"/>
+ </target>
+ <!--
+ =================
+ DEBUGGING SECTION
+ =================
+ -->
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+ <j2seproject1:nbjpdastart name="${debug.class}"/>
+ </target>
+ <target depends="init,compile" name="-debug-start-debuggee">
+ <j2seproject3:debug>
+ <customize>
+ <arg line="${application.args}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
+ <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
+ </target>
+ <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
+ <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <j2seproject3:debug classname="${debug.class}"/>
+ </target>
+ <target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+ <target depends="init" name="-pre-debug-fix">
+ <fail unless="fix.includes">Must set fix.includes</fail>
+ <property name="javac.includes" value="${fix.includes}.java"/>
+ </target>
+ <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+ <j2seproject1:nbjpdareload/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+ <!--
+ ===============
+ JAVADOC SECTION
+ ===============
+ -->
+ <target depends="init" name="-javadoc-build">
+ <mkdir dir="${dist.javadoc.dir}"/>
+ <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+ <classpath>
+ <path path="${javac.classpath}"/>
+ </classpath>
+ <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+ <filename name="**/*.java"/>
+ </fileset>
+ </javadoc>
+ </target>
+ <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
+ <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+ </target>
+ <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
+ <!--
+ =========================
+ JUNIT COMPILATION SECTION
+ =========================
+ -->
+ <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+ <mkdir dir="${build.test.classes.dir}"/>
+ </target>
+ <target name="-pre-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target if="do.depend.true" name="-compile-test-depend">
+ <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+ <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+ <copy todir="${build.test.classes.dir}">
+ <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+ <target name="-pre-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
+ <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
+ <copy todir="${build.test.classes.dir}">
+ <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+ <!--
+ =======================
+ JUNIT EXECUTION SECTION
+ =======================
+ -->
+ <target depends="init" if="have.tests" name="-pre-test-run">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+ <j2seproject3:junit testincludes="**/*Test.java"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+ <fail if="tests.failed">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init" if="have.tests" name="test-report"/>
+ <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+ <target depends="init" if="have.tests" name="-pre-test-run-single">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+ <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+ <j2seproject3:junit excludes="" includes="${test.includes}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+ <fail if="tests.failed">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+ <!--
+ =======================
+ JUNIT DEBUGGING SECTION
+ =======================
+ -->
+ <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+ <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+ <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
+ <delete file="${test.report.file}"/>
+ <mkdir dir="${build.test.results.dir}"/>
+ <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
+ <customize>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <arg value="${test.class}"/>
+ <arg value="showoutput=true"/>
+ <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
+ <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+ <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+ </target>
+ <target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+ <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+ <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+ <!--
+ =========================
+ APPLET EXECUTION SECTION
+ =========================
+ -->
+ <target depends="init,compile-single" name="run-applet">
+ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+ <j2seproject1:java classname="sun.applet.AppletViewer">
+ <customize>
+ <arg value="${applet.url}"/>
+ </customize>
+ </j2seproject1:java>
+ </target>
+ <!--
+ =========================
+ APPLET DEBUGGING SECTION
+ =========================
+ -->
+ <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
+ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+ <j2seproject3:debug classname="sun.applet.AppletViewer">
+ <customize>
+ <arg value="${applet.url}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
+ <!--
+ ===============
+ CLEANUP SECTION
+ ===============
+ -->
+ <target depends="init" name="deps-clean" unless="no.deps"/>
+ <target depends="init" name="-do-clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
+ </target>
+ <target name="-post-clean">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
+</project>
diff --git a/Master/Agile Software Development/TestApp/nbproject/genfiles.properties b/Master/Agile Software Development/TestApp/nbproject/genfiles.properties
new file mode 100644
index 0000000..ac27164
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=11e382ad
+build.xml.script.CRC32=adb5af4e
+build.xml.stylesheet.CRC32=be360661
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=11e382ad
+nbproject/build-impl.xml.script.CRC32=13bd23c8
+nbproject/build-impl.xml.stylesheet.CRC32=487672f9
diff --git a/Master/Agile Software Development/TestApp/nbproject/project.properties b/Master/Agile Software Development/TestApp/nbproject/project.properties
new file mode 100644
index 0000000..1b2c00d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/nbproject/project.properties
@@ -0,0 +1,85 @@
+application.title=TestApp
+application.vendor=sven
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+debug.classpath=\
+ ${run.classpath}
+debug.test.classpath=\
+ ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/TestApp.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+excludes=
+file.reference.filterbuilder.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\filterbuilder.jar
+file.reference.forms-1.2.1.jar=D:\\TestApp\\libs\\forms-1.2.1.jar
+file.reference.forms-1.2.1.jar-1=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\forms-1.2.1.jar
+file.reference.htmllexer.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\htmllexer.jar
+file.reference.htmlparser.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\htmlparser.jar
+#file.reference.junit.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\junit.jar
+file.reference.log4j-1.2.15.jar=D:\\Studium\\Master\\Agile_Softwaredevelopment\\ws0809\\TestApp\\libs\\log4j-1.2.15.jar
+file.reference.looks-2.2.1.jar=D:\\TestApp\\libs\\looks-2.2.1.jar
+file.reference.looks-2.2.1.jar-1=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\looks-2.2.1.jar
+file.reference.sax2.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\sax2.jar
+file.reference.thumbelina.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\thumbelina.jar
+file.reference.junit.jar=d:\\Studium\\Master\\Agile Software Development\\TestApp\\libs\\junit-4.8.2.jar
+includes=**
+jar.compress=false
+javac.classpath=\
+ ${libs.JGoodies.classpath}:\
+ ${libs.HTMLParser.classpath}:\
+ ${file.reference.forms-1.2.1.jar}:\
+ ${file.reference.looks-2.2.1.jar}:\
+ ${file.reference.filterbuilder.jar}:\
+ ${file.reference.forms-1.2.1.jar-1}:\
+ ${file.reference.htmllexer.jar}:\
+ ${file.reference.htmlparser.jar}:\
+ ${file.reference.junit.jar}:\
+ ${file.reference.looks-2.2.1.jar-1}:\
+ ${file.reference.sax2.jar}:\
+ ${file.reference.thumbelina.jar}:\
+ ${file.reference.log4j-1.2.15.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.source=1.5
+javac.target=1.5
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}:\
+ ${libs.junit_4.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+main.class=testapp.App
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+platform.active=default_platform
+run.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
+# or test-sys-prop.name=value to set system properties for unit tests):
+run.jvmargs=
+run.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
diff --git a/Master/Agile Software Development/TestApp/nbproject/project.xml b/Master/Agile Software Development/TestApp/nbproject/project.xml
new file mode 100644
index 0000000..1dcea36
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/nbproject/project.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.java.j2seproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
+ <name>TestApp</name>
+ <minimum-ant-version>1.6.5</minimum-ant-version>
+ <source-roots>
+ <root id="src.dir"/>
+ </source-roots>
+ <test-roots>
+ <root id="test.src.dir"/>
+ </test-roots>
+ </data>
+ </configuration>
+</project>
diff --git a/Master/Agile Software Development/TestApp/src/Parser/CssParser.java b/Master/Agile Software Development/TestApp/src/Parser/CssParser.java
new file mode 100644
index 0000000..9b11a1e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/Parser/CssParser.java
@@ -0,0 +1,41 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package Parser;
+
+import testapp.data.ExternalCssItem;
+import testapp.data.Item;
+import java.util.logging.*;
+
+/**
+ *
+ * @author robb
+ */
+public class CssParser {
+ private Item rootNode;
+ private String srcUrl;
+
+ public CssParser(Item rootNode) {
+ this.rootNode=rootNode;
+ }
+
+ public ExternalCssItem parse(String url) {
+ // Todo: http client to recieve url and put contents into code
+ String code=new String();
+ return parseCode(code);
+ }
+
+ public ExternalCssItem parseCode(String code) {
+ ExternalCssItem externalCssItem=new ExternalCssItem(srcUrl,rootNode);
+ rootNode.add(externalCssItem);
+
+ // check for @import and mark Suspicious
+ if(code.contains("@import")) {
+ externalCssItem.setSuspiciousCode();
+ }
+
+ return externalCssItem;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java
new file mode 100644
index 0000000..96ad2b2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/Parser/HtmlParser.java
@@ -0,0 +1,56 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package Parser;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.htmlparser.util.NodeList;
+import org.htmlparser.util.ParserException;
+import testapp.data.Item;
+import testapp.data.PageItem;
+import java.util.logging.*;
+
+/**
+ *
+ * @author
+ */
+public class HtmlParser //extends NodeVisitor {
+{
+
+ public HtmlParser() {
+ }
+
+ public Item parse(String url) {
+ try {
+ PageItem rootNode = new PageItem(url,null);
+
+ org.htmlparser.Parser parser = new org.htmlparser.Parser(rootNode.getUrl());
+ NodeList nodeList = parser.parse(null);
+
+ nodeList.visitAllNodesWith(new Visitor(rootNode));
+
+ return rootNode;
+
+ } catch (ParserException ex) {
+ Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex);
+ return null;
+ }
+ }
+
+ public Item parse(Item rootItem) {
+ try {
+ org.htmlparser.Parser parser = new org.htmlparser.Parser(rootItem.getUrl());
+ NodeList nodeList = parser.parse(null);
+
+ nodeList.visitAllNodesWith(new Visitor(rootItem));
+
+ return rootItem;
+
+ } catch (ParserException ex) {
+ Logger.getLogger(HtmlParser.class.getName()).log(Level.SEVERE, null, ex);
+ return null;
+ }
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/Parser/JavascriptParser.java b/Master/Agile Software Development/TestApp/src/Parser/JavascriptParser.java
new file mode 100644
index 0000000..4cfe0ec
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/Parser/JavascriptParser.java
@@ -0,0 +1,44 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package Parser;
+
+import testapp.data.ExternalJavascriptItem;
+import testapp.data.Item;
+import java.util.logging.*;
+
+public class JavascriptParser {
+ private Item rootNode;
+
+ private static final Logger logger = Logger.getLogger(JavascriptParser.class.getName());
+
+
+ public JavascriptParser(Item rootNode) {
+ this.rootNode=rootNode;
+ }
+
+ public ExternalJavascriptItem parse(String url) {
+ // Todo: http client to recieve url and put contents into code
+ String code=new String();
+ return parseCode(code, url);
+ }
+
+ public ExternalJavascriptItem parseCode(String code, String url) {
+ // the only evil js code should be
+ //document.write('<script type="text/javascript" src="'+ jsFile + '"></scr' + 'ipt>');
+ // => nearly impossible to parse, so we search only for "src" string
+ // if found, code is marked suspicious
+ // could be tricked by spliting the string!
+ //
+
+ ExternalJavascriptItem externalJavascriptItem=new ExternalJavascriptItem(url,rootNode);
+ rootNode.add(externalJavascriptItem);
+ if(code.contains("src")) {
+ externalJavascriptItem.setSuspiciousCode();
+ }
+
+ return externalJavascriptItem;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/Parser/UrlAnalyzer.java b/Master/Agile Software Development/TestApp/src/Parser/UrlAnalyzer.java
new file mode 100644
index 0000000..c543849
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/Parser/UrlAnalyzer.java
@@ -0,0 +1,161 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package Parser;
+
+import java.util.HashMap;
+import javax.swing.JOptionPane;
+
+/**
+ *
+ * @author sven
+ */
+public class UrlAnalyzer {
+ public static final String PROTOCOL_HTTP = "http";
+ public static final String PROTOCOL_HTTPS = "https";
+ public static final String PROTOCOL_FTP = "ftp";
+ public static final String PROTOCOL_FILE = "file";
+ public static final String NO_PROTOCOL = "NO_PROTOCOL";
+ public static final String NO_HOST = "NO_HOST";
+ public static final String NO_VALID_PATH = "NO_VALID_PATH";
+ public static final String NO_VALID_FILE = "NO_VALID_FILE";
+ public static final String PROTOCOL_SEPARATOR = "://";
+ public static final String PATH_SEPARATOR = "/";
+ public static final String PARAMS_INDICATOR = "?";
+ public static final String ANCHOR = "#";
+ public static final String PARAMS_SEPARATOR = "&";
+ public static final String PARAMS_ASSIGN = "=";
+ public static final String[] VALID_PROTOCOLS =
+ {PROTOCOL_HTTP,PROTOCOL_HTTPS,PROTOCOL_FTP,PROTOCOL_FILE};
+ public static final String NO_ANCHOR = "NO_ANCHOR";
+
+ public static HashMap<String, String> getParams(String url) {
+ HashMap<String,String> result = new HashMap<String,String>();
+
+ if(url!=null) {
+ String paramStr = url.substring(url.indexOf(PARAMS_INDICATOR)+1);
+ String[] params = paramStr.split(PARAMS_SEPARATOR);
+ for(String param : params) {
+ String[] paramKeyValue = param.split(PARAMS_ASSIGN);
+ if (paramKeyValue.length > 1) {
+ result.put(paramKeyValue[0], paramKeyValue[1]);
+ } else {
+ result.put(paramKeyValue[0],null);
+ }
+ }
+ }
+ return result;
+ }
+
+ public static final String getProtocol(final String url) {
+ if(url==null)
+ return NO_PROTOCOL;
+
+ for (String proto : VALID_PROTOCOLS) {
+ if (url.startsWith(proto)) {
+ return proto;
+ }
+ }
+ return new String(NO_PROTOCOL);
+ }
+ public static final String getHostname(final String url) {
+ if(url==null)
+ return NO_HOST;
+
+ if (!url.contains(PROTOCOL_SEPARATOR)) {
+ return NO_HOST;
+ }
+ int hostStart = url.indexOf(PROTOCOL_SEPARATOR)+PROTOCOL_SEPARATOR.length();
+ int hostEnd = url.indexOf(PATH_SEPARATOR, hostStart);
+ if ( hostEnd <= 1 ) {
+ return NO_HOST;
+ }
+ return url.substring(hostStart, hostEnd);
+ }
+ public static final String getFilename(final String url) {
+ if(url==null)
+ return "";
+
+ String rest = url;
+ if (url.contains(PROTOCOL_SEPARATOR)) {
+ int protoEnd = url.indexOf(PROTOCOL_SEPARATOR)+PROTOCOL_SEPARATOR.length();
+ rest = url.substring(protoEnd);
+ if ( (rest.indexOf(PATH_SEPARATOR)) == -1) {
+ return NO_VALID_FILE;
+ }
+ rest = url.substring(protoEnd);
+ }
+ int fileStart = rest.lastIndexOf(PATH_SEPARATOR);
+ String res = (fileStart != -1) ? rest.substring(fileStart+1) : rest;
+ if (hasParams(res)) {
+ res = res.substring(0, res.indexOf(PARAMS_INDICATOR));
+ }
+ if (hasAnchor(res)) {
+ res = res.substring(0, res.indexOf(ANCHOR));
+ }
+ return res;
+ }
+ public static final String getPath(String url) {
+ if(url==null)
+ return NO_VALID_PATH;
+
+ int pathStart = 0;
+ int pathEnd = url.lastIndexOf(PATH_SEPARATOR);
+
+ if (pathEnd < 1) {
+ // item at root level
+ // e. g. foobar.html oder cool.gifv
+ return PATH_SEPARATOR;
+ }
+ if (url.contains(PROTOCOL_SEPARATOR)) {
+ // we have a full url
+ // e.g. http://foo.bar.com/dir/subdir/index.html
+ pathStart = url.indexOf(PATH_SEPARATOR,url.indexOf(PROTOCOL_SEPARATOR)+PROTOCOL_SEPARATOR.length());
+ if (pathStart < 0) {
+ return NO_VALID_PATH;
+ }
+ } else {
+ // we have a relative path on site
+ // e. g.: img/coolimg.jpg
+ // or res/img/anotherimg.gif
+ pathStart = 0;
+ pathEnd = url.lastIndexOf(PATH_SEPARATOR);
+ }
+ return url.substring(pathStart,pathEnd)+PATH_SEPARATOR;
+ }
+ public static final String getAnchor(String url) {
+ if(url==null)
+ return NO_ANCHOR;
+
+ return (hasAnchor(url)) ? url.substring(url.indexOf(ANCHOR)+1) : null;
+ }
+ public static final boolean hasParams(String url) {
+ if(url==null)
+ return false;
+
+ return url.contains(PARAMS_INDICATOR);
+ }
+ public static final boolean hasAnchor(String url) {
+ if(url==null)
+ return false;
+
+ return url.contains(ANCHOR);
+ }
+ public static final String stripProtocol(String url) {
+ return url.substring(url.indexOf(PROTOCOL_SEPARATOR)+PROTOCOL_SEPARATOR.length());
+ }
+
+ public static final boolean validateURL(String url)
+ {
+ if( url.contains(PROTOCOL_HTTP) || url.contains(PROTOCOL_HTTPS) || url.contains(PROTOCOL_FTP) || url.contains(PROTOCOL_FILE) )
+ if(url.contains(PROTOCOL_SEPARATOR))
+ if(url.contains("."))
+ return true;
+
+ JOptionPane.showMessageDialog(null, "Falsche Url. Bitte geben Sie eine korrekte Url ein!");
+
+ return false;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/Parser/Visitor.java b/Master/Agile Software Development/TestApp/src/Parser/Visitor.java
new file mode 100644
index 0000000..e5d953c
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/Parser/Visitor.java
@@ -0,0 +1,96 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package Parser;
+
+import org.htmlparser.Tag;
+import org.htmlparser.visitors.NodeVisitor;
+import testapp.data.FrameItem;
+import testapp.data.IframeItem;
+import testapp.data.ImageItem;
+import testapp.data.Item;
+import testapp.data.LinkItem;
+import testapp.data.ScriptItem;
+import testapp.data.StyleItem;
+import java.util.logging.*;
+
+/**
+ *
+ * @author alex
+ */
+class Visitor extends NodeVisitor {
+
+ private Item currentItem;
+
+ public Visitor(Item initialItem) {
+ currentItem = initialItem;
+ }
+
+ /// This methode will be called for every Tag found in the document
+ @Override
+ public void visitTag(Tag currentTag) {
+
+ String tagName = currentTag.getTagName();
+
+
+ /// Search for a link and create a link item
+ String hrefAttribute = currentTag.getAttribute("HREF");
+ if (hrefAttribute != null && hrefAttribute.length() > 0) {
+ if (tagName.equals("A")) {
+ LinkItem li = new LinkItem(hrefAttribute,currentItem);
+ currentItem.add(li);
+ }
+ }
+
+ /// Search for a source and create a specific item depending on the source type
+ String srcAttribute = currentTag.getAttribute("SRC");
+ if (srcAttribute != null && srcAttribute.length() > 0) {
+ if (tagName.equals("IFRAME")) {
+ IframeItem iframeItem;
+ iframeItem = new IframeItem(srcAttribute,currentItem);
+
+ //currentItem.add(iframeItem);
+ startNewHtmlParser(iframeItem);
+ } else if (tagName.equals("IMG")) {
+ ImageItem ii = new ImageItem(srcAttribute,currentItem);
+ currentItem.add(ii);
+ } else if (tagName.equals("FRAME")) {
+ FrameItem frameItem;
+ frameItem = new FrameItem(srcAttribute,currentItem);
+ currentItem.add(frameItem);
+ startNewHtmlParser(frameItem);
+ } else if (tagName.equals("SCRIPT")) {
+ JavascriptParser javascriptParser = new JavascriptParser(currentItem);
+ currentItem.add(javascriptParser.parse(srcAttribute));
+ } else if (tagName.equals("STYLE")) {
+ CssParser cssParser = new CssParser(currentItem);
+ currentItem.add(cssParser.parse(srcAttribute));
+ }
+ } else {
+ if (tagName.equals("STYLE")) {
+ StyleItem styleItem = new StyleItem("",currentItem);
+ currentItem.add(styleItem);
+ CssParser cssParser = new CssParser(styleItem);
+ cssParser.parseCode(currentTag.getText());
+ }
+
+ if (tagName.equals("SCRIPT")) {
+ ScriptItem scriptItem = new ScriptItem("",currentItem);
+ currentItem.add(scriptItem);
+ JavascriptParser javascriptParser = new JavascriptParser(scriptItem);
+ javascriptParser.parseCode(currentTag.getText(), this.currentItem.getUrl());
+ }
+ }
+
+
+ }
+
+ /// Start a new html parser for nested html pages
+ private void startNewHtmlParser(Item currentItem) {
+ ///restict the search dept of the html page to 10s external pages
+ HtmlParser htmlParser = new HtmlParser();
+ currentItem.urlToValidUrl(false);
+ htmlParser.parse(currentItem);
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/App.java b/Master/Agile Software Development/TestApp/src/testapp/App.java
new file mode 100644
index 0000000..d0e1a55
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/App.java
@@ -0,0 +1,60 @@
+/*
+ * Main
+ */
+
+package testapp;
+
+import java.io.IOException;
+import javax.swing.JFrame;
+import javax.swing.UIManager;
+import java.util.logging.*;
+
+/**
+ *
+ * @author eisenhauer
+ */
+public class App {
+
+ private static App theInstance = null;
+ private JFrame mainFrame = null;
+ private String appPath = "";
+ private App() {
+ try {
+ this.appPath = Locate.getClassLocation(this.getClass()).getParent();
+ // to run from Netbeans
+ if (appPath.contains("build")) {
+ appPath = appPath.replace("build", "dist");
+ }
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ }
+
+ public static App getInstance() {
+ if (theInstance == null) {
+ theInstance = new App();
+ }
+ return theInstance;
+ }
+ private void startApplication() {
+ // Setup Look and Feel
+ try {
+ //UIManager.setLookAndFeel(new com.jgoodies.looks.windows.WindowsLookAndFeel());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ mainFrame = new AppFrame("Webspinne");
+ mainFrame.pack();
+ mainFrame.setVisible(true);
+ }
+ public String getAppPath() {
+ return appPath;
+ }
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) {
+ App.getInstance().startApplication();
+ }
+
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/AppFrame.java b/Master/Agile Software Development/TestApp/src/testapp/AppFrame.java
new file mode 100644
index 0000000..ab025c4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/AppFrame.java
@@ -0,0 +1,172 @@
+/*
+ * GUI
+ */
+package testapp;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.io.File;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextField;
+import java.util.logging.*;
+import javax.swing.JProgressBar;
+
+/**
+ *
+ * @author eisenhauer
+ */
+public class AppFrame extends JFrame {
+
+ private static final Logger logger = Logger.getLogger(AppFrame.class.getName());
+
+ private JPanel taskPanel;
+ private JTextField urlTxf;
+ private JButton loadBtn;
+ private ImageComponent imgComp;
+ private JScrollPane imgScroll;
+ private static AppFrame theInstance = null;
+ private JPanel progressPanel;
+
+ public AppFrame(String title) {
+ super(title);
+ theInstance = this;
+ initUI();
+
+
+ }
+
+ public static AppFrame getInstance() {
+ return theInstance;
+ }
+
+ private void initUI() {
+ this.addWindowListener(new WindowAdapter() {
+
+ @Override
+ public void windowClosing(WindowEvent e) {
+ if (imgComp != null) {
+ if (imgComp.getFile() != null) {
+ // TODO
+ //imgComp.getFile().delete();
+ }
+ }
+ System.exit(0);
+ }
+ });
+ Container cont = this.getContentPane();
+ ButtonListener bl = new ButtonListener();
+ CellConstraints cc = new CellConstraints();
+ setLayout(new BorderLayout());
+ taskPanel = new JPanel();
+ String colSpec = "5dlu,p,5dlu,200dlu,5dlu,p,5dlu";
+ String rowSpec = "5dlu,p,5dlu,p,5dlu";
+ taskPanel.setLayout(new FormLayout(colSpec, rowSpec));
+ int row = 2;
+ JLabel urlLabel = new JLabel("URL:");
+ taskPanel.add(urlLabel, cc.xy(2, row));
+ urlTxf = new JTextField("");
+ taskPanel.add(urlTxf, cc.xy(4, row));
+ loadBtn = new JButton("Analyze");
+ loadBtn.setActionCommand("LOADURL");
+ loadBtn.addActionListener(bl);
+ urlTxf.addKeyListener(bl);
+ taskPanel.add(loadBtn, cc.xy(6, row));
+ imgComp = new ImageComponent();
+ imgScroll = new JScrollPane(imgComp);
+ imgScroll.setPreferredSize(new Dimension(200, 200));
+
+ JProgressBar progressBar = new JProgressBar();
+ progressBar.setIndeterminate(true);
+ progressPanel = new JPanel();
+ progressPanel.setVisible(false);
+ progressBar.setPreferredSize(new Dimension (500,25));
+
+ imgScroll.setForeground(Color.white);
+
+ progressBar.setBackground(Color.black);
+ progressBar.setForeground(Color.red);
+
+
+ progressPanel.add(progressBar);
+
+
+ cont.add(progressPanel, BorderLayout.SOUTH);
+ cont.add(taskPanel, BorderLayout.NORTH);
+ cont.add(imgScroll, BorderLayout.CENTER);
+ }
+
+ public void endProgressBar ()
+ {
+ progressPanel.setVisible(false);
+ }
+
+ private void onLoad() {
+ String url = urlTxf.getText();
+
+ if (!url.startsWith("http://"))
+ url = "http://" + url;
+
+ ItemGenerator ig = new ItemGenerator(url, progressPanel);
+
+ progressPanel.setVisible(true);
+
+ ig.execute();
+ }
+
+ public void setImage(File img) {
+ if (!img.canRead()) {
+ logger.log(Level.SEVERE,"Cannot read File");
+ return;
+ }
+ if (imgComp.getFile() != null) {
+ //TODO
+ //imgComp.getFile().delete();
+ }
+ imgComp.setImage(img);
+ imgScroll.revalidate();
+ progressPanel.setVisible(false);
+ }
+
+ public File getImageFile() {
+ return imgComp.getFile();
+ }
+
+ public class ButtonListener implements ActionListener, KeyListener {
+
+ public void actionPerformed(ActionEvent e) {
+ String cmd = e.getActionCommand();
+ if (cmd.equals("LOADURL")) {
+ onLoad();
+ }
+ }
+
+ public void keyTyped(KeyEvent e) {
+ }
+
+ public void keyPressed(KeyEvent e) {
+ int key = e.getKeyCode();
+ if (key == KeyEvent.VK_ENTER) {
+ onLoad();
+ }
+ }
+
+ public void keyReleased(KeyEvent e) {
+ }
+ }
+
+
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/DOTGenerator.java b/Master/Agile Software Development/TestApp/src/testapp/DOTGenerator.java
new file mode 100644
index 0000000..679c339
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/DOTGenerator.java
@@ -0,0 +1,54 @@
+/*
+ * Class to write the .dot file
+ */
+
+package testapp;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.concurrent.ExecutionException;
+import javax.swing.SwingWorker;
+import testapp.data.Item;
+import java.util.logging.*;
+/**
+ *
+ * @author sven
+ */
+public class DOTGenerator extends SwingWorker<File,Object>{
+ private Item startItem;
+
+ private static final Logger logger = Logger.getLogger(DOTGenerator.class.getName());
+
+ public DOTGenerator(Item startItem) {
+ this.startItem = startItem;
+ }
+
+ @Override
+ protected File doInBackground() throws Exception {
+ File tmpDotFile = null;
+ try {
+ tmpDotFile = File.createTempFile("tmp", ".gv");
+ FileWriter fw = new FileWriter(tmpDotFile);
+ logger.log(Level.INFO, "Path: "+tmpDotFile.getAbsolutePath());
+ fw.write(startItem.toDOT());
+ fw.close();
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ return tmpDotFile;
+ }
+
+ @Override
+ protected void done() {
+ try {
+ GraphGenerator gen = new GraphGenerator(get());
+ gen.execute();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ } catch (ExecutionException ee) {
+ ee.printStackTrace();
+ }
+ }
+
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/GraphGenerator.java b/Master/Agile Software Development/TestApp/src/testapp/GraphGenerator.java
new file mode 100644
index 0000000..06645d2
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/GraphGenerator.java
@@ -0,0 +1,81 @@
+/*
+ * Class to generate the graphic out of the .dot file
+ */
+package testapp;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.concurrent.ExecutionException;
+import javax.swing.SwingWorker;
+import java.util.logging.*;
+/**
+ *
+ * @author eisenhauer
+ */
+public class GraphGenerator extends SwingWorker<File,Object> {
+ int retVal=-1;
+ Process proc;
+ File dotFile = null;
+ public GraphGenerator(File dotFile) {
+ super();
+ this.dotFile = dotFile;
+ }
+
+ @Override
+ protected File doInBackground() throws Exception {
+ return getImageFileForGraph();
+ }
+
+ @Override
+ protected void done() {
+ try {
+ if (retVal == 0) {
+ AppFrame af = AppFrame.getInstance();
+ if (af != null) {
+ af.setImage(get());
+ //TODO
+ //dotFile.delete();
+ }
+ }
+ return;
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ } catch (ExecutionException ee) {
+ ee.printStackTrace();
+ }
+ }
+
+ //Convert the .dot file to a .png grafic
+ public File getImageFileForGraph(File dotFile) {
+ File tmpFile = null;
+ if (!dotFile.canRead()) {
+ return null;
+ }
+ try {
+ tmpFile = File.createTempFile("tmp", ".png");
+ File dotPath = new File(App.getInstance().getAppPath() + "/lib/graphviz/bin/");
+ File dotExe = new File(dotPath.toString()+"/dot.exe");
+ String dotArgType = "-Tpng";
+ String dotArgOutfile = "-o"+tmpFile.toString();
+ String dotArgInfile = dotFile.toString();
+ String graphvizCmd = dotExe.toString();
+ String[] cmd = new String[]
+ {graphvizCmd,dotArgType,dotArgOutfile,dotArgInfile};
+ ProcessBuilder procBuilder = new ProcessBuilder(cmd);
+ procBuilder.redirectErrorStream(true);
+ proc = procBuilder.start();
+ try {
+ retVal = proc.waitFor();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ }
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ return tmpFile;
+ }
+ public File getImageFileForGraph() {
+ //File dotFile = new File(System.getProperty("user.dir")+"/dist/resource/test.dot");
+ return getImageFileForGraph(dotFile);
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/ImageComponent.java b/Master/Agile Software Development/TestApp/src/testapp/ImageComponent.java
new file mode 100644
index 0000000..359bf10
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/ImageComponent.java
@@ -0,0 +1,46 @@
+/*
+ * Class for image drawing.
+ */
+package testapp;
+
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import javax.imageio.ImageIO;
+import javax.swing.JComponent;
+import java.util.logging.*;
+
+/**
+ *
+ * @author eisenhauer
+ */
+public class ImageComponent extends JComponent {
+
+ private BufferedImage image;
+ private File file;
+
+ public void setImage(File file) {
+ this.file = file;
+ try {
+ if ((image = ImageIO.read(this.file)) != null) {
+ setPreferredSize(new Dimension(image.getWidth(), image.getHeight()));
+ repaint();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void paintComponent(Graphics g) {
+ if (image != null) {
+ g.drawImage(image, 0, 0, this);
+ }
+ }
+
+ public File getFile() {
+ return file;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/ItemGenerator.java b/Master/Agile Software Development/TestApp/src/testapp/ItemGenerator.java
new file mode 100644
index 0000000..9a8855f
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/ItemGenerator.java
@@ -0,0 +1,92 @@
+/*
+ * Class to use the html parser and generate items.
+ */
+
+package testapp;
+
+import Parser.HtmlParser;
+import Parser.UrlAnalyzer;
+import java.util.concurrent.ExecutionException;
+import javax.swing.SwingWorker;
+import testapp.data.IframeItem;
+import testapp.data.ImageItem;
+import testapp.data.Item;
+import testapp.data.ItemClassification;
+import testapp.data.PageItem;
+import java.util.logging.*;
+import javax.swing.JPanel;
+/**
+ *
+ * @author sven
+ */
+public class ItemGenerator extends SwingWorker<Item,Object> {
+ private static final Logger logger = Logger.getLogger(ItemGenerator.class.getName());
+
+ private String url;
+ private JPanel progressBar;
+
+ public ItemGenerator(String url, JPanel ProgressBar) {
+ this.url = url;
+ this.progressBar = ProgressBar;
+ }
+
+ @Override
+ protected Item doInBackground() throws Exception {
+ // Call Parser for URL
+ PageItem pi =null;
+ if(UrlAnalyzer.validateURL(url))
+ {
+ progressBar.setVisible(true);
+ String rest = UrlAnalyzer.stripProtocol(url);
+ if (!rest.contains(UrlAnalyzer.PATH_SEPARATOR)) {
+ url += "/";
+ }
+ pi = new PageItem(url,null);
+ HtmlParser htmlParser=new HtmlParser();
+ htmlParser.parse(pi);
+
+ /*
+ PageItem pi = new PageItem(url);
+ pi.setClassification(ItemClassification.SUSPICIOUS);
+ pi.add(new ImageItem(url+"image1").setClassification(ItemClassification.HARMLESS));
+ pi.add(new ImageItem(url+"image2").setClassification(ItemClassification.CRITICAL));
+ pi.add(new IframeItem(url+"if1")
+ .add(new ImageItem(url+"if1img1").setClassification(ItemClassification.SUSPICIOUS))
+ .add(new ImageItem(url+"if1img2").setClassification(ItemClassification.SUSPICIOUS))
+ );
+ pi.add(new IframeItem("NEWIFRAME").setClassification(ItemClassification.UNKNOWN));
+ */
+ //
+ // start analyse here!!!
+ //
+ //pi.analyse();
+ }
+ else
+ {
+ //throw new Exception("Wrong URL format.");
+ }
+ return pi;
+ }
+
+ @Override
+ protected void done() {
+ try {
+ Item rootItem = get();
+ rootItem.urlToValidUrl(true);
+ ItemClassification ic = rootItem.analyse();
+ DOTGenerator dotGenerator = new DOTGenerator(rootItem);
+ dotGenerator.execute();
+ } catch (InterruptedException ie) {
+ ie.printStackTrace();
+ } catch (ExecutionException ee) {
+ ee.printStackTrace();
+ } catch (Exception ex)
+ {
+ logger.log(Level.SEVERE, ex.toString());
+ }
+ finally
+ {
+ progressBar.setVisible(false);
+ }
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/Locate.java b/Master/Agile Software Development/TestApp/src/testapp/Locate.java
new file mode 100644
index 0000000..49f96a9
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/Locate.java
@@ -0,0 +1,90 @@
+/*
+ *
+ */
+
+package testapp;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.logging.*;
+
+/**@author McDowell*/
+public class Locate {
+
+ /**
+ * Returns the URL of a given class.
+ * @param c a non-null class
+ * @return the URL for that class
+ */
+ public static URL getUrlOfClass(Class c) {
+ if(c==null) {
+ throw new NullPointerException();
+ }
+ String className = c.getName();
+ String resourceName = className.replace('.', '/') + ".class";
+ ClassLoader classLoader = c.getClassLoader();
+ if(classLoader==null) {
+ classLoader = ClassLoader.getSystemClassLoader();
+ }
+ URL url = classLoader.getResource(resourceName);
+ return url;
+ }
+
+ /**
+ * Finds the location of a given class file on the file system.
+ * Throws an IOException if the class cannot be found.
+ * <br>
+ * If the class is in an archive (JAR, ZIP), then the returned object
+ * will point to the archive file.
+ * <br>
+ * If the class is in a directory, the base directory will be returned
+ * with the package directory removed.
+ * <br>
+ * The <code>File.isDirectory()</code> method can be used to
+ * determine which is the case.
+ * <br>
+ * @param c a given class
+ * @return a File object
+ * @throws IOException
+ */
+ public static File getClassLocation(Class c) throws IOException, FileNotFoundException {
+ if(c==null) {
+ throw new NullPointerException();
+ }
+
+ String className = c.getName();
+ String resourceName = className.replace('.', '/') + ".class";
+ ClassLoader classLoader = c.getClassLoader();
+ if(classLoader==null) {
+ classLoader = ClassLoader.getSystemClassLoader();
+ }
+ URL url = classLoader.getResource(resourceName);
+
+ String szUrl = url.toString();
+ if(szUrl.startsWith("jar:file:")) {
+ try {
+ szUrl = szUrl.substring("jar:".length(), szUrl.lastIndexOf("!"));
+ URI uri = new URI(szUrl);
+ return new File(uri);
+ } catch(URISyntaxException e) {
+ throw new IOException(e.toString());
+ }
+ } else if(szUrl.startsWith("file:")) {
+ try {
+ szUrl = szUrl.substring(0, szUrl.length() - resourceName.length());
+ URI uri = new URI(szUrl);
+ return new File(uri);
+ } catch(URISyntaxException e) {
+ throw new IOException(e.toString());
+ }
+ }
+
+ throw new FileNotFoundException(szUrl);
+ }
+
+}
+
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ExternalCssItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/ExternalCssItem.java
new file mode 100644
index 0000000..9f8025a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ExternalCssItem.java
@@ -0,0 +1,58 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ */
+public class ExternalCssItem extends Item {
+ private Boolean suspiciousCode=false;
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public ExternalCssItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.EXTERNALCSS;
+ }
+
+// public ExternalCssItem(String url) {
+// super(url);
+// itemType = ItemType.EXTERNALCSS;
+// }
+
+ public void setSuspiciousCode() {
+ suspiciousCode=true;
+ }
+
+ public Boolean getSuspiciousCode() {
+ return suspiciousCode;
+ }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "septagon");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ return "Ext. CSS: "+this.url;
+ }
+
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ExternalJavascriptItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/ExternalJavascriptItem.java
new file mode 100644
index 0000000..9c23f88
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ExternalJavascriptItem.java
@@ -0,0 +1,56 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+/**
+ *
+ * @author sven
+ */
+public class ExternalJavascriptItem extends Item {
+
+ private Boolean suspiciousCode = false;
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public ExternalJavascriptItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.EXTERNALJAVASCRIPT;
+ }
+
+// public ExternalJavascriptItem(String url) {
+// super(url);
+// itemType = ItemType.EXTERNALJAVASCRIPT;
+// }
+
+ public void setSuspiciousCode() {
+ suspiciousCode = true;
+ }
+
+ public Boolean getSuspiciousCode() {
+ return suspiciousCode;
+ }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String, String>();
+ }
+ attributes.put("shape", "ellipse");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ return "Ext. SCRIPT: " + this.url;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/FrameItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/FrameItem.java
new file mode 100644
index 0000000..84c982d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/FrameItem.java
@@ -0,0 +1,51 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+/**
+ *
+ * @author sven
+ */
+public class FrameItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public FrameItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.FRAME;
+ }
+
+// public FrameItem(String url) {
+// super(url);
+// itemType = ItemType.FRAME;
+// }
+
+ @Override
+
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "doubleoctagon");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ if (this.filename.compareTo("")!=0)
+ return this.filename;
+ else
+ return this.getUrl();
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/GraphConstants.java b/Master/Agile Software Development/TestApp/src/testapp/data/GraphConstants.java
new file mode 100644
index 0000000..6edf288
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/GraphConstants.java
@@ -0,0 +1,44 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+/**
+ *
+ * @author sven
+ */
+public class GraphConstants {
+ public static String getDOTStart() {
+// return "digraph G {\r\n\tgraph [rankdir = \"LR\"];\r\n";
+ return "digraph G {\r\n\tgraph[rankdir = \"LR\"];\r\n";
+ }
+ public static String getDOTEnd() {
+ return "\r\n}";
+ }
+ public final static String getDotLegend() {
+ StringBuilder res = new StringBuilder("\t/* Legend */\r\n");
+
+ res.append("\tsubgraph cluster_1 { \r\n");
+ res.append("\t\tfontname=Verdana;\r\n");
+ res.append("\t\tlabel = \"Legende\";\r\n");
+ res.append("\t\tcolor=lightgrey;\r\n");
+ res.append("\t\tstyle=filled;\r\n");
+ res.append("\t\tHOME [style=filled,fontname=verdana,fontsize=10,color=white,shape=house,rank=0];\r\n");
+ res.append("\t\tLink [style=filled,fontname=verdana,fontsize=10,color=white,shape=box,rank=0];\r\n");
+ res.append("\t\tImage [style=filled,fontname=verdana,fontsize=10,color=white,shape=octagon,rank=0];\r\n");
+ res.append("\t\tScript [style=filled,fontname=verdana,fontsize=10,color=white,shape=ellipse,rank=0];\r\n");
+ res.append("\t\tCSS [style=filled,fontname=verdana,fontsize=10,color=white,shape=septagon,rank=0];\r\n");
+ res.append("\t\tIframe [style=filled,fontname=verdana,fontsize=10,color=white,shape=doubleoctagon,rank=0];\r\n");
+
+ res.append("\t\tSuspicious [style=filled,fontname=verdana,fontsize=10,color=orange,shape=ellipse,rank=1];\r\n");
+ res.append("\t\tCritical [style=filled,fontname=verdana,fontsize=10,color=red2,shape=ellipse,rank=1];\r\n");
+ res.append("\t\tUnknown [style=filled,fontname=verdana,fontsize=10,color=slateblue1,shape=ellipse,rank=1];\r\n");
+ res.append("\t}\r\n");
+
+ return res.toString();
+ }
+ public static final String getEmptyMessage() {
+ return "\"Keine kritischen Elemente gefunden\" [style=filled,color=limegreen];\r\n";
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/IframeItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/IframeItem.java
new file mode 100644
index 0000000..5a6537b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/IframeItem.java
@@ -0,0 +1,51 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+import java.util.logging.*;
+import java.util.HashMap;
+
+/**
+ *
+ * @author sven
+ */
+public class IframeItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public IframeItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.IFRAME;
+ attributes = getAttributes();
+ }
+
+// public IframeItem(String url) {
+// super(url);
+// itemType = ItemType.IFRAME;
+// attributes = getAttributes();
+// }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "doubleoctagon");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+ @Override
+ protected String getGraphNodetext() {
+ if (this.filename.compareTo("")!=0)
+ return this.filename;
+ else
+ return this.getUrl();
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ImageItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/ImageItem.java
new file mode 100644
index 0000000..0014b81
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ImageItem.java
@@ -0,0 +1,102 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+import java.awt.Image;
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.logging.*;
+import javax.imageio.ImageIO;
+
+
+
+/**
+ *
+ * @author sven
+ */
+public class ImageItem extends Item{
+
+ private static final Logger logger = Logger.getLogger(ImageItem.class.getName());
+
+ public ImageItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.IMAGE;
+ }
+
+// public ImageItem(String url) {
+// super(url);
+// itemType = ItemType.IMAGE;
+// }
+
+ @Override
+ public ItemClassification analyse() {
+
+ // if (!url.startsWith("http://") && !url.startsWith("https://") && !url.startsWith("ftp://"))
+ // url="http://"+url;
+ doAnalyse();
+
+ try {
+
+ // Bild auf Größe abfragen, wenn kleiner als 5x5 Pixel --> Critical
+ // Wenn größer und von fremden Server --> Suspicous
+ // Wenn lokal, dann ist auch die Größe egal --> Harmless
+ logger.log(Level.INFO, this.url.toString());
+ URL imgUrl = new URL(this.url);
+ logger.log(Level.INFO, imgUrl.toString());
+ Image image=null;
+ try {
+ image = ImageIO.read(imgUrl);
+ } catch(Exception exception) {
+ logger.log(Level.WARNING, "Couldn't verify image "+imgUrl);
+ setClassification(ItemClassification.SUSPICIOUS);
+ }
+
+ //System.out.println("Höhe "+image.getHeight(null)+" Breite "+image.getWidth(null));
+ if (image != null) {
+ if ( (image.getHeight(null) <= 5) && (image.getWidth(null) <= 5) && (itemPlace != ItemPlace.LOCAL) ) {
+ setClassification(ItemClassification.CRITICAL);
+ }
+ else if (itemPlace == ItemPlace.REMOTE)
+ {
+ setClassification(ItemClassification.SUSPICIOUS);
+ }
+ else if (itemPlace == ItemPlace.LOCAL)
+ {
+ setClassification(ItemClassification.HARMLESS);
+ }
+ } else {
+ setClassification(ItemClassification.UNKNOWN);
+ }
+ } catch (IOException ex) {
+ logger.log(Level.SEVERE, ex.toString());
+ }
+
+ logger.log(Level.INFO, "Place: " + this.itemPlace);
+ return itemClassification;
+ }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "octagon");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ if (this.filename.compareTo("")!=0)
+ return this.filename;
+ else
+ return this.getUrl();
+ }
+
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/Item.java b/Master/Agile Software Development/TestApp/src/testapp/data/Item.java
new file mode 100644
index 0000000..08f17a6
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/Item.java
@@ -0,0 +1,413 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package testapp.data;
+
+import Parser.UrlAnalyzer;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ * Abstract which all Items implement
+ * This is the Component of the composite pattern
+ */
+public abstract class Item {
+
+ private static final Logger logger = Logger.getLogger(ImageItem.class.getName());
+ protected List<Item> childItems = new ArrayList<Item>();
+ protected String url;
+ protected String protocol;
+ protected String hostname;
+ protected String path;
+ protected String filename;
+ protected String labelExtension;
+ protected HashMap<String, String> httpParams;
+ protected String urlAnchor;
+ protected Item parent;
+ protected ItemType itemType;
+ protected ItemClassification itemClassification;
+ protected HashMap<String, String> attributes = new HashMap();
+ protected ItemPlace itemPlace;
+
+// public Item(String url) {
+// this.url = url;
+// this.itemClassification = ItemClassification.NEW;
+// }
+ public Item(String url, Item parent) {
+ this.parent = parent;
+ this.url = url;
+ this.itemClassification = ItemClassification.NEW;
+ urlToValidUrl(false);
+ }
+
+ /**
+ * method to let Item analyse itself
+ * and let all it's children analyse themselfs
+ *
+ * MUST call doAnalyse as return
+ *
+ */
+ public abstract ItemClassification analyse();
+
+ public final ItemClassification doAnalyse() {
+ checkPlace();
+ if (!itemType.equals(ItemType.LINK)) {
+ if (itemPlace == ItemPlace.REMOTE) {
+ setClassification(ItemClassification.CRITICAL);
+ } else if (itemPlace == ItemPlace.LOCAL) {
+ setClassification(ItemClassification.HARMLESS);
+ }
+ }
+ ItemClassification childClassification = ItemClassification.UNKNOWN;
+ ItemClassification ownClassification = itemClassification;
+ for (Item child : childItems) {
+ childClassification = child.analyse();
+ if ((ownClassification.compareTo(childClassification) < 0)) {
+ ownClassification = childClassification;
+ }
+ }
+
+ setClassification(ownClassification);
+ return ownClassification;
+
+ }
+
+ /**
+ * get DOT Graph representation of this Item and all
+ * of its children
+ * @return DOT String representation
+ * see DOT documentation for syntax
+ */
+ public final String toDOT() {
+ StringBuilder sb = new StringBuilder();
+ if (isRoot()) {
+ sb.append(GraphConstants.getDOTStart());
+ if (!hasDrawable()) {
+ sb.append(GraphConstants.getEmptyMessage());
+ } else {
+ sb.append(GraphConstants.getDotLegend());
+ }
+ sb.append("\r\n\t/*Node definitions*/\r\n");
+ sb.append(getAsDotNode());
+ sb.append("\r\n\t/*Tree definition*/\r\n");
+ }
+
+ if (isLeaf()) {
+ sb.append("\"" + getGraphNodetext() + "\";\r\n");
+ } else {
+ if (isDrawable()) {
+ sb.append(getChildrenAsDOT());
+ }
+ }
+ if (isRoot()) {
+ sb.append(GraphConstants.getDOTEnd());
+ }
+ return sb.toString();
+ }
+
+ /**
+ * is this Item a Leaf of the tree?
+ * @return true if it has no children,
+ * false if it has children
+ */
+ public final boolean isLeaf() {
+ return (childItems.size() > 0) ? false : true;
+ }
+
+ /**
+ * is this Item the root of the tree?
+ * @return true if it has no parent Item
+ * false if it has a parent Item
+ */
+ protected final boolean isRoot() {
+ return (parent == null) ? true : false;
+ }
+
+ /**
+ * Add a child Item to this Item
+ * @param child
+ * @return the Item
+ */
+ public final Item add(Item child) {
+ child.setParent(this);
+ childItems.add(child);
+ return this;
+ }
+
+ /**
+ * set the parent Item of this Item
+ * @param parent
+ */
+ public final void setParent(Item parent) {
+ this.parent = parent;
+ }
+
+ /**
+ * ste the URL of this Item
+ * @param url
+ */
+ public final void setUrl(String url) {
+ this.url = url;
+ }
+
+ /**
+ * get the URL of this Item
+ */
+ public final String getUrl() {
+ return this.url;
+ }
+
+ protected final String getChildrenAsDOT() {
+ StringBuilder sb = new StringBuilder();
+ if (isDrawable()) {
+ for (Item child : childItems) {
+ if (child.isDrawable()) {
+ sb.append(isRoot() ? "\t" : "");
+ sb.append("\"" + getGraphNodetext() + "\"");
+ sb.append(" -> ");
+ sb.append(child.toDOT());
+ }
+ }
+ }
+ return sb.toString();
+ }
+
+ protected abstract String getGraphNodetext();
+
+ public final boolean isDrawable() {
+ if (itemClassification.compareTo(ItemClassification.HARMLESS) > 0) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @return String: DOT Node reprensetation plus addiditonal attributes
+ */
+ protected final String getAsDotNode() {
+ if (!isDrawable()) {
+ return "";
+ }
+ StringBuilder sb = new StringBuilder();
+ sb.append("\t\"");
+ sb.append(getGraphNodetext());
+ sb.append("\" [");
+ int i = 0;
+ for (String keyStr : attributes.keySet()) {
+ if (i > 0) {
+ sb.append(",");
+ }
+ sb.append(keyStr + "=" + attributes.get(keyStr));
+ i++;
+ }
+
+ labelExtension = "<<table border=\"0\" cellborder=\"0\" cellpadding=\"3\" bgcolor=\"white\"><tr>test</tr></table>>";
+
+ if (this.labelExtension.compareTo("") != 0) {
+ // sb.append(",label="+this.labelExtension);
+ }
+
+ logger.log(Level.INFO, labelExtension);
+
+ sb.append("];\r\n");
+ for (Item item : childItems) {
+ sb.append(item.getAsDotNode());
+ }
+ return sb.toString();
+ }
+
+ protected abstract HashMap<String, String> getAttributes();
+
+ private boolean hasDrawable() {
+ boolean res = isDrawable();
+ if (!res) {
+ for (Item child : childItems) {
+ res = child.hasDrawable();
+ if (res) {
+ return res;
+ }
+ }
+ }
+ return res;
+ }
+
+ private final void setAttribute(String key, String value) {
+ getAttributes().put(key, value);
+ }
+
+ private final void setColor() {
+ switch (itemClassification) {
+ case CRITICAL:
+ setAttribute("color", "red2");
+ break;
+ case HARMLESS:
+ setAttribute("color", "limegreen");
+ break;
+ case SUSPICIOUS:
+ setAttribute("color", "orange");
+ break;
+ case UNKNOWN:
+ setAttribute("color", "slateblue1");
+ break;
+ case NEW:
+ setAttribute("color", "ivory3");
+ break;
+ }
+ }
+
+ /**
+ * check and validate the URL of this item and and its children
+ * CAUTION run after parsing completed, otherwise we can not be sure to
+ * have a valid parent item. This is important if we only have a relative url
+ */
+ public final void urlToValidUrl(boolean recursive) {
+ /*if (!url.startsWith("http://") && !url.startsWith("https://") && !url.startsWith("ftp://"))
+ url="http://"+url;
+
+ return url;*/
+ if (this.url == null) {
+ this.url = this.parent.getFullUrl();
+// return;
+ }
+ if (isRoot()) {
+ if (!this.url.contains(UrlAnalyzer.PROTOCOL_SEPARATOR)) {
+ this.url = UrlAnalyzer.PROTOCOL_HTTP + UrlAnalyzer.PROTOCOL_SEPARATOR + this.url;
+ }
+ }
+ this.protocol = UrlAnalyzer.getProtocol(this.url);
+ if (this.protocol.equals(UrlAnalyzer.NO_PROTOCOL)) {
+ this.protocol = this.parent.getProtocol();
+ }
+ this.hostname = UrlAnalyzer.getHostname(url);
+ if (this.hostname.equals(UrlAnalyzer.NO_HOST)) {
+ this.hostname = this.parent.hostname;
+ }
+ this.path = UrlAnalyzer.getPath(url);
+ if (this.path.equals(UrlAnalyzer.NO_VALID_PATH)) {
+ this.path = this.parent.path;
+ } else if (this.path != null && this.parent != null && !this.path.startsWith(String.valueOf(UrlAnalyzer.PATH_SEPARATOR))) {
+ this.path = this.parent.path + this.path;
+ }
+ this.filename = UrlAnalyzer.getFilename(this.url);
+ if (this.filename.equals(UrlAnalyzer.NO_VALID_FILE)) {
+ this.filename = this.parent.filename;
+ }
+
+
+ if (UrlAnalyzer.hasParams(this.url)) {
+ this.httpParams = UrlAnalyzer.getParams(this.url);
+ }
+ if (UrlAnalyzer.hasAnchor(this.url)) {
+ this.urlAnchor = UrlAnalyzer.getAnchor(this.url);
+ }
+
+ this.url = getFullUrl();
+ //System.out.println("Full Url: " + this.url);
+ if (recursive) {
+ for (Item child : childItems) {
+ child.urlToValidUrl(recursive);
+ }
+ }
+ }
+
+ public final String getProtocol() {
+ if (this.protocol == null) {
+ urlToValidUrl(false);
+ this.protocol = this.parent.getProtocol();
+ }
+ return this.protocol;
+ }
+
+ public Item setClassification(ItemClassification it) {
+ itemClassification = it;
+ setColor();
+ return this;
+ }
+
+ protected Item getRoot() {
+ // Festellen, ob von eigener Seite
+
+ Item parentIt = this.parent;
+ Item root = null;
+
+ if (parentIt != null) {
+ while (parentIt.parent != null) {
+ parentIt = parentIt.parent;
+ }
+ root = parentIt;
+ } else {
+ return this;
+ }
+
+ return root;
+ }
+
+ /*protected String getHostname ()
+ {
+
+ try {
+
+ String host = (new URL(url)).getHost();
+ return host;
+
+ } catch (MalformedURLException ex) {
+ Logger.getLogger(ImageItem.class.getName()).log(Level.SEVERE, null, ex);
+ return null;
+ }
+
+
+ }*/
+ protected final void checkPlace() {
+ if (this.hostname != null) {
+ //System.out.println("Root: " + this.getRoot().getHostname() + " this: " + this.getHostname());
+ //System.out.println("Root: " + this.getRoot().hostname + " this: " + this.hostname);
+ if (!this.hostname.equals(this.getRoot().hostname)) {
+ this.itemPlace = ItemPlace.REMOTE;
+ } else {
+ this.itemPlace = ItemPlace.LOCAL;
+ }
+ } else {
+ this.itemPlace = ItemPlace.LOCAL;
+ }
+ }
+
+ public final String getFullUrl() {
+// if (this.protocol == null) {
+// urlToValidUrl();
+// }
+ String res = protocol + UrlAnalyzer.PROTOCOL_SEPARATOR + hostname + path + filename;
+ res += (urlAnchor != null) ? UrlAnalyzer.ANCHOR + urlAnchor : "";
+ res += httpParamsToString();
+ return res;
+ }
+
+ public final String getFullpath() {
+ return protocol + UrlAnalyzer.PROTOCOL_SEPARATOR + hostname + path;
+ }
+
+ private final String httpParamsToString() {
+ String res = "";
+ if (this.httpParams != null) {
+ res += UrlAnalyzer.PARAMS_INDICATOR;
+ int n = 0;
+ for (String paramName : httpParams.keySet()) {
+ if (n > 0) {
+ res += UrlAnalyzer.PARAMS_SEPARATOR;
+ }
+ res += paramName;
+ String paramValue = httpParams.get(paramName);
+ if (paramValue != null) {
+ res += UrlAnalyzer.PARAMS_ASSIGN + paramValue;
+ }
+ n++;
+ }
+ }
+ return res;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ItemClassification.java b/Master/Agile Software Development/TestApp/src/testapp/data/ItemClassification.java
new file mode 100644
index 0000000..217ac51
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ItemClassification.java
@@ -0,0 +1,14 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+/**
+ *
+ * @author sven
+ */
+public enum ItemClassification {
+ NEW,HARMLESS,UNKNOWN,SUSPICIOUS,CRITICAL;
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ItemPlace.java b/Master/Agile Software Development/TestApp/src/testapp/data/ItemPlace.java
new file mode 100644
index 0000000..78b762b
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ItemPlace.java
@@ -0,0 +1,14 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+/**
+ *
+ * @author widbstudi
+ */
+public enum ItemPlace {
+ UNKNOWN,LOCAL,REMOTE
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ItemType.java b/Master/Agile Software Development/TestApp/src/testapp/data/ItemType.java
new file mode 100644
index 0000000..d6901ad
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ItemType.java
@@ -0,0 +1,14 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+/**
+ *
+ * @author sven
+ */
+public enum ItemType {
+ IMAGE,IFRAME,FRAME,PAGE,LINK,STYLE,SCRIPT,EXTERNALJAVASCRIPT,EXTERNALCSS
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/LinkItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/LinkItem.java
new file mode 100644
index 0000000..600163d
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/LinkItem.java
@@ -0,0 +1,50 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ */
+public class LinkItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public LinkItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.LINK;
+ }
+// public LinkItem(String url) {
+// super(url);
+// itemType = ItemType.LINK;
+// }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "box");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+ @Override
+ protected String getGraphNodetext() {
+ //return this.filename;
+ if (this.filename.compareTo("")!=0)
+ return "link to: "+this.filename;
+ else
+ return "link to: "+this.getUrl();
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/PageItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/PageItem.java
new file mode 100644
index 0000000..071539a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/PageItem.java
@@ -0,0 +1,48 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ */
+public class PageItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public PageItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.PAGE;
+ attributes = getAttributes();
+ }
+
+// public PageItem(String url) {
+// super(url);
+// itemType = ItemType.PAGE;
+// attributes = getAttributes();
+// }
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String, String>();
+ }
+ attributes.put("shape", "house");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ return getFullUrl();
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/ScriptItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/ScriptItem.java
new file mode 100644
index 0000000..1764f3a
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/ScriptItem.java
@@ -0,0 +1,62 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package testapp.data;
+
+import java.util.HashMap;
+import java.util.logging.*;
+/**
+ *
+ * @author sven
+ */
+public class ScriptItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ setClassification(ItemClassification.HARMLESS);
+
+ checkPlace();
+ if (itemPlace == ItemPlace.REMOTE) {
+ setClassification(ItemClassification.CRITICAL);
+ } else if (itemPlace == ItemPlace.LOCAL) {
+ setClassification(ItemClassification.HARMLESS);
+ }
+/* TODO: Take Child classifcation
+ for (Item child : childItems) {
+ childClassification = child.analyse();
+ }
+ if ((itemClassification.compareTo(childClassification) > 0)) {
+ setClassification(childClassification);
+ }
+*/
+ return doAnalyse();
+ }
+
+ public ScriptItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.SCRIPT;
+ }
+
+// public ScriptItem(String url) {
+// super(url);
+// itemType = ItemType.SCRIPT;
+// }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String, String>();
+ }
+ attributes.put("shape", "ellipse");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+
+ @Override
+ protected String getGraphNodetext() {
+ return "SCRIPT: "+this.url;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/src/testapp/data/StyleItem.java b/Master/Agile Software Development/TestApp/src/testapp/data/StyleItem.java
new file mode 100644
index 0000000..4bb8ff3
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/src/testapp/data/StyleItem.java
@@ -0,0 +1,47 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp.data;
+import java.util.logging.*;
+import java.util.HashMap;
+
+/**
+ *
+ * @author sven
+ */
+public class StyleItem extends Item {
+
+ @Override
+ public ItemClassification analyse() {
+ return doAnalyse();
+ }
+
+ public StyleItem(String url, Item parent) {
+ super(url, parent);
+ itemType = ItemType.STYLE;
+ }
+
+// public StyleItem(String url) {
+// super(url);
+// itemType = ItemType.STYLE;
+// }
+
+ @Override
+ protected HashMap<String, String> getAttributes() {
+ if (attributes == null) {
+ attributes = new HashMap<String,String>();
+ }
+ attributes.put("shape", "septagon");
+ attributes.put("style", "filled");
+ attributes.put("fontname", "Verdana");
+ attributes.put("fontsize", "10");
+ return attributes;
+ }
+ @Override
+ protected String getGraphNodetext() {
+ //return this.filename;
+ return "CSS STYLE "+this.url;
+ }
+}
diff --git a/Master/Agile Software Development/TestApp/test/Parser/UrlAnalyzerTest.java b/Master/Agile Software Development/TestApp/test/Parser/UrlAnalyzerTest.java
new file mode 100644
index 0000000..3cd87b4
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/test/Parser/UrlAnalyzerTest.java
@@ -0,0 +1,91 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package Parser;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ */
+public class UrlAnalyzerTest {
+
+ private static final Logger logger = Logger.getLogger(UrlAnalyzerTest.class.getName());
+
+ public UrlAnalyzerTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getProtocol method, of class UrlAnalyzer.
+ */
+ @Test
+ public void testGetProtocol() {
+ logger.log(Level.INFO, "getProtocol");
+ String url = "http://somehost.som/dir/subdir/file.name";
+ String expResult = "http";
+ String result = UrlAnalyzer.getProtocol(url);
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of getHostname method, of class UrlAnalyzer.
+ */
+ @Test
+ public void testGetHostname() {
+ logger.log(Level.INFO, "getHostname");
+ String url = "http://somehost.som/dir/subdir/file.name";
+ String expResult = "somehost.som";
+ String result = UrlAnalyzer.getHostname(url);
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of getFilename method, of class UrlAnalyzer.
+ */
+ @Test
+ public void testGetFilename() {
+ logger.log(Level.INFO, "getFilename");
+ String url = "http://somehost.som/dir/subdir/file.name";
+ String expResult = "file.name";
+ String result = UrlAnalyzer.getFilename(url);
+ assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of getPath method, of class UrlAnalyzer.
+ */
+ @Test
+ public void testGetPath() {
+ logger.log(Level.INFO, "getPath");
+ String url = "http://somehost.som/dir/subdir/file.name";
+ String expResult = "/dir/subdir/";
+ String result = UrlAnalyzer.getPath(url);
+ assertEquals(expResult, result);
+ }
+
+} \ No newline at end of file
diff --git a/Master/Agile Software Development/TestApp/test/testapp/AppFrameTest.java b/Master/Agile Software Development/TestApp/test/testapp/AppFrameTest.java
new file mode 100644
index 0000000..95b4598
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/test/testapp/AppFrameTest.java
@@ -0,0 +1,50 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp;
+
+import javax.swing.JFrame;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+/**
+ *
+ * @author eisenhauer
+ */
+public class AppFrameTest {
+
+ JFrame af;
+ public AppFrameTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ af = new AppFrame("Test Frame");
+ }
+
+ @After
+ public void tearDown() {
+ af.dispose();
+ }
+
+ @Test
+ public void testAppFrame() {
+ System.out.println("App Frame");
+ af.pack();
+ af.setVisible(true);
+ assertNotNull(af);
+ }
+} \ No newline at end of file
diff --git a/Master/Agile Software Development/TestApp/test/testapp/AppTest.java b/Master/Agile Software Development/TestApp/test/testapp/AppTest.java
new file mode 100644
index 0000000..83ed15e
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/test/testapp/AppTest.java
@@ -0,0 +1,51 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp;
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+/**
+ *
+ * @author eisenhauer
+ */
+public class AppTest {
+
+
+ public AppTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of main method, of class App.
+ */
+ @Test
+ public void testMain() {
+ System.out.println("main");
+ String[] args = null;
+ assertNotNull(App.getInstance());
+ }
+
+} \ No newline at end of file
diff --git a/Master/Agile Software Development/TestApp/test/testapp/GraphGeneratorTest.java b/Master/Agile Software Development/TestApp/test/testapp/GraphGeneratorTest.java
new file mode 100644
index 0000000..18e4e02
--- /dev/null
+++ b/Master/Agile Software Development/TestApp/test/testapp/GraphGeneratorTest.java
@@ -0,0 +1,61 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package testapp;
+
+import java.awt.image.BufferedImage;
+import java.io.File;
+import javax.imageio.ImageIO;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import java.util.logging.*;
+
+/**
+ *
+ * @author sven
+ */
+public class GraphGeneratorTest {
+
+ public GraphGeneratorTest() {
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of doInBackground method, of class GraphGenerator.
+ */
+ @Test
+ public void testDoInBackground() throws Exception {
+ System.out.println("doInBackground");
+ File dotFile = new File(App.getInstance().getAppPath()+"/resource/test.dot");
+ GraphGenerator instance = new GraphGenerator(dotFile);
+ instance.execute();
+ while(!instance.isDone()) {
+ Thread.sleep(100);
+ }
+ File imgFile = instance.get();
+ assertNotNull(imgFile);
+ BufferedImage img = ImageIO.read(imgFile);
+ assertNotNull(img);
+ }
+} \ No newline at end of file